39
38
'previous_step_id' : fields.many2one('dm.offer.step','Previous Step',ondelete='cascade'),
40
39
'ref_text_id' : fields.many2one('dm.dynamic_text', 'Reference Text'),
45
class dm_dtp_plugin(osv.osv):
41
dm_dynamic_text() # }}}
43
class dm_dtp_plugin(osv.osv): # {{{
46
44
_name = "dm.dtp.plugin"
48
46
def copy(self, cr, uid, id, default=None, context={}):
136
134
('code_uniq', 'UNIQUE(code)', 'The code must be unique!'),
137
dm_dtp_plugin() # }}}
141
class dm_plugin_argument(osv.osv):
139
class dm_plugin_argument(osv.osv): # {{{
142
140
_name = "dm.plugin.argument"
143
141
_description = "Argument List"
149
147
'stored_plugin' : fields.boolean('Value from plugin'),
150
148
'custome_plugin_id' : fields.many2one('dm.dtp.plugin','Plugin For Value'),
150
dm_plugin_argument() # }}}
154
class dm_document_template(osv.osv):
152
class dm_document_template(osv.osv): # {{{
155
153
_name = "dm.document.template"
157
155
'name' : fields.char('Template Name', size=128),
159
157
'note' : fields.text('Description')
162
dm_document_template()
160
dm_document_template() # }}}
164
class dm_plugins_value(osv.osv):
162
class dm_plugins_value(osv.osv): # {{{
165
163
_name = "dm.plugins.value"
167
165
'address_id' : fields.many2one('res.partner.address', 'Customer Address', ondelete="cascade"),
170
168
'date' : fields.date('Date'),
171
dm_plugins_value() # }}}
175
class dm_offer_document_category(osv.osv):
173
class dm_offer_document_category(osv.osv): # {{{
176
174
_name = "dm.offer.document.category"
177
175
_rec_name = "name"
178
176
def name_get(self, cr, uid, ids, context={}):
197
195
'parent_id' : fields.many2one('dm.offer.document.category', 'Parent'),
200
dm_offer_document_category()
198
dm_offer_document_category() # }}}
202
class dm_offer_document(osv.osv):
200
class dm_offer_document(osv.osv): # {{{
203
201
_name = "dm.offer.document"
204
202
_rec_name = 'name'
204
def _check_unique_category(self, cr, uid, ids, step_id, category_id):
205
if not (step_id and category_id):
207
browse_step_id = self.pool.get('dm.offer.step').browse(cr,uid,step_id)
208
categ_name = self.pool.get('dm.offer.document.category').browse(cr,uid,category_id).name
209
if categ_name == 'After-Sale Document Template' and browse_step_id.type_id.name in ['After-Sale Event','After-Sale Action']:
210
if self.search(cr,uid,[('step_id','=',step_id),('category_id','=',category_id)]):
211
raise osv.except_osv(_('Error'),
212
_("You cannot create more than 1 document with the After-Sale step and category - '%s'") % (categ_name,))
213
return {'value':{'category_id':category_id}}
206
215
def default_get(self, cr, uid, fields, context=None):
207
216
value = super(dm_offer_document, self).default_get(cr, uid, fields, context)
208
217
if 'step_id' in context and context['step_id']:
253
262
self.write(cr, uid, ids, {'state':'validate'})
265
dm_offer_document() # }}}
258
class dm_campaign_document_type(osv.osv):
267
class dm_campaign_document_type(osv.osv): # {{{
259
268
_name = 'dm.campaign.document.type'
261
270
'name' : fields.char('Name', size=64, required=True),
262
271
'code' : fields.char('Code', size=64, required=True),
264
dm_campaign_document_type()
273
dm_campaign_document_type() # }}}
266
class dm_campaign_document(osv.osv):
275
class dm_campaign_document(osv.osv): # {{{
267
276
_name = 'dm.campaign.document'
269
278
'name' : fields.char('Name', size=64, required=True),