def render(cls, event): start_dt, end_dt = get_access_dates(get_last_request(event)) if start_dt.date() == end_dt.date(): return to_unicode(format_datetime(start_dt, format='d MMM YYY', locale='en_GB')) else: return "{} - {}".format(to_unicode(format_datetime(start_dt, format='d MMM YYY', locale='en_GB')), to_unicode(format_datetime(end_dt, format='d MMM YYY', locale='en_GB')))
def _registration_created(self, registration, management, **kwargs): if management: return regform = registration.registration_form personal_data_form = g.pop('personal_data_form', None) if not regform.cern_access_request or not regform.cern_access_request.is_active or not personal_data_form: return req = get_last_request(registration.event) if not req or not req.data['during_registration']: return required = req.data['during_registration_required'] if not required and not personal_data_form.request_cern_access.data: return license_plate = ( sanitize_license_plate(personal_data_form.license_plate.data) if personal_data_form.license_plate.data else None ) registration.cern_access_request = CERNAccessRequest(birth_date=personal_data_form.birth_date.data, nationality=personal_data_form.nationality.data, birth_place=personal_data_form.birth_place.data, license_plate=license_plate, request_state=CERNAccessRequestState.not_requested, reservation_code='')
def _get_personal_data_form(self, event, regform, management, registration=None, **kwargs): if management or registration is not None: return if regform.cern_access_request and regform.cern_access_request.is_active: req = get_last_request(event) if not req.data['during_registration']: return required = req.data['during_registration_required'] form_cls = AccessIdentityDataForm if required else RegistrationFormPersonalDataForm form = g.get('personal_data_form') if not form: form = form_cls() if req.data['during_registration_preselected'] and not required: form.request_cern_access.data = True start_dt, end_dt = get_access_dates(req) return render_plugin_template('regform_identity_data_section.html', event=event, form=form, start_dt=start_dt, end_dt=end_dt, registration=registration, required=required)
def render(cls, event): start_dt, end_dt = get_access_dates(get_last_request(event)) if start_dt.date() == end_dt.date(): return format_datetime(start_dt, format='d MMM YYY', locale='en_GB') else: return '{} - {}'.format(format_datetime(start_dt, format='d MMM YYY', locale='en_GB'), format_datetime(end_dt, format='d MMM YYY', locale='en_GB'))
def _registration_created(self, registration, management, **kwargs): if management: return regform = registration.registration_form personal_data_form = g.pop('personal_data_form', None) if not regform.cern_access_request or not regform.cern_access_request.is_active or not personal_data_form: return req = get_last_request(registration.event) mode = req.data.get('regform_data_mode') if mode not in (RegformDataMode.during_registration, RegformDataMode.during_registration_required): return required = req.data.get( 'regform_data_mode' ) == RegformDataMode.during_registration_required if not required and not personal_data_form.request_cern_access.data: return registration.cern_access_request = CERNAccessRequest( birth_date=personal_data_form.birth_date.data, nationality=personal_data_form.nationality.data, birth_place=personal_data_form.birth_place.data, request_state=CERNAccessRequestState.not_requested, reservation_code='')
def _get_personal_data_form(self, event, regform, management, registration=None, **kwargs): if management or registration is not None: return if regform.cern_access_request and regform.cern_access_request.is_active: req = get_last_request(event) mode = req.data.get('regform_data_mode') if mode not in (RegformDataMode.during_registration, RegformDataMode.during_registration_required): return required = mode == RegformDataMode.during_registration_required form_cls = AccessIdentityDataForm if required else RegistrationFormPersonalDataForm form = g.get('personal_data_form') or form_cls() start_dt, end_dt = get_access_dates(req) return render_plugin_template('regform_identity_data_section.html', event=event, form=form, start_dt=start_dt, end_dt=end_dt, registration=registration, required=required)
def render(cls, param, regform, registration): locale_data = { 'en': {'locale': 'en_GB', 'separator': 'to'}, 'fr': {'locale': 'fr_FR', 'separator': 'au'}, } start_dt, end_dt = get_access_dates(get_last_request(registration.event)) tpl = get_template_module('cern_access:_common.html') return Markup(tpl.render_access_dates(start_dt, end_dt, **locale_data[param]))
def _process(self): form = AccessIdentityDataForm() access_request = self.registration.cern_access_request if access_request is not None and not access_request.has_identity_info and form.validate_on_submit(): form.populate_obj(access_request) db.session.flush() send_ticket(self.registration) return redirect(url_for('.access_identity_data', self.registration.locator.uuid)) start_dt, end_dt = get_access_dates(get_last_request(self.event)) return WPAccessRequestDetails.render_template('identity_data_form.html', self.event, form=form, access_request=access_request, start_dt=start_dt, end_dt=end_dt)
def _registration_form_validated(self, form, **kwargs): if type(form).__name__ != 'RegistrationFormWTF': return if type(g.rh) is not RHRegistrationForm: return regform = g.rh.regform if not regform.cern_access_request or not regform.cern_access_request.is_active: return req = get_last_request(regform.event) if not req or not req.data['during_registration']: return required = req.data['during_registration_required'] form_cls = AccessIdentityDataForm if required else RegistrationFormPersonalDataForm # we pass 'csrf_enabled' on to allow unit tests to set it to False g.personal_data_form = form = form_cls(csrf_enabled=form.meta.csrf) if not form.validate_on_submit(): return False
def _registration_form_validated(self, form, **kwargs): if type(form).__name__ != 'RegistrationFormWTF': return if type(g.rh) is not RHRegistrationForm: return req = get_last_request(g.rh.regform.event) if not req: return mode = req.data.get('regform_data_mode') if mode not in (RegformDataMode.during_registration, RegformDataMode.during_registration_required): return required = req.data.get( 'regform_data_mode' ) == RegformDataMode.during_registration_required form_cls = AccessIdentityDataForm if required else RegistrationFormPersonalDataForm g.personal_data_form = form = form_cls() if not form.validate_on_submit(): return False
def _process_args(self): RHRegistrationFormRegistrationBase._process_args(self) self.cern_access_request = get_last_request(self.event) if not self.cern_access_request: raise NotFound
def _is_past_event(self, event): end_dt = get_access_dates(get_last_request(event))[1] return end_dt < now_utc()