58 lines
1.2 KiB
Python
58 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
class Selection(object):
|
|
list = []
|
|
folded = []
|
|
default = None
|
|
|
|
@classmethod
|
|
def name(cls, state):
|
|
states_dict = dict(cls.list)
|
|
if state in states_dict:
|
|
return states_dict[state]
|
|
|
|
@classmethod
|
|
def values(cls):
|
|
return list(dict(cls.list))
|
|
|
|
|
|
class ApproverState(Selection):
|
|
list = [
|
|
('to approve', 'To Approve'),
|
|
('pending', 'Pending'),
|
|
('approved', 'Approved'),
|
|
('rejected', 'Rejected'),
|
|
]
|
|
default = list[0][0]
|
|
|
|
|
|
class ApprovalMethods(Selection):
|
|
list = [
|
|
('button', 'Button'),
|
|
]
|
|
default = list[0][0]
|
|
|
|
|
|
class DocumentState(Selection):
|
|
list = [
|
|
('draft', 'Draft'),
|
|
('approval', 'Approval'),
|
|
('approved', 'Approved'),
|
|
('cancelled', 'Cancelled'),
|
|
('rejected', 'Rejected'),
|
|
]
|
|
default = list[0][0]
|
|
|
|
class DocumentVisibility(Selection):
|
|
list = [
|
|
('all_users', 'All Users'),
|
|
('followers', 'Followers'),
|
|
('approvers', 'Approvers'),
|
|
]
|
|
default = list[0][0]
|
|
|
|
class ApprovalStep(Selection):
|
|
step_range = list(range(1, 21))
|
|
list = [("{:02d}".format(step), "{:02d}".format(step)) for step in step_range]
|
|
default = list[0][0]
|