[IMP] Misc useability improvement
bzr revid: fp@fp-laptop-20110818193044-dwv8je39jv65dbta
This commit is contained in:
parent
ac9c0e55b0
commit
32624d2857
|
@ -126,11 +126,11 @@ class crm_lead(crm_case, osv.osv):
|
|||
|
||||
# From crm.case
|
||||
'id': fields.integer('ID'),
|
||||
'name': fields.char('Name', size=64),
|
||||
'name': fields.char('Name', size=64, select=1),
|
||||
'active': fields.boolean('Active', required=False),
|
||||
'date_action_last': fields.datetime('Last Action', readonly=1),
|
||||
'date_action_next': fields.datetime('Next Action', readonly=1),
|
||||
'email_from': fields.char('Email', size=128, help="E-mail address of the contact"),
|
||||
'email_from': fields.char('Email', size=128, help="E-mail address of the contact", select=1),
|
||||
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
|
||||
select=True, help='Sales team to which this case belongs to. Defines responsible user and e-mail address for the mail gateway.'),
|
||||
'create_date': fields.datetime('Creation Date' , readonly=True),
|
||||
|
@ -145,7 +145,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
domain="['|',('section_id','=',section_id),('section_id','=',False)]", help="From which campaign (seminar, marketing campaign, mass mailing, ...) did this contact come from?"),
|
||||
'channel_id': fields.many2one('res.partner.canal', 'Channel', help="From which channel (mail, direct, phone, ...) did this contact reach you?"),
|
||||
'contact_name': fields.char('Contact Name', size=64),
|
||||
'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner that will be created while converting the into opportunity'),
|
||||
'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner that will be created while converting the into opportunity', select=1),
|
||||
'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."),
|
||||
'optout': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."),
|
||||
'type':fields.selection([
|
||||
|
@ -156,7 +156,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('type','=','lead')]"),
|
||||
'user_id': fields.many2one('res.users', 'Salesman'),
|
||||
'user_id': fields.many2one('res.users', 'Salesman', select=1),
|
||||
'referred': fields.char('Referred By', size=64),
|
||||
'date_open': fields.datetime('Opened', readonly=True),
|
||||
'day_open': fields.function(_compute_day, string='Days to Open', \
|
||||
|
|
|
@ -328,7 +328,7 @@
|
|||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" string="Lead / Customer"
|
||||
domain="['|','|',('partner_name','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/>
|
||||
filter_domain="['|','|',('partner_name','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/>
|
||||
<field name="user_id">
|
||||
<filter icon="terp-personal-"
|
||||
domain="[('user_id','=', False)]"
|
||||
|
|
|
@ -292,7 +292,7 @@
|
|||
domain="[('state','=','pending')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" string="Opportunity"/>
|
||||
<field name="partner_id" string="Customer"/>
|
||||
<field name="partner_id" string="Customer / Email" filter_domain="['|','|',('partner_id','ilike',self),('partner_name','ilike',self),('email_from','ilike',self)]"/>
|
||||
<field name="user_id">
|
||||
<filter icon="terp-personal-"
|
||||
domain="[('user_id','=', False)]"
|
||||
|
|
|
@ -39,6 +39,7 @@ AVAILABLE_STATES = [
|
|||
]
|
||||
|
||||
AVAILABLE_PRIORITIES = [
|
||||
('', ''),
|
||||
('5', 'Not Good'),
|
||||
('4', 'On Average'),
|
||||
('3', 'Good'),
|
||||
|
@ -46,6 +47,16 @@ AVAILABLE_PRIORITIES = [
|
|||
('1', 'Excellent')
|
||||
]
|
||||
|
||||
class hr_recruitment_source(osv.osv):
|
||||
""" Sources of HR Recruitment """
|
||||
_name = "hr.recruitment.source"
|
||||
_description = "Source of Applicants"
|
||||
_columns = {
|
||||
'name': fields.char('Source Name', size=64, required=True, translate=True),
|
||||
}
|
||||
hr_recruitment_source()
|
||||
|
||||
|
||||
class hr_recruitment_stage(osv.osv):
|
||||
""" Stage of HR Recruitment """
|
||||
_name = "hr.recruitment.stage"
|
||||
|
@ -54,7 +65,7 @@ class hr_recruitment_stage(osv.osv):
|
|||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True, translate=True),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of stages."),
|
||||
'department_id':fields.many2one('hr.department', 'Department'),
|
||||
'department_id':fields.many2one('hr.department', 'Department', help="Stages of the recruitment process may be different per department. If this stage is common to all departments, keep tempy this field."),
|
||||
'requirements': fields.text('Requirements')
|
||||
}
|
||||
_defaults = {
|
||||
|
@ -144,6 +155,8 @@ class hr_applicant(crm.crm_case, osv.osv):
|
|||
'title_action': fields.char('Next Action', size=64),
|
||||
'priority': fields.selection(AVAILABLE_PRIORITIES, 'Appreciation'),
|
||||
'job_id': fields.many2one('hr.job', 'Applied Job'),
|
||||
'salary_proposed_extra': fields.char('Proposed Salary Extra', size=100, help="Salary Proposed by the Organisation, extra advantages"),
|
||||
'salary_expected_extra': fields.char('Expected Salary Extra', size=100, help="Salary Expected by Applicant, extra advantages"),
|
||||
'salary_proposed': fields.float('Proposed Salary', help="Salary Proposed by the Organisation"),
|
||||
'salary_expected': fields.float('Expected Salary', help="Salary Expected by Applicant"),
|
||||
'availability': fields.integer('Availability (Days)'),
|
||||
|
@ -155,7 +168,8 @@ class hr_applicant(crm.crm_case, osv.osv):
|
|||
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
|
||||
'survey': fields.related('job_id', 'survey_id', type='many2one', relation='survey', string='Survey'),
|
||||
'response': fields.integer("Response"),
|
||||
'reference': fields.char('Reference', size=128),
|
||||
'reference': fields.char('Refered By', size=128),
|
||||
'source_id': fields.many2one('hr.recruitment.source', 'Source'),
|
||||
'day_open': fields.function(_compute_day, string='Days to Open', \
|
||||
multi='day_open', type="float", store=True),
|
||||
'day_close': fields.function(_compute_day, string='Days to Close', \
|
||||
|
@ -168,10 +182,10 @@ class hr_applicant(crm.crm_case, osv.osv):
|
|||
|
||||
_defaults = {
|
||||
'active': lambda *a: 1,
|
||||
'stage_id': _get_stage,
|
||||
'user_id': lambda self, cr, uid, context: uid,
|
||||
'email_from': crm.crm_case. _get_default_email,
|
||||
'state': lambda *a: 'draft',
|
||||
'priority': lambda *a: '',
|
||||
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
|
||||
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
|
||||
}
|
||||
|
@ -208,6 +222,8 @@ class hr_applicant(crm.crm_case, osv.osv):
|
|||
stage_ids = stage_obj.search(cr, uid, ['|',('department_id','=',department),('department_id','=',False)], context=context)
|
||||
if st and stage_ids.index(st):
|
||||
self.write(cr, uid, [case.id], {'stage_id': stage_ids[stage_ids.index(st)-1]}, context=context)
|
||||
else:
|
||||
self.write(cr, uid, [case.id], {'stage_id': False}, context=context)
|
||||
return True
|
||||
|
||||
def stage_next(self, cr, uid, ids, context=None):
|
||||
|
@ -223,8 +239,14 @@ class hr_applicant(crm.crm_case, osv.osv):
|
|||
department = (case.department_id.id or False)
|
||||
st = case.stage_id.id or False
|
||||
stage_ids = stage_obj.search(cr, uid, ['|',('department_id','=',department),('department_id','=',False)], context=context)
|
||||
val = False
|
||||
if st and len(stage_ids) != stage_ids.index(st)+1:
|
||||
self.write(cr, uid, [case.id], {'stage_id': stage_ids[stage_ids.index(st)+1]}, context=context)
|
||||
val = stage_ids[stage_ids.index(st)+1]
|
||||
elif (not st) and stage_ids:
|
||||
val = stage_ids[0]
|
||||
else:
|
||||
val = False
|
||||
self.write(cr, uid, [case.id], {'stage_id': val}, context=context)
|
||||
return True
|
||||
|
||||
def action_makeMeeting(self, cr, uid, ids, context=None):
|
||||
|
|
|
@ -3,6 +3,23 @@
|
|||
<data noupdate="1">
|
||||
|
||||
|
||||
<!-- HR Recruitment Source -->
|
||||
|
||||
<record model="hr.recruitment.source" id="source_linkedin">
|
||||
<field name="name">LinkedIn</field>
|
||||
</record>
|
||||
<record model="hr.recruitment.source" id="source_monster">
|
||||
<field name="name">Monster</field>
|
||||
</record>
|
||||
<record model="hr.recruitment.source" id="source_word">
|
||||
<field name="name">Word of Mouth</field>
|
||||
</record>
|
||||
<record model="hr.recruitment.source" id="source_website_company">
|
||||
<field name="name">Company Website</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<!-- CASE CATEGORY(categ_id) -->
|
||||
|
||||
<record model="crm.case.categ" id="categ_job1">
|
||||
|
@ -21,17 +38,21 @@
|
|||
<field name="name">Graduate</field>
|
||||
<field name="sequence">1</field>
|
||||
</record>
|
||||
<record model="hr.recruitment.degree" id="degree_licenced">
|
||||
<field name="name">Licenced</field>
|
||||
<record model="hr.recruitment.degree" id="degree_bachelor">
|
||||
<field name="name">Bachelor Degree</field>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
<record model="hr.recruitment.degree" id="degree_bac5">
|
||||
<field name="name"> > Bac +5</field>
|
||||
<record model="hr.recruitment.degree" id="degree_licenced">
|
||||
<field name="name">Master Degree</field>
|
||||
<field name="sequence">3</field>
|
||||
</record>
|
||||
<record model="hr.recruitment.degree" id="degree_bac5">
|
||||
<field name="name">Doctoral Degree</field>
|
||||
<field name="sequence">4</field>
|
||||
</record>
|
||||
|
||||
<record model="hr.recruitment.stage" id="stage_job1">
|
||||
<field name="name">Initial Jobs Demand</field>
|
||||
<field name="name">Initial Qualification</field>
|
||||
<field name="sequence">1</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
<button name="stage_next" string="Next" states="open,pending" type="object" icon="gtk-go-forward"/>
|
||||
<field name="title_action" invisible="context.get('invisible_next_action', True)"/>
|
||||
<field name="date_action" invisible="context.get('invisible_next_date', True)"/>
|
||||
<field name="source_id" invisible="1"/>
|
||||
<field name="survey" invisible="1"/>
|
||||
<field name="response" invisible="1"/>
|
||||
<field name="priority"/>
|
||||
|
@ -81,7 +82,7 @@
|
|||
<newline/>
|
||||
<field name="department_id" widget="selection" on_change="onchange_department_id(department_id)"/>
|
||||
<group colspan="2" col="4">
|
||||
<field name="stage_id" domain="[('department_id','=',department_id)]"/>
|
||||
<field name="stage_id" domain="['|',('department_id','=',department_id),('department_id','=',False)]"/>
|
||||
<button name="stage_previous" string="" type="object" icon="gtk-go-back"/>
|
||||
<button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
|
||||
</group>
|
||||
|
@ -97,27 +98,30 @@
|
|||
<page string="Job Info">
|
||||
<group col="3" colspan="2">
|
||||
<separator colspan="3" string="Contact"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)" attrs="{'readonly':[('state','not in','done')]}"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)"/>
|
||||
<button string="Create Partner"
|
||||
name="%(action_hr_recruitment_partner_create)d"
|
||||
icon="gtk-index" type="action" attrs="{'readonly':['!',('partner_id','!=',False),('state','not in','done')]}" groups="base.group_partner_manager"/>
|
||||
icon="gtk-index" type="action" attrs="{'readonly':[('partner_id','!=',False)]}" groups="base.group_partner_manager"/>
|
||||
<newline/>
|
||||
<field name="partner_address_id" on_change="onchange_partner_address_id(partner_address_id, email_from)" colspan="3" attrs="{'readonly':[('state','not in','done')]}"/>
|
||||
<field name="email_from" colspan="3" attrs="{'readonly':[('state','not in','done')]}"/>
|
||||
<field name="partner_phone" colspan="3" attrs="{'readonly':[('state','not in','done')]}"/>
|
||||
<field name="partner_mobile" colspan="3" attrs="{'readonly':[('state','not in','done')]}"/>
|
||||
<field name="email_from" colspan="3"/>
|
||||
<field name="partner_phone" colspan="3"/>
|
||||
<field name="partner_mobile" colspan="3"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Contract Data"/>
|
||||
<field name="availability"/>
|
||||
<group col="3" colspan="2">
|
||||
<separator colspan="3" string="Contract Data"/>
|
||||
<field name="availability" colspan="3"/>
|
||||
<field name="salary_expected"/>
|
||||
<field name="salary_expected_extra" nolabel="1"/>
|
||||
<field name="salary_proposed"/>
|
||||
<field name="salary_proposed_extra" nolabel="1"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Qualification"/>
|
||||
<!-- <field name="type_id" domain="[('object_id.model', '=', 'hr.applicant')]"/>-->
|
||||
<field name="type_id" widget="selection"/>
|
||||
<field name="priority" string="Appreciation"/>
|
||||
<field name="source_id"/>
|
||||
<field name="reference"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
|
@ -222,6 +226,7 @@
|
|||
help="All new and in progress jobs"
|
||||
name="current"
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-document-new" string="New"
|
||||
domain="[('state','=','draft')]"
|
||||
help="All Initial Jobs"
|
||||
|
@ -237,20 +242,14 @@
|
|||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-gtk-jump-to-ltr" string="Next Actions"
|
||||
context="{'invisible_next_action':False, 'invisible_next_date':False}"
|
||||
domain="[]"
|
||||
help="View Next Action and Date"/>
|
||||
domain="[('date_action','<>',False)]"
|
||||
help="Filter and view on next actions and date"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="email_from"/>
|
||||
<field name="partner_name" filter_domain="['|','|',('name','ilike',self),('partner_name','ilike',self),('email_from','ilike',self)]" string="Applicant"/>
|
||||
<field name="job_id" widget="selection"/>
|
||||
<field name="user_id">
|
||||
<filter domain="[('user_id','=',False)]" help="Unassigned Recruitments" icon="terp-personal-" separator="1"/>
|
||||
</field>
|
||||
<field name="department_id" widget="selection" string="Department" context="{'invisible_department': False}">
|
||||
<filter icon="terp-personal+" context="{'invisible_department': False}"
|
||||
domain="[('department_id','=',context.get('department_id',False))]"
|
||||
help="My Department"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="11" col="20">
|
||||
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
|
@ -263,6 +262,7 @@
|
|||
<filter string="Appreciation" icon="terp-face-plain" domain="[]" context="{'group_by':'priority'}"/>
|
||||
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Source" icon="terp-face-plain" domain="[]" context="{'group_by':'source_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Creation Date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}"/>
|
||||
</group>
|
||||
|
@ -400,5 +400,40 @@
|
|||
action="hr_recruitment_degree_action"
|
||||
sequence="1"/>
|
||||
|
||||
<!-- Source Tree View -->
|
||||
|
||||
<record model="ir.ui.view" id="hr_recruitment_source_tree">
|
||||
<field name="name">hr.recruitment.source.tree</field>
|
||||
<field name="model">hr.recruitment.source</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Sources of Applicants">
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="hr_recruitment_source_form">
|
||||
<field name="name">hr.recruitment.source.form</field>
|
||||
<field name="model">hr.recruitment.source</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Sources of Applicants">
|
||||
<field name="name"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="hr_recruitment_source_action" model="ir.actions.act_window">
|
||||
<field name="name">Sources of Applicants</field>
|
||||
<field name="res_model">hr.recruitment.source</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="menu_hr_recruitment_source"
|
||||
parent="menu_hr_recruitment_recruitment"
|
||||
action="hr_recruitment_source_action"
|
||||
sequence="1"/>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -190,17 +190,17 @@ class project_issue(crm.crm_case, osv.osv):
|
|||
select=True, help='Sales team to which Case belongs to.\
|
||||
Define Responsible user and Email account for mail gateway.'),
|
||||
'user_id': fields.related('project_id', 'user_id', type='many2one', relation='res.users', store=True, select=1, string='Responsible'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', select=1),
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \
|
||||
domain="[('partner_id','=',partner_id)]"),
|
||||
'company_id': fields.many2one('res.company', 'Company'),
|
||||
'description': fields.text('Description'),
|
||||
'state': fields.selection([('draft', 'Draft'), ('open', 'To Do'), ('cancel', 'Cancelled'), ('done', 'Closed'),('pending', 'Pending'), ], 'State', size=16, readonly=True,
|
||||
'state': fields.selection([('draft', 'New'), ('open', 'To Do'), ('cancel', 'Cancelled'), ('done', 'Closed'),('pending', 'Pending'), ], 'State', size=16, readonly=True,
|
||||
help='The state is set to \'Draft\', when a case is created.\
|
||||
\nIf the case is in progress the state is set to \'Open\'.\
|
||||
\nWhen the case is over, the state is set to \'Done\'.\
|
||||
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
|
||||
'email_from': fields.char('Email', size=128, help="These people will receive email."),
|
||||
'email_from': fields.char('Email', size=128, help="These people will receive email.", select=1),
|
||||
'email_cc': fields.char('Watchers Emails', size=256, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
|
||||
'date_open': fields.datetime('Opened', readonly=True,select=True),
|
||||
# Project Issue fields
|
||||
|
@ -211,7 +211,7 @@ class project_issue(crm.crm_case, osv.osv):
|
|||
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('object_id.model', '=', 'crm.project.bug')]"),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'version_id': fields.many2one('project.issue.version', 'Version'),
|
||||
'partner_name': fields.char("Employee's Name", size=64),
|
||||
'partner_name': fields.char("Partner Name", size=64),
|
||||
'partner_mobile': fields.char('Mobile', size=32),
|
||||
'partner_phone': fields.char('Phone', size=32),
|
||||
'type_id': fields.many2one ('project.task.type', 'Resolution', domain="[('project_ids', '=', project_id)]"),
|
||||
|
|
|
@ -90,7 +90,7 @@
|
|||
<button name="case_close" string="Close" states="open,draft,pending" type="object" icon="terp-dialog-close"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
<button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Communication & History" groups="base.group_extended">
|
||||
|
@ -199,7 +199,7 @@
|
|||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" help="To Do"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
<button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
<field name="categ_id" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -212,19 +212,17 @@
|
|||
<field name="arch" type="xml">
|
||||
<search string="Issue Tracker Search">
|
||||
<group>
|
||||
<filter string="Current" name="current" domain="[('state','in',('open','draft'))]" help="Draft and To Do" icon="terp-check"/>
|
||||
<filter string="Current" name="current" domain="[('state','in',('open','draft','pending'))]" help="New, pending and to do" icon="terp-check"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help="New Issues" icon="terp-camera_test"/>
|
||||
<filter string="To Do" domain="[('state','=','open')]" help="To Do Issues" icon="terp-camera_test"/>
|
||||
<filter string="Pending" domain="[('state','=','pending')]" help="Pending Issues" icon="terp-gtk-media-pause"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-go-today" string="Today" separator="1" domain="[('create_date','>=',time.strftime('%%Y-%%m-%%d')),('create_date','<', (datetime.date.today() + datetime.timedelta (days = 1)).strftime('%%Y-%%m-%%d'))]" help="Today's bugs" />
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name"/>
|
||||
<field name="partner_id" groups="base.group_extended"/>
|
||||
<field name="name" string="Issue / Partner" filter_domain="['|', '|', ('partner_id','ilike',self), ('email_from','ilike',self), ('name','ilike',self)]"/>
|
||||
<field name="assigned_to">
|
||||
<filter domain="[('assigned_to','=',False)]" help="Unassigned Issues" icon="terp-personal-" separator="1"/>
|
||||
</field>
|
||||
<field name="project_id"/>
|
||||
<field name="version_id" widget="selection"/>
|
||||
<field name="id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
|
@ -293,7 +291,7 @@
|
|||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
<button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
Loading…
Reference in New Issue