コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
427 ビュー

Please please please

Who can give me an example in openerp explaining how to create button type object please

アバター
破棄
最善の回答

Python :


def delegate(self, cr, uid, ids, context=None):

print context

if context is None:

context = {}

res = {}

project = self.pool.get('project.task')

template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'dos_crm_claim', 'complain_reminder_email')[1]

self.pool.get('email.template').send_mail(cr, uid, template_id, ids[0], context=context)

for complain in self.browse(cr, uid, ids):

#print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`", complain.datetime.datetime.date_deadline

vals = {

'name' : complain.name,

'reviewer_id' : complain.user_id.id,

'date_deadline' : complain.deadline_date,

'type' : 'complain',

'salesteam_id' : complain.salesteam_id.id,

'unit_id' : complain.unit_id.id,

'complain_id' : complain.id,

'priority_id' : complain.priority_id,

}

complain_ids = project.create(cr, uid ,vals)

self.write(cr,uid,ids,{'stage_id':5})

return {

'name' : _("Task"),

'view_type' : 'form',

'view_mode' : 'form',

'res_model' : 'project.task',

'res_id' : complain_ids,

'nodestroy' : False,

'type' : 'ir.actions.act_window',

'target' : 'blank',

'context' : context

}

def create(self,cr,uid,vals,context=None):

seq = self.pool.get('ir.sequence').get(cr, uid, 'crm.complain')

print "XXXXXXXXXXXXXXXXXXXXXXXXXXXxxxx", seq

vals.update({'complain_id': seq})

return super(crm_claim,self).create(cr,uid,vals,context=None)



XML :


<button string="Delegate"  type="object" name="delegate" icon="gtk-apply" attrs="{'invisible':[('action_id','=','finance')]}"/>

アバター
破棄
最善の回答

example in stock_picking_wave module:

XML part 

Python part 


アバター
破棄
関連投稿 返信 ビュー 活動
2
5月 22
34891
0
3月 19
4711
0
1月 19
5878
4
2月 24
13172
0
1月 18
4544