- Timestamp:
- 13 Dec 2014, 15:46:41 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.ikoba/trunk/src/waeup/ikoba/documents/browser.py
r12213 r12214 46 46 47 47 from waeup.ikoba.documents.interfaces import ( 48 IDocumentsContainer, I Document)48 IDocumentsContainer, IPublicDocument, IDocumentsUtils) 49 49 50 50 grok.context(IIkobaObject) # Make IKofaObject the default context … … 62 62 """A breadcrumb for the customer container. 63 63 """ 64 grok.context(I Document)64 grok.context(IPublicDocument) 65 65 66 66 def title(self): … … 90 90 label = _('Manage document section') 91 91 92 taboneactions = [_('Save'),_('Cancel')] 93 tabtwoactions = [_('Add document'), _('Remove selected'),_('Cancel')] 92 @action(_('Add document'), validator=NullValidator, style='primary') 93 def addSubunit(self, **data): 94 self.redirect(self.url(self.context, 'adddoc')) 95 return 94 96 95 @jsaction(_('Remove selected '))97 @jsaction(_('Remove selected documents')) 96 98 def delDocuments(self, **data): 97 99 delSubobjects(self, redirect='manage', tab='2') 98 100 return 99 101 100 @action(_('Save'), style='primary')101 def save(self, **data):102 return msave(self, **data)103 104 102 @action(_('Cancel'), validator=NullValidator) 105 103 def cancel(self, **data): 106 104 self.redirect(self.url(self.context)) 107 return108 109 @action(_('Add document'), validator=NullValidator)110 def addSubunit(self, **data):111 self.redirect(self.url(self.context, 'adddocument'))112 105 return 113 106 … … 118 111 grok.context(IDocumentsContainer) 119 112 grok.require('waeup.manageDocuments') 120 grok.name('adddoc ument')121 form_fields = grok.AutoFields(IDocument).omit('document_id')113 grok.name('adddoc') 114 grok.template('documentaddform') 122 115 label = _('Add document') 123 116 pnav = 2 124 117 118 @property 119 def selectable_doctypes(self): 120 doctypes = getUtility(IDocumentsUtils).SELECTABLE_DOCTYPES_DICT 121 return sorted(doctypes.items()) 122 125 123 @action(_('Create document'), style='primary') 126 def addDocument(self, **data): 127 document = createObject(u'waeup.PublicDocument') 124 def createDocument(self, **data): 125 form = self.request.form 126 doctype = form.get('doctype', None) 127 # Here we can create various instances of PublicDocument derived 128 # classes depending on the doctype parameter given in form. 129 document = createObject('waeup.%s' % doctype) 128 130 self.applyData(document, **data) 129 try: 130 self.context.addDocument(document) 131 except KeyError: 132 self.flash(_('The Id chosen already exists.'), 133 type='danger') 134 return 135 self.flash( 136 _("Document ${a} added.", mapping = {'a':document.document_id})) 131 self.context.addDocument(document) 132 doctype = getUtility(IDocumentsUtils).SELECTABLE_DOCTYPES_DICT[doctype] 133 self.flash(_('${a} added.', mapping = {'a': doctype})) 137 134 ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','') 138 135 self.context.__parent__.logger.info( 139 '%s - added: %s ' % (ob_class, document.document_id))140 self.redirect(self.url(self.context , u'manage')+'#tab2')136 '%s - added: %s %s' % (ob_class, doctype, document.document_id)) 137 self.redirect(self.url(self.context)) 141 138 return 139 140 @action(_('Cancel'), validator=NullValidator) 141 def cancel(self, **data): 142 self.redirect(self.url(self.context)) 142 143 143 144 … … 145 146 """ Page to display document data 146 147 """ 147 grok.context(I Document)148 grok.context(IPublicDocument) 148 149 grok.name('index') 149 150 grok.require('waeup.viewDocuments') 150 151 #grok.template('basepage') 151 form_fields = grok.AutoFields(IDocument)152 152 pnav = 2 153 154 @property 155 def form_fields(self): 156 return grok.AutoFields(self.context.form_fields_interface) 153 157 154 158 @property … … 161 165 """ View to manage document data 162 166 """ 163 grok.context(I Document)167 grok.context(IPublicDocument) 164 168 grok.name('manage') 165 169 grok.require('waeup.manageDocuments') 166 form_fields = grok.AutoFields(IDocument).omit('document_id')167 170 grok.template('documentmanagepage') 168 171 pnav = 2 … … 171 174 tabtwoactions1 = [_('Remove selected local roles')] 172 175 tabtwoactions2 = [_('Add local role')] 176 177 @property 178 def form_fields(self): 179 return grok.AutoFields(self.context.form_fields_interface) 173 180 174 181 def label(self):
Note: See TracChangeset for help on using the changeset viewer.