Ignore:
Timestamp:
15 Oct 2012, 09:56:35 (12 years ago)
Author:
Henrik Bettermann
Message:

Add views for temporarily login as student.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py

    r9332 r9338  
    298298        return
    299299
     300class LoginAsStudentStep1(KofaEditFormPage):
     301    """ View to temporarily set a student password.
     302    """
     303    grok.context(IStudent)
     304    grok.name('loginasstep1')
     305    grok.require('waeup.loginAsStudent')
     306    grok.template('loginasstep1')
     307    pnav = 4
     308
     309    def label(self):
     310        return _(u'Set temporary password for ${a}',
     311            mapping = {'a':self.context.display_fullname})
     312
     313    @action('Set password now', style='primary')
     314    def setPassword(self, *args, **data):
     315        kofa_utils = getUtility(IKofaUtils)
     316        password = kofa_utils.genPassword()
     317        self.context.setTempPassword(self.request.principal.id, password)
     318        self.context.writeLogMessage(
     319            self, 'temp_password generated: %s' % password)
     320        args = {'password':password}
     321        self.redirect(self.url(self.context) +
     322            '/loginasstep2?%s' % urlencode(args))
     323        return
     324
     325class LoginAsStudentStep2(KofaPage):
     326    """ View to temporarily login as student with a temporary password.
     327    """
     328    grok.context(IStudent)
     329    grok.name('loginasstep2')
     330    grok.require('waeup.Public')
     331    grok.template('loginasstep2')
     332    login_button = _('Login now')
     333    pnav = 4
     334
     335    def label(self):
     336        return _(u'Login as ${a}',
     337            mapping = {'a':self.context.student_id})
     338
     339    def update(self, SUBMIT=None, password=None):
     340        self.password = password
     341        if SUBMIT is not None:
     342            self.flash(_('You successfully logged in as student.'))
     343            self.redirect(self.url(self.context))
     344        return
     345
    300346class StudentBaseDisplayFormPage(KofaDisplayFormPage):
    301347    """ Page to display student base data
Note: See TracChangeset for help on using the changeset viewer.