Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
425 Lượt xem

Please please please

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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')]}"/>

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

example in stock_picking_wave module:

XML part 

Python part 


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 5 22
34891
0
thg 3 19
4711
0
thg 1 19
5878
4
thg 2 24
13172
0
thg 1 18
4544