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())
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)
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
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)