Ignore:
Timestamp:
13 Dec 2014, 15:46:41 (10 years ago)
Author:
Henrik Bettermann
Message:

Adjust UI components in documents and customers package.

Location:
main/waeup.ikoba/trunk/src/waeup/ikoba/customers
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py

    r12210 r12214  
    769769            mapping = {'a':self.context.__parent__.display_fullname})
    770770
     771    @action(_('Add document'), validator=NullValidator, style='primary')
     772    def addDocument(self, **data):
     773        self.redirect(self.url(self.context, 'adddoc'))
     774        return
     775
    771776    @jsaction(_('Remove selected documents'))
    772777    def delDocument(self, **data):
     
    803808    grok.template('documentaddform')
    804809    grok.require('waeup.editCustomerDocuments')
    805     form_fields = grok.AutoFields(ICustomerDocument)
    806810    label = _('Add document')
    807811    pnav = 4
     
    812816        return sorted(doctypes.items())
    813817
    814     @action(_('Create document'), style='primary')
     818    @action(_('Add document'), style='primary')
    815819    def createDocument(self, **data):
    816820        form = self.request.form
     
    820824        # classes depending on the doctype parameter given in form.
    821825        document = createObject('waeup.%s' % doctype)
     826        self.applyData(document, **data)
    822827        self.context.addDocument(document)
    823828        doctype = getUtility(ICustomersUtils).SELECTABLE_DOCTYPES_DICT[doctype]
    824         self.flash(_('${a} created.',
    825             mapping = {'a': doctype}))
     829        self.flash(_('${a} added.', mapping = {'a': doctype}))
    826830        self.context.writeLogMessage(
    827831            self,'added: %s %s' % (doctype, document.document_id))
     
    841845    grok.require('waeup.viewCustomer')
    842846    grok.template('documentpage')
    843     form_fields = grok.AutoFields(ICustomerDocument)
    844     pnav = 4
     847    pnav = 4
     848
     849    @property
     850    def form_fields(self):
     851        return grok.AutoFields(self.context.form_fields_interface)
    845852
    846853    @property
     
    856863    grok.require('waeup.manageCustomer')
    857864    grok.template('documenteditpage')
    858     form_fields = grok.AutoFields(ICustomerDocument)
    859865    pnav = 4
    860866    deletion_warning = _('Are you sure?')
     867
     868    @property
     869    def form_fields(self):
     870        return grok.AutoFields(self.context.form_fields_interface)
    861871
    862872    def update(self):
     
    11021112            mapping = {'a':self.context.__parent__.display_fullname})
    11031113
     1114    @action(_('Add contract'), validator=NullValidator, style='primary')
     1115    def addContract(self, **data):
     1116        self.redirect(self.url(self.context, 'addcontract'))
     1117        return
     1118
    11041119    @jsaction(_('Remove selected contracts'))
    11051120    def delContract(self, **data):
     
    11331148    """
    11341149    grok.context(IContractsContainer)
    1135     grok.name('addapp')
     1150    grok.name('addcontract')
    11361151    grok.template('contractaddform')
    11371152    grok.require('waeup.editContracts')
    1138     form_fields = grok.AutoFields(IContract)
    11391153    label = _('Add contract')
    11401154    pnav = 4
     
    11451159        return sorted(contypes.items())
    11461160
    1147     @action(_('Create contract'), style='primary')
     1161    @action(_('Add contract'), style='primary')
    11481162    def createContract(self, **data):
    11491163        form = self.request.form
     
    11551169        self.context.addContract(contract)
    11561170        contype = getUtility(ICustomersUtils).SELECTABLE_CONTYPES_DICT[contype]
    1157         self.flash(_('${a} created.',
    1158             mapping = {'a': contype}))
     1171        self.flash(_('${a} added.', mapping = {'a': contype}))
    11591172        self.context.writeLogMessage(
    11601173            self,'added: %s %s' % (contype, contract.contract_id))
  • main/waeup.ikoba/trunk/src/waeup/ikoba/customers/documents.py

    r12213 r12214  
    8686        try:
    8787            TRANSLATED_STATES = getUtility(
    88                 IDocumentsUtils).TRANSLATED_DOCUMENT_STATES
     88                ICustomersUtils).TRANSLATED_DOCUMENT_STATES
    8989            return TRANSLATED_STATES[self.state]
    9090        except KeyError:
     
    187187    filenames = ('sample',)
    188188
     189    form_fields_interface = ICustomerDocument
     190
    189191CustomerSampleDocument = attrs_to_fields(CustomerSampleDocument)
    190192
     
    201203    # tuple should contain only a single filename string.
    202204    filenames = ('sample.pdf',)
     205
     206    form_fields_interface = ICustomerPDFDocument
    203207
    204208CustomerPDFDocument = attrs_to_fields(CustomerPDFDocument)
  • main/waeup.ikoba/trunk/src/waeup/ikoba/customers/interfaces.py

    r12210 r12214  
    242242    is_editable_by_customer = Attribute('Document editable by customer')
    243243    is_editable_by_manager = Attribute('Document editable by manager')
    244     translated_class_name = Attribute('Translatable class name')
    245244
    246245
  • main/waeup.ikoba/trunk/src/waeup/ikoba/customers/tests/test_browser.py

    r12213 r12214  
    471471    def test_login_as_customer(self):
    472472        # CustomerImpersonators can login as customer
    473         # Create clearance officer
    474473        self.app['users'].addUser('mrofficer', 'mrofficersecret')
    475474        self.app['users']['mrofficer'].email = 'mrofficer@foo.ng'
     
    827826        self.browser.open(self.customer_path)
    828827        self.browser.getLink("Documents", index=1).click()
    829         self.browser.getLink("Add document").click()
     828        self.browser.getControl("Add document").click()
    830829        self.browser.getControl(name="doctype").value = ['CustomerPDFDocument']
    831         self.browser.getControl("Create document").click()
    832         self.assertTrue('PDF Document created.' in self.browser.contents)
     830        self.browser.getControl("Add document").click()
     831        self.assertTrue('PDF Document added.' in self.browser.contents)
    833832        document = self.customer['documents']['d102']
    834833
     
    898897            '...You logged in...', self.browser.contents)
    899898        self.browser.getLink("Documents").click()
    900         self.browser.getLink("Add document").click()
     899        self.browser.getControl("Add document").click()
    901900        self.browser.getControl(name="doctype").value = ['CustomerSampleDocument']
    902         self.browser.getControl("Create document").click()
    903         self.assertTrue('Sample Document created.' in self.browser.contents)
     901        self.browser.getControl("Add document").click()
     902        self.assertTrue('Sample Document added.' in self.browser.contents)
    904903        document = self.customer['documents']['d102']
    905904
     
    10361035        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
    10371036        self.browser.open(self.customer_path + '/documents')
    1038         self.browser.getLink("Add document").click()
     1037        self.browser.getControl("Add document").click()
    10391038        self.browser.getControl(name="doctype").value = ['CustomerPDFDocument']
    1040         self.browser.getControl("Create document").click()
     1039        self.browser.getControl("Add document").click()
    10411040        self.browser.open(self.documents_path + '/d102/manage')
    10421041        # Create a pseudo image file and select it to be uploaded
     
    11371136        self.browser.open(self.customer_path)
    11381137        self.browser.getLink("Contracts").click()
    1139         self.browser.getLink("Add contract").click()
     1138        self.browser.getControl("Add contract").click()
    11401139        self.browser.getControl(name="contype").value = ['SampleContract']
    1141         self.browser.getControl("Create contract").click()
    1142         self.assertTrue('Sample Contract created.' in self.browser.contents)
     1140        self.browser.getControl("Add contract").click()
     1141        self.assertTrue('Sample Contract added.' in self.browser.contents)
    11431142        contract = self.customer['contracts']['c102']
    11441143
     
    12001199            '...You logged in...', self.browser.contents)
    12011200        self.browser.getLink("Contracts").click()
    1202         self.browser.getLink("Add contract").click()
     1201        self.browser.getControl("Add contract").click()
    12031202        self.browser.getControl(name="contype").value = ['SampleContract']
    1204         self.browser.getControl("Create contract").click()
    1205         self.assertTrue('Sample Contract created.' in self.browser.contents)
     1203        self.browser.getControl("Add contract").click()
     1204        self.assertTrue('Sample Contract added.' in self.browser.contents)
    12061205        contract = self.customer['contracts']['c102']
    12071206        # Contract can be edited ...
  • main/waeup.ikoba/trunk/src/waeup/ikoba/customers/utils.py

    r12199 r12214  
    306306        }
    307307
    308 
    309308    TRANSLATED_CONTRACT_STATES = {
    310309        CREATED: _('created'),
    311310        SUBMITTED: _('submitted for approval'),
    312311        APPROVED: _('approved'),
     312        REJECTED: _('rejected'),
     313        EXPIRED:_('expired')
     314        }
     315
     316    TRANSLATED_DOCUMENT_STATES = {
     317        CREATED: _('created'),
     318        SUBMITTED: _('submitted for verification'),
     319        VERIFIED: _('verified'),
    313320        REJECTED: _('rejected'),
    314321        EXPIRED:_('expired')
  • main/waeup.ikoba/trunk/src/waeup/ikoba/customers/viewlets.py

    r12167 r12214  
    300300# Viewlets for customer documents
    301301
    302 class AddDocumentActionButton(AddActionButton):
    303     grok.order(1)
    304     grok.context(ICustomerDocumentsContainer)
    305     grok.view(DocumentsManageFormPage)
    306     grok.require('waeup.editCustomerDocuments')
    307     text = _('Add document')
    308     target = 'adddoc'
    309 
    310 
    311302class PDFDocumentOverviewActionButton(ManageActionButton):
    312303    grok.order(2)
     
    378369    target = 'document_slip.pdf'
    379370
     371
    380372# Viewlets for customer contracts
    381 
    382 class AddContractActionButton(AddActionButton):
    383     grok.order(1)
    384     grok.context(IContractsContainer)
    385     grok.view(ContractsManageFormPage)
    386     grok.require('waeup.editContracts')
    387     text = _('Add contract')
    388     target = 'addapp'
    389 
    390373
    391374class PDFContractOverviewActionButton(ManageActionButton):
Note: See TracChangeset for help on using the changeset viewer.