Ignore:
Timestamp:
14 Jun 2012, 08:07:41 (12 years ago)
Author:
Henrik Bettermann
Message:

Merged with r8720.

Location:
main/waeup.fceokene/trunk/src/waeup/fceokene
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.fceokene/trunk/src/waeup/fceokene

  • main/waeup.fceokene/trunk/src/waeup/fceokene/students/browser.py

    r8599 r8722  
    3030    StudentBaseEditFormPage, StudentPersonalEditFormPage,
    3131    OnlinePaymentDisplayFormPage, OnlinePaymentAddFormPage,
    32     OnlinePaymentBreadcrumb, ExportPDFPaymentSlipPage)
     32    OnlinePaymentBreadcrumb, ExportPDFPaymentSlipPage,
     33    StudentFilesUploadPage, emit_lock_message)
    3334from waeup.kofa.students.viewlets import (
    34     PaymentReceiptActionButton)
     35    PaymentReceiptActionButton, StudentPassportActionButton)
    3536from waeup.fceokene.students.interfaces import (
    3637    ICustomStudentBase, ICustomStudent, ICustomStudentPersonal,
     
    3940    )
    4041from waeup.fceokene.interfaces import MessageFactory as _
     42from waeup.kofa.students.workflow import ADMITTED
    4143
    4244#class RequestCallbackActionButton(RequestCallbackActionButton):
     
    166168    form_fields[
    167169        'payment_date'].custom_widget = FriendlyDatetimeDisplayWidget('le')
    168     grok.template('payment_view')
    169 
    170     @property
    171     def transaction_code(self):
    172         tcode = self.context.p_id
    173         return tcode[len(tcode)-8:len(tcode)]
     170    #grok.template('payment_view')
     171
     172    #@property
     173    #def transaction_code(self):
     174    #    tcode = self.context.p_id
     175    #    return tcode[len(tcode)-8:len(tcode)]
    174176
    175177class CustomOnlinePaymentAddFormPage(OnlinePaymentAddFormPage):
     
    199201    form_fields['creation_date'].custom_widget = FriendlyDatetimeDisplayWidget('le')
    200202    form_fields['payment_date'].custom_widget = FriendlyDatetimeDisplayWidget('le')
     203
     204#    @property
     205#    def note(self):
     206#        tcode = self.context.p_id
     207#        tcode = tcode[len(tcode)-8:len(tcode)]
     208#        amount = self.context.amount_auth
     209#        note = translate(_(
     210#            u"""<br /><br /><br />
     211#The tranzaction code is <strong>${a}</strong>.""",
     212#            mapping = {'a':tcode}))
     213#        return note
     214
     215class StudentPassportActionButton(StudentPassportActionButton):
    201216
    202217    @property
     
    210225            mapping = {'a':tcode}))
    211226        return note
     227    def target_url(self):
     228        slip = getUtility(IExtFileStore).getFileByContext(
     229            self.context, 'application_slip')
     230        if self.context.state != ADMITTED or slip is not None:
     231            return ''
     232        return self.view.url(self.view.context, self.target)
     233
     234class CustomStudentFilesUploadPage(StudentFilesUploadPage):
     235    """ View to upload passport picture.
     236
     237    Students are not allowed to change the picture if they
     238    passed the regular Kofa application.
     239    """
     240
     241    def update(self):
     242        slip = getUtility(IExtFileStore).getFileByContext(
     243            self.context, 'application_slip')
     244        if self.context.state != ADMITTED or slip is not None:
     245            emit_lock_message(self)
     246            return
     247        super(StudentFilesUploadPage, self).update()
     248        return
  • main/waeup.fceokene/trunk/src/waeup/fceokene/students/tests/test_browser.py

    r8599 r8722  
    1919import shutil
    2020import tempfile
     21from StringIO import StringIO
    2122from hurry.workflow.interfaces import IWorkflowState
    2223from zope.component.hooks import setSite, clearSite
     
    2627from waeup.kofa.students.tests.test_browser import StudentsFullSetup
    2728from waeup.kofa.testing import FunctionalTestCase
     29from waeup.kofa.interfaces import (
     30    IExtFileStore, IFileStoreNameChooser)
    2831from waeup.kofa.students.batching import StudentProcessor
    2932from waeup.kofa.students.interfaces import IStudentsUtils
     
    287290        self.browser.getControl(name="form.password").value = 'spwd'
    288291        self.browser.getControl("Login").click()
     292        # Even in state admitted students can't change the portait if
     293        # application slip exists.
     294        IWorkflowState(self.student).setState('admitted')
     295        self.browser.open(self.student_path)
     296        self.assertTrue('Change portrait' in self.browser.contents)
     297        file_store = getUtility(IExtFileStore)
     298        applicant_slip = 'My application slip'
     299        file_id = IFileStoreNameChooser(self.student).chooseName(
     300            attr="application_slip.pdf")
     301        file_store.createFile(file_id, StringIO(applicant_slip))
     302        self.browser.open(self.student_path)
     303        self.assertFalse('Change portrait' in self.browser.contents)
     304        self.browser.open(self.student_path + '/change_portrait')
     305        self.assertTrue('The requested form is locked' in self.browser.contents)
    289306        # Student can view and edit clearance data
    290307        self.browser.getLink("Clearance Data").click()
Note: See TracChangeset for help on using the changeset viewer.