Exemplo n.º 1
0
 def _process(self):
     grant_cern_access = request.form['flag'] == '1'
     if grant_cern_access:
         grant_access(self.registrations, self.regform)
     else:
         revoke_access(self.registrations)
     return jsonify_data(**self.list_generator.render_list())
Exemplo n.º 2
0
 def _process(self):
     all_have_data = all(r.cern_access_request and r.cern_access_request.has_identity_info
                         for r in self.registrations)
     some_have_data = any(r.cern_access_request and r.cern_access_request.has_identity_info
                          for r in self.registrations)
     tpl = get_template_module('cern_access:emails/identity_data_form_email_default.html', event=self.event,
                               regform=self.regform)
     default_subject = tpl.get_subject()
     default_body = tpl.get_html_body()
     registration_ids = request.form.getlist('registration_id')
     form = GrantAccessEmailForm(regform=self.regform, registration_id=registration_ids)
     if all_have_data:
         del form.subject
         del form.body
         del form.from_address
         del form.save_default
     if form.validate_on_submit():
         if not all_have_data and form.save_default.data:
             current_plugin.event_settings.set(self.event, 'email_subject', form.subject.data)
             current_plugin.event_settings.set(self.event, 'email_body', form.body.data)
         email_data = (form.subject.data, form.body.data, form.from_address.data) if not all_have_data else ()
         grant_access(self.registrations, self.regform, *email_data)
         return jsonify_data(**self.list_generator.render_list())
     elif not all_have_data and not form.is_submitted():
         form.subject.data = current_plugin.event_settings.get(self.event, 'email_subject') or default_subject
         form.body.data = current_plugin.event_settings.get(self.event, 'email_body') or default_body
     return jsonify_template('cern_access:grant_access.html', form=form, regform=self.regform,
                             default_subject=default_subject, default_body=default_body,
                             all_have_data=all_have_data, some_have_data=some_have_data)
Exemplo n.º 3
0
def test_registration_delete_active(dummy_regform, api_delete, api_post):
    """Delete an active registration, ADAMS should be contacted (DELETE)."""
    registration = dummy_regform.registrations[0]
    grant_access([registration], dummy_regform, email_body='body', email_subject='subject')
    assert api_post.call_count == 1

    registration.is_deleted = True
    signals.event.registration_deleted.send(registration)
    assert api_delete.call_count == 1
    assert api_post.call_count == 1
Exemplo n.º 4
0
def test_registration_modified_active(dummy_regform, api_delete, api_post):
    """Modify the name of the registrant, request active, ADAMS contacted (POST)."""
    registration = dummy_regform.registrations[0]
    grant_access([registration], dummy_regform, email_body='body', email_subject='subject')
    # grant_access will already contact ADAMS
    assert api_post.call_count == 1

    modify_registration(registration, {
        'first_name': 'Conan',
        'last_name': 'Osiris',
        'email': '*****@*****.**'
    })
    api_delete.call_count == 0
    assert api_post.call_count == 2
    api_post.assert_called_with(dummy_regform.event, [registration], update=True)