Changeset 12534
- Timestamp:
- 1 Feb 2015, 07:11:07 (10 years ago)
- Location:
- main/ikobacustom.pcn/trunk/src/ikobacustom/pcn/customers
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
main/ikobacustom.pcn/trunk/src/ikobacustom/pcn/customers/browser.py
r12529 r12534 18 18 19 19 from zope.component import getUtility 20 from waeup.ikoba.interfaces import IIkobaUtils 20 from waeup.ikoba.interfaces import IIkobaUtils, IExtFileStore 21 21 from waeup.ikoba.customers.browser import ( 22 22 PDFContractSlipPage, CustomerBaseEditFormPage) … … 38 38 39 39 def dataNotComplete(self): 40 """To be implemented in the customization package. 41 """ 42 return False 40 store = getUtility(IExtFileStore) 41 error = '' 42 if not store.getFileByContext(self.context, attr=u'birth_certificate.pdf'): 43 error += _('Birth certificate is missing. ') 44 if not store.getFileByContext(self.context, attr=u'passport.jpg'): 45 error += _('Passport picture is missing.') 46 if error: 47 return error 48 return -
main/ikobacustom.pcn/trunk/src/ikobacustom/pcn/customers/fileviewlets.py
r12460 r12534 19 19 import grok 20 20 from waeup.ikoba.interfaces import MessageFactory as _ 21 21 from waeup.ikoba.customers.interfaces import ICustomer 22 22 from waeup.ikoba.browser.fileviewlets import ( 23 23 FileDisplay, FileUpload, Image) … … 27 27 28 28 from waeup.ikoba.customers.browser import ( 29 CustomerBaseDisplayFormPage, 30 CustomerBaseManageFormPage, 31 CustomerFilesUploadPage, 29 32 DocumentDisplayFormPage, 30 33 DocumentManageFormPage, 31 34 DocumentEditFormPage, 32 PDFDocumentSlipPage ,)35 PDFDocumentSlipPage) 33 36 34 37 grok.templatedir('browser_templates') 38 39 # File viewlets for customer base page 40 41 class BirthCertificateDisplay(FileDisplay): 42 """Birth certificate display viewlet. 43 """ 44 grok.order(2) 45 grok.context(ICustomer) 46 grok.view(CustomerBaseDisplayFormPage) 47 grok.require('waeup.viewCustomer') 48 label = _(u'Birth Certificate') 49 download_name = u'birth_certificate.pdf' 50 download_filename = u'birth_certificate.pdf' 51 52 53 class BirthCertificateManageUpload(FileUpload): 54 """Birth Certificate upload viewlet for officers. 55 """ 56 grok.order(2) 57 grok.context(ICustomer) 58 grok.view(CustomerBaseManageFormPage) 59 grok.require('waeup.manageCustomer') 60 label = _(u'Birth Certificate (pdf only)') 61 mus = 1024 * 200 62 download_name = u'birth_certificate.pdf' 63 download_filename = u'birth_certificate.pdf' 64 tab_redirect = '#tab2' 65 66 67 class BirthCertificateEditUpload(BirthCertificateManageUpload): 68 """Birth certificate upload viewlet for customers. 69 """ 70 grok.view(CustomerFilesUploadPage) 71 grok.require('waeup.handleCustomer') 72 73 74 class BirthCertificate(Image): 75 """Renders pdf. 76 """ 77 grok.name('birth_certificate.pdf') 78 download_name = u'birth_certificate.pdf' 79 grok.context(ICustomer) 80 grok.require('waeup.viewCustomer') 81 download_filename = u'birth_certificate.pdf' 35 82 36 83 # File viewlets for customer documents -
main/ikobacustom.pcn/trunk/src/ikobacustom/pcn/customers/tests/test_browser.py
r12529 r12534 332 332 return 333 333 334 335 class CustomerUITests(CustomersFullSetup): 336 337 layer = FunctionalLayer 338 339 def setup_customizable_params(self): 340 self._contract_category = u'ron' 341 self._document_factory = 'waeup.PCNCustomerPDFDocument' 342 self._contract_factory = 'waeup.RONContract' 343 return 344 345 def test_customer_edit_upload_upload_and_request(self): 346 # Customer cant login if their password is not set 347 self.browser.open(self.login_path) 348 self.browser.getControl(name="form.login").value = self.customer_id 349 self.browser.getControl(name="form.password").value = 'cpwd' 350 self.browser.getControl("Login").click() 351 self.assertMatches( 352 '...You logged in...', self.browser.contents) 353 self.browser.getLink("Edit").click() 354 self.browser.getControl(name="form.email").value = 'new_email@aa.ng' 355 self.browser.getControl("Save", index=0).click() 356 self.assertMatches('...Form has been saved...', 357 self.browser.contents) 358 self.browser.getControl("Save and request registration").click() 359 self.assertMatches('...Passport picture is missing...', 360 self.browser.contents) 361 self.assertEqual(self.customer.state, 'started') 362 # Customer must upload a passport picture. We are already on 363 # the upload page. 364 ctrl = self.browser.getControl(name='passporteditupload') 365 file_obj = open(SAMPLE_IMAGE, 'rb') 366 file_ctrl = ctrl.mech_control 367 file_ctrl.add_file(file_obj, filename='my_photo.jpg') 368 self.browser.getControl( 369 name='upload_passporteditupload').click() 370 self.assertTrue( 371 'src="http://localhost/app/customers/K1000000/passport.jpg"' 372 in self.browser.contents) 373 self.browser.getControl(name="CANCEL").click() 374 self.assertEqual(self.browser.url, self.customer_path) 375 self.browser.getLink("Edit").click() 376 self.browser.getControl("Save and request registration").click() 377 self.assertMatches('...Birth certificate is missing...', 378 self.browser.contents) 379 self.assertEqual(self.customer.state, 'started') 380 ctrl = self.browser.getControl(name='birthcertificateeditupload') 381 file_obj = open(SAMPLE_PDF, 'rb') 382 file_ctrl = ctrl.mech_control 383 file_ctrl.add_file(file_obj, filename='my_bc.pdf') 384 self.browser.getControl( 385 name='upload_birthcertificateeditupload').click() 386 self.assertTrue( 387 'href="http://localhost/app/customers/K1000000/birth_certificate.pdf"' 388 in self.browser.contents) 389 self.browser.getControl(name="CANCEL").click() 390 self.browser.getLink("Edit").click() 391 self.browser.getControl("Save and request registration").click() 392 self.assertMatches('...Registration form has been submitted...', 393 self.browser.contents) 394 self.assertEqual(self.customer.state, 'requested') 395 # Customer can view history 396 self.browser.getLink("History").click() 397 self.assertMatches('...Customer created by system...', 398 self.browser.contents) 399 400 334 401 class DocumentUITests(CustomersFullSetup): 335 402 # Tests for customer document related views and pages … … 388 455 'attachment; filename="%s.pdf' % docid[:9]) 389 456 457 390 458 class ContractUITests(CustomersFullSetup): 391 459 # Tests for contract related views and pages
Note: See TracChangeset for help on using the changeset viewer.