Ignore:
Timestamp:
30 Nov 2011, 23:13:26 (13 years ago)
Author:
Henrik Bettermann
Message:

Rebuild applicants package (1st part). Applicants now have an applicant_id and a password and can use the regular login page to enter the portal.

Add user_type attribute to SIRPPrincipal objects.

Add some permissions in students package.

Some tests are still missing and will be re-added soon.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py

    r7234 r7240  
    150150    camefrom = None
    151151
    152     def isStudent(self):
    153         prm = get_principal_role_manager()
    154         roles = [x[0] for x in prm.getRolesForPrincipal(self.request.principal.id)]
    155         return 'waeup.Student' in roles
    156 
    157152    def update(self, SUBMIT=None, camefrom=None):
    158153        self.camefrom = camefrom
     
    160155            if self.request.principal.id != 'zope.anybody':
    161156                self.flash('You logged in.')
    162                 if self.isStudent():
     157                if self.request.principal.user_type == 'student':
    163158                    rel_link = '/students/%s' % self.request.principal.id
     159                    self.redirect(self.application_url() + rel_link)
     160                    return
     161                elif self.request.principal.user_type == 'applicant':
     162                    container, application_number = self.request.principal.id.split('_')
     163                    rel_link = '/applicants/%s/%s' % (
     164                        container, application_number)
    164165                    self.redirect(self.application_url() + rel_link)
    165166                    return
     
    222223            email_from = self.config.email_admin
    223224        username = self.request.principal.id
     225        usertype = getattr(self.request.principal,
     226                           'user_type', 'system').title()
    224227        body = data['body']
    225228        email_to = self.config.email_admin
    226229        subject = self.config.email_subject
    227         success = send_mail(fullname,username,self.config.name,
     230        success = send_mail(fullname,username,usertype,self.config.name,
    228231                  body,email_from,email_to,subject)
    229232        if success:
     
    248251        email_to = self.config.email_admin
    249252        subject = self.config.email_subject
    250         success = send_mail(fullname,username,self.config.name,
     253        usertype = u'Anonymous'
     254        success = send_mail(fullname,username,usertype,self.config.name,
    251255                  body,email_from,email_to,subject)
    252256        if success:
     
    467471            email_from = self.config.email_admin
    468472        username = self.request.principal.id
     473        usertype = getattr(self.request.principal,
     474                           'user_type', 'system').title()
    469475        body = data['body']
    470476        email_to = self.context.email
    471477        subject = self.config.email_subject
    472         success = send_mail(fullname,username,self.config.name,
     478        success = send_mail(fullname,username,usertype,self.config.name,
    473479                  body,email_from,email_to,subject)
    474480        if success:
Note: See TracChangeset for help on using the changeset viewer.