# HG changeset patch # User Lennard de Rijk # Date 1237557897 0 # Node ID 25cd704fdfdf1400b9da139ee1b415c3e2b75592 # Parent af360d1017dfcade658615719954ca866160b83f Fixed double sending of notifications on creating a new invite. Request logic now handles sending of the notification instead of the view. Patch by: Lennard de Rijk Reviewed by: to-be-reviewed diff -r af360d1017df -r 25cd704fdfdf app/soc/logic/models/request.py --- a/app/soc/logic/models/request.py Fri Mar 20 11:49:12 2009 +0000 +++ b/app/soc/logic/models/request.py Fri Mar 20 14:04:57 2009 +0000 @@ -58,7 +58,7 @@ """ return ['scope_path', 'role', 'link_id'] - + def _onCreate(self, entity): """Sends out a message notifying users about the new invite/request. """ @@ -73,5 +73,24 @@ super(Logic, self)._onCreate(entity) + def _updateField(self, entity, entity_properties, name): + """Called when the fields of the request are updated. + + - Sends out a message depending on the change of status + """ + + value = entity_properties[name] + + if name == 'status' and entity.status != value: + if value == 'group_accepted': + # this is an invite + notifications.sendInviteNotification(entity) + elif value == 'new': + # this is a request + # TODO(Lennard) Create a new request message + pass + + return super(Logic, self)._updateField(entity, entity_properties, name) + logic = Logic() diff -r af360d1017df -r 25cd704fdfdf app/soc/views/models/role.py --- a/app/soc/views/models/role.py Fri Mar 20 11:49:12 2009 +0000 +++ b/app/soc/views/models/role.py Fri Mar 20 14:04:57 2009 +0000 @@ -269,9 +269,6 @@ entity = request_logic.logic.updateOrCreateFromKeyName(request_fields, key_name) - # send out an invite notification - notifications_helper.sendInviteNotification(entity) - group_view = params.get('group_view') if not group_view: return http.HttpResponseRedirect('/') @@ -618,9 +615,6 @@ request_logic.logic.updateEntityProperties(request_entity, { 'status': get_dict['status']}) - if request_status == 'group_accepted': - notifications_helper.sendInviteNotification(request_entity) - group_view = params.get('group_view') if not group_view: return http.HttpResponseRedirect('/')