Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
    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)