app/soc/views/models/request.py
changeset 928 df051fc9d7a1
parent 920 39badbfb80be
child 929 7431d7770197
equal deleted inserted replaced
927:f790f77ba6b7 928:df051fc9d7a1
    80 
    80 
    81     new_params['sidebar_defaults'] = [('/%s/list', 'List %(name_plural)s', 'list')]
    81     new_params['sidebar_defaults'] = [('/%s/list', 'List %(name_plural)s', 'list')]
    82 
    82 
    83     new_params['save_message'] = [ugettext_lazy('Request saved.')]
    83     new_params['save_message'] = [ugettext_lazy('Request saved.')]
    84     
    84     
    85     new_params['extra_dynaexclude'] = ['group_accepted', 'user_accepted', 
    85     new_params['extra_dynaexclude'] = ['state', 'role_verbose']
    86         'role_verbose', 'completed']
       
    87     
    86     
    88     # TODO(ljvderijk) add clean field that checks to see if the user already has
    87     # TODO(ljvderijk) add clean field that checks to see if the user already has
    89     # the role that's been entered in the create form fields
    88     # the role that's been entered in the create form fields
    90     new_params['create_extra_dynafields'] = {
    89     new_params['create_extra_dynafields'] = {
    91         'role' : forms.CharField(widget=widgets.ReadOnlyInput(),
    90         'role' : forms.CharField(widget=widgets.ReadOnlyInput(),
   131 
   130 
   132     # get the request entity using the information from kwargs
   131     # get the request entity using the information from kwargs
   133     fields = {'link_id' : kwargs['link_id'],
   132     fields = {'link_id' : kwargs['link_id'],
   134         'scope_path' : kwargs['scope_path'],
   133         'scope_path' : kwargs['scope_path'],
   135         'role' : kwargs['role'],
   134         'role' : kwargs['role'],
   136         'group_accepted' : True,
   135         'state' : 'group_accepted'}
   137         'user_accepted' : False,
       
   138         'completed' : False}
       
   139     request_entity = request_logic.getForFields(fields, unique=True)
   136     request_entity = request_logic.getForFields(fields, unique=True)
   140     
   137     
   141     get_dict = request.GET
   138     get_dict = request.GET
   142     
   139     
   143     if 'status' in get_dict.keys():
   140     if 'status' in get_dict.keys():
   144       if get_dict['status'] == 'rejected':
   141       if get_dict['status'] == 'rejected':
   145         # this invite has been rejected mark accepted as False and mark completed as True
   142         # this invite has been rejected mark as rejected
   146         request_logic.updateModelProperties(request_entity, {
   143         request_logic.updateModelProperties(request_entity, {
   147             'user_accepted' : False, 'completed' : True})
   144             'state' : 'rejected'})
   148         
   145         
   149         # redirect to user role overview
   146         # redirect to user role overview
   150         return http.HttpResponseRedirect('/user/roles')
   147         return http.HttpResponseRedirect('/user/roles')
   151 
   148 
   152     # put the entity in the context
   149     # put the entity in the context
   178 
   175 
   179     # construct the Unhandled Invites list
   176     # construct the Unhandled Invites list
   180 
   177 
   181     # only select the Invites for this user that haven't been handled yet
   178     # only select the Invites for this user that haven't been handled yet
   182     filter = {'link_id': user_entity.link_id,
   179     filter = {'link_id': user_entity.link_id,
   183               'group_accepted' : True,
   180               'state' : 'group_accepted'}
   184               'user_accepted' : False,
       
   185               'completed' : False}
       
   186 
   181 
   187     uh_params = params.copy()
   182     uh_params = params.copy()
   188     uh_params['list_action'] = (redirects.inviteProcessRedirect, None)
   183     uh_params['list_action'] = (redirects.inviteProcessRedirect, None)
   189     uh_params['list_description'] = ugettext_lazy(
   184     uh_params['list_description'] = ugettext_lazy(
   190         "An overview of your unhandled invites.")
   185         "An overview of your unhandled invites.")
   195     # construct the Open Requests list
   190     # construct the Open Requests list
   196 
   191 
   197     # only select the requests from the user
   192     # only select the requests from the user
   198     # that haven't been accepted by an admin yet
   193     # that haven't been accepted by an admin yet
   199     filter = {'link_id' : user_entity.link_id,
   194     filter = {'link_id' : user_entity.link_id,
   200               'group_accepted' : False,
   195               'state' : 'new'}
   201               'completed' : False}
       
   202 
   196 
   203     ar_params = params.copy()
   197     ar_params = params.copy()
   204     ar_params['list_description'] = ugettext_lazy(
   198     ar_params['list_description'] = ugettext_lazy(
   205         "List of your pending requests.")
   199         "List of your pending requests.")
   206 
   200 
   224     # fill in the fields via kwargs
   218     # fill in the fields via kwargs
   225     fields['link_id'] = kwargs['link_id']
   219     fields['link_id'] = kwargs['link_id']
   226     fields['scope_path'] = kwargs['scope_path']
   220     fields['scope_path'] = kwargs['scope_path']
   227     fields['role'] = kwargs['role']
   221     fields['role'] = kwargs['role']
   228     fields['role_verbose'] = 'Some Role'
   222     fields['role_verbose'] = 'Some Role'
   229     fields['group_accepted'] = True
   223     fields['state'] = 'group_accepted'
   230 
   224 
   231     super(View, self)._editPost(request, entity, fields)
   225     super(View, self)._editPost(request, entity, fields)
   232 
   226 
   233 
   227 
   234 view = View()
   228 view = View()