Projet

Général

Profil

0001-submission-handle-NameID-in-query-string-25305.patch

Thomas Noël, 19 juillet 2018 09:52

Télécharger (2,45 ko)

Voir les différences:

Subject: [PATCH] submission: handle NameID in query string (#25305)

 wcs/backoffice/submission.py | 9 +++++++++
 wcs/forms/root.py            | 8 ++++++++
 2 files changed, 17 insertions(+)
wcs/backoffice/submission.py
188 188
        if self.selected_submission_channel:
189 189
            filled.submission_channel = self.selected_submission_channel
190 190
        filled.submission_context['agent_id'] = get_request().user.id
191

  
192
        magictoken = get_request().form.get('magictoken')
193
        if magictoken:
194
            user_id = get_session().get_by_magictoken(magictoken, {}).get('future_formdata_user_id')
195
            if user_id:
196
                formdata.user_id = user_id
197

  
191 198
        filled.store()
192 199

  
193 200
        self.set_tracking_code(filled)
......
210 217
        if not formdata.submission_context:
211 218
            formdata.submission_context = {}
212 219
        formdata.submission_context['agent_id'] = get_request().user.id
220
        if data.get('future_formdata_user_id'):
221
            formdata.user_id = data['future_formdata_user_id']
213 222
        formdata.store()
214 223
        return formdata
215 224

  
wcs/forms/root.py
313 313
            cancelurl = get_request().form['cancelurl']
314 314
            session.add_magictoken(magictoken, {'__cancelurl': cancelurl})
315 315

  
316
        if (get_request().is_in_backoffice() and page == self.pages[0] and
317
                get_request().form.get('NameID')):
318
            name_id = get_request().form['NameID']
319
            if isinstance(name_id, basestring):
320
                users = list(get_publisher().user_class.get_users_with_name_identifier(name_id))
321
                if users:
322
                    session.add_magictoken(magictoken, {'future_formdata_user_id': users[0].id})
323

  
316 324
        if self.edit_mode and (page is None or page == self.pages[-1]):
317 325
            form.add_submit('submit', _('Save Changes'))
318 326
        elif not self.has_confirmation_page() and (page is None or page == self.pages[-1]):
319
-