콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2 답글
11178 화면

my field


state = fields.Selection(string="Status", selection=[('draft', 'Draft'), ('confirm', 'Confirm'),
('validate', 'Validated'), ('refuse', 'Refuse'),('reset','Reset to Draft'),('cancel','Cancel'),
('approved', 'Approved'), ], default="draft", track_visibility='onchange', )



My view 

button name="confirm_request" string="Confirm" class="oe_highlight" states="draft" type="object"/>
<button name="validate_request" string="Validate" class="oe_highlight" states="confirm" type="object" groups="hr.group_hr_user"/>
<button name="approve_request" string="Approve" class="oe_highlight" states="validate" type="object" groups="hr.group_hr_manager"/>
<button name="refuse_request" string="Refuse" states="confirm,validate" type="object" groups="hr.group_hr_user,hr.group_hr_manager"/>
<button name="%(launch_customer_wizard)d" type="action" state="validate"
string="Cancel" class="oe_highlight"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate"/>
아바타
취소
베스트 답변

It's a two steps manipulation, you create the button in the view as you did for refurse,confirm and validate, then you create a function with the same name as the button's name. here's the simplest way to do it:

@api.multi
def action_draft(self):
self.write({'state': 'draft'})

<button name="action_draft" string="return to draft" states="confirm,validate" type="object"groups="hr.group_hr_user,hr.group_hr_manager"/>
아바타
취소
작성자

ok, I see . Thank you very much

베스트 답변

Hello

add new button "Reset to Draft" with type object. and call the method which set the State to "Draft".

for more information you can see into Sale order or Accounting Invoice part.


아바타
취소