def edit_html(self, mandatory_fields, REQUEST=None): """ edit base participant properties """ session = REQUEST.SESSION submit = REQUEST.form.get('submit', '') lang = self.gl_get_selected_language() if REQUEST.form.has_key('authenticate'): #The registration number and last name are saved on the session as submitted by the user if form_validation(mandatory_fields=constants.AUTH_MANDATORY_FIELDS, date_fields=constants.DATE_FIELDS, time_fields=constants.TIME_FIELDS, REQUEST=REQUEST): session.set('authentication_id', REQUEST.get('registration_id')) session.set('authentication_name', self.unicode2UTF8(REQUEST.get('authentication_name'))) if REQUEST.form.has_key('resend_mail'): #If the email corresponds with the one used at the registration, the confirmation mail will be resent email_recipients = [getattr(self, field) for field in constants.PART_EMAIL_RECIPIENTS] user_email = REQUEST.form.get('email', '') if user_email in email_recipients: conference_period = self.aq_parent.getPropertyValue('conference_period', lang) conference_place = self.aq_parent.getPropertyValue('conference_place', lang) values = {'registration_edit_link': self.absolute_url(), 'registration_event': self.aq_parent.title, 'conference_period': conference_period, 'conference_place': conference_place, 'website_team': self.site_title, 'registration_id': self.id, 'name': self.organisation_name} self.send_registration_notification(user_email, 'Event registration', self.getEmailTemplate('user_registration_html', lang) % values, self.getEmailTemplate('user_registration_text', lang) % values) REQUEST.set('email_sent', True) else: REQUEST.set('wrong_email', True) if submit: if form_validation(mandatory_fields=mandatory_fields, date_fields=constants.DATE_FIELDS, time_fields=constants.TIME_FIELDS, REQUEST=REQUEST): cleaned_data = REQUEST.form del cleaned_data['submit'] self.edit(**cleaned_data) #send notifications values = {'registration_edit_link': self.absolute_url(), 'registration_event': self.aq_parent.title, 'website_team': self.site_title, 'registration_id': self.id} self.send_registration_notification(self.administrative_email, 'Event registration', self.getEmailTemplate('admin_registration_html', 'en') % values, self.getEmailTemplate('admin_registration_text', 'en') % values) return REQUEST.RESPONSE.redirect(self.absolute_url()) return self._edit_html(REQUEST)
def registration_html(self, REQUEST): """ registration form """ submit = REQUEST.form.get('submit', '') if submit: form_valid = form_validation(constants.PART_MANDATORY_FIELDS, constants.DATE_FIELDS, constants.TIME_FIELDS, REQUEST) if form_valid: lang = self.gl_get_selected_language() registration_no = naaya_utils.genRandomId(10) cleaned_data = REQUEST.form del cleaned_data['submit'] ob = BaseParticipant(registration_no, **cleaned_data) self._setObject(registration_no, ob) participant = self._getOb(registration_no, None) if participant: #save the authentication token on session REQUEST.SESSION.set('authentication_id', registration_no) REQUEST.SESSION.set( 'authentication_name', self.unicode2UTF8(participant.last_name)) #send notifications values = { 'registration_edit_link': participant.absolute_url(), 'conference_title': self.unicode2UTF8(self.title), 'conference_details': self.unicode2UTF8(self.conference_details), 'website_team': self.unicode2UTF8(self.site_title), 'registration_number': registration_no, 'last_name': self.unicode2UTF8(participant.last_name) } self.send_registration_notification( participant.email, 'Event registration', self.getEmailTemplate('user_registration_html', lang) % values, self.getEmailTemplate('user_registration_text', lang) % values) self.send_registration_notification( self.administrative_email, 'Event registration', self.getEmailTemplate('admin_registration_html', 'en') % values, self.getEmailTemplate('admin_registration_text', 'en') % values) #redirect to profile page return REQUEST.RESPONSE.redirect( participant.absolute_url()) return self.registration_form(REQUEST)
def registration_html(self, REQUEST): """ registration form """ submit = REQUEST.form.get('submit', '') if submit: form_valid = form_validation(constants.PART_MANDATORY_FIELDS, constants.DATE_FIELDS, constants.TIME_FIELDS, REQUEST) if form_valid: lang = self.gl_get_selected_language() registration_no = naaya_utils.genRandomId(10) cleaned_data = REQUEST.form del cleaned_data['submit'] if not 'event_1' in cleaned_data: cleaned_data['event_1'] = '0' if not 'event_2' in cleaned_data: cleaned_data['event_2'] = '0' if not 'event_3' in cleaned_data: cleaned_data['event_3'] = '0' ob = CHMParticipant(registration_no, **cleaned_data) self._setObject(registration_no, ob) participant = self._getOb(registration_no, None) if participant: #save the authentication token on session REQUEST.SESSION.set('authentication_id', registration_no) REQUEST.SESSION.set('authentication_name', self.unicode2UTF8(participant.first_last_name)) #send notifications values = {'registration_edit_link': participant.absolute_url(), 'registration_event': self.unicode2UTF8(self.title), 'website_team': self.unicode2UTF8(self.site_title), 'registration_number': registration_no, 'name': self.unicode2UTF8(participant.first_last_name)} self.send_registration_notification(participant.email, 'Event registration', self.getEmailTemplate('user_registration_html', lang) % values, self.getEmailTemplate('user_registration_text', lang) % values) self.send_registration_notification(self.administrative_email, 'Event registration', self.getEmailTemplate('admin_registration_html', 'en') % values, self.getEmailTemplate('admin_registration_text', 'en') % values) #redirect to profile page return REQUEST.RESPONSE.redirect(participant.absolute_url()) return self.registration_form(REQUEST)
def registration_press_html(self, REQUEST): """ registration form """ submit = REQUEST.form.get('submit', '') if submit: form_valid = form_validation(constants.PRESS_MANDATORY_FIELDS, constants.DATE_FIELDS, constants.TIME_FIELDS, REQUEST) if form_valid: lang = self.gl_get_selected_language() registration_no = naaya_utils.genRandomId(10) cleaned_data = REQUEST.form del cleaned_data['submit'] ob = SemidePress(registration_no, **cleaned_data) self._setObject(registration_no, ob) press = self._getOb(registration_no, None) if press: #save the authentication token on session REQUEST.SESSION.set('authentication_id', registration_no) REQUEST.SESSION.set('authentication_name', self.unicode2UTF8(press.last_name)) #send notifications values = {'registration_edit_link': press.absolute_url(), 'conference_title': self.unicode2UTF8(self.title), 'conference_details': self.unicode2UTF8(self.conference_details), 'website_team': self.unicode2UTF8(self.site_title), 'registration_number': registration_no, 'last_name': self.unicode2UTF8(press.last_name)} self.send_registration_notification(press.email, 'Event registration', self.getEmailTemplate('user_registration_html', lang) % values, self.getEmailTemplate('user_registration_text', lang) % values) self.send_registration_notification(self.administrative_email, 'Event registration', self.getEmailTemplate('admin_registration_html', 'en') % values, self.getEmailTemplate('admin_registration_text', 'en') % values) return REQUEST.RESPONSE.redirect(press.absolute_url()) return self.registration_press_form(REQUEST)