Changeset 7660 for main/waeup.sirp
- Timestamp:
- 16 Feb 2012, 15:31:58 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py
r7647 r7660 187 187 return 188 188 189 class SetPasswordPage(SIRPPage):190 grok.context(ISIRPObject)191 grok.name('setpassword')192 grok.require('waeup.Anonymous')193 grok.template('setpassword')194 label = 'Set password for first-time login'195 ac_prefix = 'PWD'196 pnav = 0197 198 def update(self, SUBMIT=None):199 self.reg_number = self.request.form.get('reg_number', None)200 self.ac_series = self.request.form.get('ac_series', None)201 self.ac_number = self.request.form.get('ac_number', None)202 203 if SUBMIT is None:204 return205 hitlist = search(query=self.reg_number,206 searchtype='reg_number', view=self)207 if not hitlist:208 self.flash('No student found.')209 return210 if len(hitlist) != 1: # Cannot happen but anyway211 self.flash('More than one student found.')212 return213 student = hitlist[0].context214 self.student_id = student.student_id215 student_pw = student.password216 pin = '%s-%s-%s' % (self.ac_prefix, self.ac_series, self.ac_number)217 code = get_access_code(pin)218 if not code:219 self.flash('Access code is invalid.')220 return221 if student_pw and pin == student.adm_code:222 self.flash('Password has already been set. Your Student Id is %s'223 % self.student_id)224 return225 elif student_pw:226 self.flash(227 'Password has already been set. You are using the '228 'wrong Access Code.')229 return230 # Mark pin as used (this also fires a pin related transition)231 # and set student password232 if code.state == USED:233 self.flash('Access code has already been used.')234 return235 else:236 comment = u"AC invalidated for %s" % self.student_id237 # Here we know that the ac is in state initialized so we do not238 # expect an exception239 invalidate_accesscode(pin,comment)240 IUserAccount(student).setPassword(self.ac_number)241 student.adm_code = pin242 self.flash('Password has been set. Your Student Id is %s'243 % self.student_id)244 return245 246 189 class StudentsContainerManagePage(SIRPPage): 247 190 """The manage page for student containers. … … 1848 1791 return 1849 1792 1793 class SetPasswordPage(SIRPPage): 1794 grok.context(ISIRPObject) 1795 grok.name('setpassword') 1796 grok.require('waeup.Anonymous') 1797 grok.template('setpassword') 1798 label = 'Set password for first-time login' 1799 ac_prefix = 'PWD' 1800 pnav = 0 1801 1802 def update(self, SUBMIT=None): 1803 self.reg_number = self.request.form.get('reg_number', None) 1804 self.ac_series = self.request.form.get('ac_series', None) 1805 self.ac_number = self.request.form.get('ac_number', None) 1806 1807 if SUBMIT is None: 1808 return 1809 hitlist = search(query=self.reg_number, 1810 searchtype='reg_number', view=self) 1811 if not hitlist: 1812 self.flash('No student found.') 1813 return 1814 if len(hitlist) != 1: # Cannot happen but anyway 1815 self.flash('More than one student found.') 1816 return 1817 student = hitlist[0].context 1818 self.student_id = student.student_id 1819 student_pw = student.password 1820 pin = '%s-%s-%s' % (self.ac_prefix, self.ac_series, self.ac_number) 1821 code = get_access_code(pin) 1822 if not code: 1823 self.flash('Access code is invalid.') 1824 return 1825 if student_pw and pin == student.adm_code: 1826 self.flash('Password has already been set. Your Student Id is %s' 1827 % self.student_id) 1828 return 1829 elif student_pw: 1830 self.flash( 1831 'Password has already been set. You are using the ' 1832 'wrong Access Code.') 1833 return 1834 # Mark pin as used (this also fires a pin related transition) 1835 # and set student password 1836 if code.state == USED: 1837 self.flash('Access code has already been used.') 1838 return 1839 else: 1840 comment = u"AC invalidated for %s" % self.student_id 1841 # Here we know that the ac is in state initialized so we do not 1842 # expect an exception 1843 invalidate_accesscode(pin,comment) 1844 IUserAccount(student).setPassword(self.ac_number) 1845 student.adm_code = pin 1846 self.flash('Password has been set. Your Student Id is %s' 1847 % self.student_id) 1848 return
Note: See TracChangeset for help on using the changeset viewer.