cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
message.py
Go to the documentation of this file.
1 # -*- coding: utf-8 -*-
2 # @COPYRIGHT_begin
3 #
4 # Copyright [2010-2014] Institute of Nuclear Physics PAN, Krakow, Poland
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 # http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # @COPYRIGHT_end
19 
20 ##
21 # @package src.clm.views.guest.message
22 # @alldecoratedby{src.clm.utils.decorators.guest_log}
23 #
24 
25 from clm.models.message import Message
26 from clm.models.user import User
27 from clm.utils.exception import CLMException
28 from clm.utils.decorators import guest_log
29 from clm.utils import mail
30 
31 
32 @guest_log(log=True)
33 ##
34 #
35 # Creates and saves new message.
36 #
37 # @clmview_guest
38 #
39 # @param_post{request}
40 #
41 def add(request):
42 
43  data = request.data
44 
45  # if message is about failing, call the admin
46  if data['code'] in ['farm_create', 'vm_create', 'vm_save', 'vm_destroy']:
47  # mail.send(settings.FROM_EMAIL, 'VM failed, do something!', 'VM failed')
48  for admin in User.objects.filter(is_superuser__gte=1):
49  mail.send(admin.email, 'VM failed, do something!', 'VM failed')
50 
51  m = Message.create(data)
52  try:
53  m.save()
54  except:
55  raise CLMException('message_add')
56