[IMP]: Usability imporvements in project_* and document_* modules

bzr revid: rvo@tinyerp.co.in-20100920061101-qizxmc2hyxcj2a9s
This commit is contained in:
RHA(OpenERP) 2010-09-20 11:41:01 +05:30 committed by Rvo (Open ERP)
parent 7934430265
commit 4def2f930b
11 changed files with 72 additions and 61 deletions

View File

@ -44,7 +44,7 @@
<field name="name" /> <field name="name" />
<newline/> <newline/>
<group expand="0" string="Group By..." groups="base.group_extended"> <group expand="0" string="Group By..." groups="base.group_extended">
<filter string="Type" domain="[]" context="{'group_by':'type'}"/> <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
</group> </group>
</search> </search>
</field> </field>
@ -80,7 +80,7 @@
<separator string="Directory Type" colspan="4"/> <separator string="Directory Type" colspan="4"/>
<field name="type"/> <field name="type"/>
<group colspan="4" col="4" attrs="{'invisible': [('type','!=','ressource')]}"> <group colspan="4" col="4" attrs="{'invisible': [('type','!=','ressource')]}">
<field name="ressource_type_id" on_change="onchange_content_id(ressource_type_id)" <field name="ressource_type_id" on_change="onchange_content_id(ressource_type_id)"
attrs="{'required': [('type','=','ressource')] }"/> attrs="{'required': [('type','=','ressource')] }"/>
<field name="resource_find_all" groups="base.group_extended" /> <field name="resource_find_all" groups="base.group_extended" />
<newline/> <newline/>
@ -93,7 +93,7 @@
<field name="ressource_parent_type_id"/> <field name="ressource_parent_type_id"/>
<field name="ressource_id" select="2" readonly="1"/> <field name="ressource_id" select="2" readonly="1"/>
</group> </group>
</page> </page>
<page string="Generated Files" groups="base.group_extended"> <page string="Generated Files" groups="base.group_extended">
<label colspan="4" string="For each entry here, virtual files will appear in this folder." /> <label colspan="4" string="For each entry here, virtual files will appear in this folder." />
@ -168,7 +168,7 @@
<field name="storage_id" /> <field name="storage_id" />
<newline/> <newline/>
<group expand="0" string="Group By..." groups="base.group_extended"> <group expand="0" string="Group By..." groups="base.group_extended">
<filter string="Type" domain="[]" context="{'group_by':'type'}"/> <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Storage" domain="[]" context="{'group_by':'storage_id'}"/> <filter string="Storage" domain="[]" context="{'group_by':'storage_id'}"/>
</group> </group>

View File

@ -4,7 +4,7 @@
<record id="ftp_browse_form" model="ir.ui.view"> <record id="ftp_browse_form" model="ir.ui.view">
<field name="name">Document FTP Browse</field> <field name="name">Document FTP Browse</field>
<field name="model">document.ftp.browse</field> <field name="model">document.ftp.browse</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Browse Document"> <form string="Browse Document">
<separator string="Browse Document" colspan="4"/> <separator string="Browse Document" colspan="4"/>
@ -12,7 +12,7 @@
<separator colspan="4"/> <separator colspan="4"/>
<group col="4" colspan="4"> <group col="4" colspan="4">
<label string="" colspan="2"/> <label string="" colspan="2"/>
<button special="cancel" string="_Close" icon="gtk-cancel"/> <button special="cancel" string="_Cancel" icon="gtk-cancel"/>
<button name="browse_ftp" string="_Browse" type="object" icon="gtk-ok"/> <button name="browse_ftp" string="_Browse" type="object" icon="gtk-ok"/>
</group> </group>
</form> </form>
@ -32,7 +32,7 @@
<menuitem <menuitem
name="Shared Repository (FTP)" name="Shared Repository (FTP)"
action="action_ftp_browse" action="action_ftp_browse"
id="menu_document_browse" id="menu_document_browse"
icon="STOCK_EXECUTE" icon="STOCK_EXECUTE"
parent="document.menu_document_doc" sequence="1"/> parent="document.menu_document_doc" sequence="1"/>

View File

@ -423,8 +423,7 @@ class task(osv.osv):
'date_start': fields.datetime('Starting Date'), 'date_start': fields.datetime('Starting Date'),
'date_end': fields.datetime('Ending Date'), 'date_end': fields.datetime('Ending Date'),
'date_deadline': fields.date('Deadline'), 'date_deadline': fields.date('Deadline'),
'project_id': fields.many2one('project.project', 'Project', ondelete='cascade', 'project_id': fields.many2one('project.project', 'Project', ondelete='cascade'),
help="If you have [?] in the project name, it means there are no analytic account linked to this project."),
'parent_ids': fields.many2many('project.task', 'project_task_parent_rel', 'task_id', 'parent_id', 'Parent Tasks'), 'parent_ids': fields.many2many('project.task', 'project_task_parent_rel', 'task_id', 'parent_id', 'Parent Tasks'),
'child_ids': fields.many2many('project.task', 'project_task_parent_rel', 'parent_id', 'task_id', 'Delegated Tasks'), 'child_ids': fields.many2many('project.task', 'project_task_parent_rel', 'parent_id', 'task_id', 'Delegated Tasks'),
'notes': fields.text('Notes'), 'notes': fields.text('Notes'),

View File

@ -21,8 +21,8 @@
<field name="name" string="Project Name" select="1"/> <field name="name" string="Project Name" select="1"/>
<field name="parent_id" string="Parent Project"/> <field name="parent_id" string="Parent Project"/>
<field name="user_id" string="Project Manager" select="1" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/> <field name="user_id" string="Project Manager" select="1" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
<field name="date_start" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/> <field name="date_start" string="Start Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
<field name="date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/> <field name="date" string="End Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
<field name="progress_rate" widget="progressbar"/> <field name="progress_rate" widget="progressbar"/>
</group> </group>
<notebook colspan="4"> <notebook colspan="4">
@ -44,11 +44,13 @@
</group> </group>
<newline/> <newline/>
<group col="9" colspan="8"> <group col="9" colspan="8">
<separator colspan="8"/>
<newline/>
<field name="state" select="1" readonly="1"/> <field name="state" select="1" readonly="1"/>
<button name="set_template" string="Set as Template" type="object" states="open" icon="gtk-convert"/> <button name="set_template" string="Set as Template" type="object" states="open" icon="gtk-convert"/>
<button name="set_open" string="Reactivate Project" type="object" states="pending,cancelled,close" icon="gtk-ok"/> <button name="set_open" string="Reactivate Project" type="object" states="pending,cancelled,close" icon="gtk-ok"/>
<button name="set_pending" string="Pending" type="object" states="open" icon="gtk-media-pause"/> <button name="set_pending" string="Pending" type="object" states="open" icon="gtk-media-pause"/>
<button name="set_done" string="Done" type="object" states="open,pending" icon="gtk-jump-to"/> <button name="set_done" string="Done" type="object" states="open,pending" icon="terp-dialog-close"/>
<button name="set_cancel" string="Cancel" type="object" states="open,pending" icon="gtk-cancel"/> <button name="set_cancel" string="Cancel" type="object" states="open,pending" icon="gtk-cancel"/>
<button name="reset_project" string="Reset as Project" type="object" states="template" icon="gtk-convert"/> <button name="reset_project" string="Reset as Project" type="object" states="template" icon="gtk-convert"/>
<button <button
@ -110,7 +112,7 @@
<newline /> <newline />
<group expand="0" string="Group By..." colspan="4" col="20" groups="base.group_extended"> <group expand="0" string="Group By..." colspan="4" col="20" groups="base.group_extended">
<filter string="Manager" name="Manager" icon="terp-personal" domain = "[]" context="{'group_by':'user_id'}"/> <filter string="Manager" name="Manager" icon="terp-personal" domain = "[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" name="Partner" icon="terp-personal" domain = "[]" context="{'group_by':'partner_id'}"/> <filter string="Partner" name="Partner" icon="terp-partner" domain = "[]" context="{'group_by':'partner_id'}" help="Parent Project"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Parent" name="Parent" icon="terp-folder-blue" domain = "[]" context="{'group_by':'parent_id'}"/> <filter string="Parent" name="Parent" icon="terp-folder-blue" domain = "[]" context="{'group_by':'parent_id'}"/>
</group> </group>
@ -239,7 +241,7 @@
<button name="%(action_project_task_reevaluate)d" states="done,cancelled" string="Reactivate" type="action" icon="gtk-convert" context="{'button_reactivate':True}" /> <button name="%(action_project_task_reevaluate)d" states="done,cancelled" string="Reactivate" type="action" icon="gtk-convert" context="{'button_reactivate':True}" />
<button name="do_pending" states="open" string="Pending" type="object" icon="gtk-media-pause"/> <button name="do_pending" states="open" string="Pending" type="object" icon="gtk-media-pause"/>
<button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open" string="Delegate" type="action" icon="gtk-sort-descending"/> <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open" string="Delegate" type="action" icon="gtk-sort-descending"/>
<button name="%(action_project_task_close)d" states="pending,open" string="Done" type="action" icon="gtk-apply"/> <button name="%(action_project_task_close)d" states="pending,open" string="Done" type="action" icon="terp-dialog-close"/>
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/> <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/>
</group> </group>
</page> </page>
@ -276,7 +278,7 @@
<field name="partner_id"/> <field name="partner_id"/>
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/> <field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
<group col="4" colspan="2"> <group col="4" colspan="2">
<field name="type_id" widget="selection" readonly="1"/> <field name="type_id" widget="selection"/>
<button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/> <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
<button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/> <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
</group> </group>
@ -302,6 +304,7 @@
<field name="delegated_user_id" invisible="context.get('show_delegated', True)"/> <field name="delegated_user_id" invisible="context.get('show_delegated', True)"/>
<field name="remaining_hours" widget="float_time" sum="Remaining Hours" invisible="context.get('set_visible',False)"/> <field name="remaining_hours" widget="float_time" sum="Remaining Hours" invisible="context.get('set_visible',False)"/>
<field name="date_deadline" invisible="context.get('set_visible',False)"/> <field name="date_deadline" invisible="context.get('set_visible',False)"/>
<field name="type_id" groups="base.group_extended" invisible="context.get('set_visible',False)"/>
<button name="next_type" invisible="context.get('set_visible',False)" <button name="next_type" invisible="context.get('set_visible',False)"
states="draft,open,pending" states="draft,open,pending"
string="Change Stage" string="Change Stage"
@ -309,7 +312,6 @@
icon="gtk-go-forward" icon="gtk-go-forward"
groups="base.group_extended" groups="base.group_extended"
help="Change Type"/> help="Change Type"/>
<field name="type_id" groups="base.group_extended" invisible="context.get('set_visible',False)"/>
<field name="date_start" invisible="1"/> <field name="date_start" invisible="1"/>
<field name="date_end" invisible="1"/> <field name="date_end" invisible="1"/>
<field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/> <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
@ -369,7 +371,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="Task Edition"> <search string="Task Edition">
<group col="20" colspan="4"> <group col="20" colspan="4">
<filter string="Current" domain="[('state','in',('open','draft'))]" name="current" help="Draft, Open and Pending Tasks" icon="terp-check" default="1"/> <filter string="Current" domain="[('state','in',('open','draft'))]" name="current" help="Draft, In Progress and Pending Tasks" icon="terp-check" default="1"/>
<filter string="In Progress" domain="[('state','=','open')]" help="Open Tasks" icon="terp-camera_test"/> <filter string="In Progress" domain="[('state','=','open')]" help="Open Tasks" icon="terp-camera_test"/>
<filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/> <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
@ -397,9 +399,10 @@
<filter string="Stages" name="group_stage_id" icon="terp-stage" domain="[]" context="{'group_by':'type_id'}"/> <filter string="Stages" name="group_stage_id" icon="terp-stage" domain="[]" context="{'group_by':'type_id'}"/>
<filter string="State" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="State" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Deadline" icon="terp-gnome-cpu-frequency-applet+" domain="[]" context="{'group_by':'date_deadline'}"/>
<separator orientation="vertical"/>
<filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}"/> <filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}"/>
<filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_end'}"/> <filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_end'}"/>
<filter string="Deadline" icon="terp-gnome-cpu-frequency-applet+" domain="[]" context="{'group_by':'date_deadline'}"/>
</group> </group>
</search> </search>
</field> </field>
@ -414,10 +417,7 @@
<field name="view_id" ref="view_task_tree2"/> <field name="view_id" ref="view_task_tree2"/>
<field name="context">{"search_default_project_id":project_id, "search_default_user_id":uid, "search_default_current": 1}</field> <field name="context">{"search_default_project_id":project_id, "search_default_user_id":uid, "search_default_current": 1}</field>
<field name="search_view_id" ref="view_task_search_form"/> <field name="search_view_id" ref="view_task_search_form"/>
<field name="help">In OpenERP, a project is made of a set of activities (or tasks) for completion.A list view allows the manager to quickly check for task status and make it evolve, delegate task, etc. A search tool allows a multi-criteria sort of activities. <field name="help">In OpenERP, a project is made of a set of activities (or tasks) for completion. A list view allows the manager to quickly check for task status and make it evolve, delegate task, etc. A search tool allows a multi-criteria sort of activities.</field>
Issues like bugs in a system, client complain, materials breakdown are collected here.A list view allows the manager to quickly check for them, assign them, make their status evolved.
</field>
</record> </record>
<menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_project_management" sequence="2"/> <menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_project_management" sequence="2"/>

View File

@ -30,7 +30,7 @@ class project_task_delegate(osv.osv_memory):
_columns = { _columns = {
'name': fields.char('Delegated Title', size=64, required=True, help="New title of the task delegated to the user"), 'name': fields.char('Delegated Title', size=64, required=True, help="New title of the task delegated to the user"),
'prefix': fields.char('Your Task Title', size=64, required=True, help="New title of your own task to validate the work done"), 'prefix': fields.char('Your Task Title', size=64, required=True, help="Title for your validation task"),
'user_id': fields.many2one('res.users', 'Assign To', required=True, help="User you want to delegate this task to"), 'user_id': fields.many2one('res.users', 'Assign To', required=True, help="User you want to delegate this task to"),
'new_task_description': fields.text('New Task Description', help="Reinclude the description of the task in the task of the user"), 'new_task_description': fields.text('New Task Description', help="Reinclude the description of the task in the task of the user"),
'planned_hours': fields.float('Planned Hours', help="Estimated time to close this task by the delegated user"), 'planned_hours': fields.float('Planned Hours', help="Estimated time to close this task by the delegated user"),
@ -51,7 +51,7 @@ class project_task_delegate(osv.osv_memory):
project = task.project_id project = task.project_id
manager = project.user_id or False manager = project.user_id or False
partner = task.partner_id or task.project_id.partner_id partner = task.partner_id or task.project_id.partner_id
if 'name' in fields: if 'name' in fields:
if task.name.startswith(_('CHECK: ')): if task.name.startswith(_('CHECK: ')):
newname = str(task.name).replace(_('CHECK: '), '') newname = str(task.name).replace(_('CHECK: '), '')

View File

@ -18,7 +18,7 @@
<group colspan="2" col="2"> <group colspan="2" col="2">
<separator string="Validation Task" colspan="4"/> <separator string="Validation Task" colspan="4"/>
<field name="planned_hours_me" widget="float_time" colspan="4"/> <field name="planned_hours_me" widget="float_time" colspan="4"/>
<field name="prefix" colspan="4"/> <field name="prefix" string="Validatation Task Title" colspan="4"/>
<field name="state" colspan="4"/> <field name="state" colspan="4"/>
</group> </group>
<separator string="" colspan="4"/> <separator string="" colspan="4"/>

View File

@ -70,7 +70,7 @@ class project_issue(crm.crm_case, osv.osv):
message = _('Issue ') + " '" + name + "' "+ _("is Closed.") message = _('Issue ') + " '" + name + "' "+ _("is Closed.")
self.log(cr, uid, id, message) self.log(cr, uid, id, message)
return res return res
def _compute_day(self, cr, uid, ids, fields, args, context=None): def _compute_day(self, cr, uid, ids, fields, args, context=None):
if context is None: if context is None:
context = {} context = {}
@ -152,7 +152,7 @@ class project_issue(crm.crm_case, osv.osv):
domain="[('partner_id','=',partner_id)]"), domain="[('partner_id','=',partner_id)]"),
'company_id': fields.many2one('res.company', 'Company'), 'company_id': fields.many2one('res.company', 'Company'),
'description': fields.text('Description'), 'description': fields.text('Description'),
'state': fields.selection([('draft', 'Draft'), ('open', 'Todo'), ('cancel', 'Cancelled'), ('done', 'Closed'),('pending', 'Pending'), ], 'State', size=16, readonly=True, 'state': fields.selection([('draft', 'Draft'), ('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.\ help='The state is set to \'Draft\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\ \nIf the case is in progress the state is set to \'Open\'.\
\nWhen the case is over, the state is set to \'Done\'.\ \nWhen the case is over, the state is set to \'Done\'.\
@ -409,7 +409,7 @@ class project(osv.osv):
'project_escalation_id' : fields.many2one('project.project','Project Escalation', help='If any issue is escalated from the current Project, it will be listed under the project selected here.', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'project_escalation_id' : fields.many2one('project.project','Project Escalation', help='If any issue is escalated from the current Project, it will be listed under the project selected here.', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'reply_to' : fields.char('Reply-To Email Address', size=256) 'reply_to' : fields.char('Reply-To Email Address', size=256)
} }
def _check_escalation(self, cr, uid, ids): def _check_escalation(self, cr, uid, ids):
project_obj = self.browse(cr, uid, ids[0]) project_obj = self.browse(cr, uid, ids[0])
if project_obj.project_escalation_id: if project_obj.project_escalation_id:

View File

@ -12,10 +12,10 @@
<field name="view_type">form</field> <field name="view_type">form</field>
<field name="view_mode">tree,calendar</field> <field name="view_mode">tree,calendar</field>
<field name="view_id" ref="project_issue_tree_view"/> <field name="view_id" ref="project_issue_tree_view"/>
<field name="domain" eval="[('categ_id','=',ref('bug_categ'))]"/> <field name="domain" eval=""/>
<field name="context">{"search_default_user_id": uid, "search_default_current":1, "search_default_project_id":project_id}</field> <field name="context">{"search_default_user_id": uid, "search_default_current":1, "search_default_project_id":project_id}</field>
<field name="search_view_id" ref="view_project_issue_filter"/> <field name="search_view_id" ref="view_project_issue_filter"/>
<field name="help">Issues like bugs in a system, client complain, materials breakdown are collected here.A list view allows the manager to quickly check for them, assign them, make their status evolved.</field> <field name="help">Issues like bugs in a system, client complain, materials breakdown are collected here. A list view allows the manager to quickly check for them, assign them, make their status evolved.</field>
</record> </record>
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_view0"> <record model="ir.actions.act_window.view" id="action_crm_tag_tree_view0">

View File

@ -66,7 +66,7 @@
<group col="8" colspan="4"> <group col="8" colspan="4">
<field name="state" /> <field name="state" />
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/> <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
<button name="case_close" string="Close" states="open,draft,pending" type="object" icon="gtk-jump-to"/> <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_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/> <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/> <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
@ -75,7 +75,7 @@
</page> </page>
<page string="Emails" groups="base.group_extended"> <page string="Emails" groups="base.group_extended">
<group colspan="4"> <group colspan="4">
<field colspan="4" name="email_cc" string="Global CC" widget="char"/> <field colspan="4" name="email_cc" string="Global CC" widget="url"/>
</group> </group>
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form"> <field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
<tree string="History"> <tree string="History">
@ -157,7 +157,7 @@
<field name="model">project.issue</field> <field name="model">project.issue</field>
<field name="type">tree</field> <field name="type">tree</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Issue Tracker Tree" colors="red:state=='open';blue:state=='pending';grey:state in ('cancel', 'done')"> <tree string="Issue Tracker Tree" colors="black:state=='open';blue:state=='pending';grey:state in ('cancel', 'done')">
<field name="id"/> <field name="id"/>
<field name="create_date"/> <field name="create_date"/>
<field name="name"/> <field name="name"/>
@ -174,11 +174,12 @@
<field name="assigned_to"/> <field name="assigned_to"/>
<field name="state"/> <field name="state"/>
<button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/> <button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/> <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" help="To Do"/>
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/> <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/> <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_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 Draft" states="done,cancel" type="object" icon="gtk-convert"/>
<field name="categ_id" invisible="1"/>
</tree> </tree>
</field> </field>
</record> </record>
@ -190,8 +191,8 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="Issue Tracker Search"> <search string="Issue Tracker Search">
<group> <group>
<filter string="Current" name="current" domain="[('state','in',('open','draft'))]" help="Draft and Open Issues" icon="terp-check" default="1"/> <filter string="Current" name="current" domain="[('state','in',('open','draft'))]" help="Draft and To Do" icon="terp-check" default="1"/>
<filter string="In Progress" domain="[('state','=','open')]" help="Open Issues" icon="terp-camera_test"/> <filter string="To Do" domain="[('state','=','open')]" help="Open Issues" icon="terp-camera_test"/>
<filter string="Pending" domain="[('state','=','pending')]" help="Pending Issues" icon="terp-gtk-media-pause"/> <filter string="Pending" domain="[('state','=','pending')]" help="Pending Issues" icon="terp-gtk-media-pause"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter icon="terp-go-today" string=" Today " separator="1" domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]" help="Today's bugs" /> <filter icon="terp-go-today" string=" Today " separator="1" domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]" help="Today's bugs" />
@ -204,25 +205,31 @@
<field name="user_id"/> <field name="user_id"/>
<field name="project_id" string="Project"/> <field name="project_id" string="Project"/>
<field name="state"/> <field name="state"/>
<field name="categ_id"/>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Group By..." groups="base.group_extended"> <group expand="0" string="Group By..." groups="base.group_extended">
<filter string="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-partner" domain="[]"
context="{'group_by':'partner_id'}" />
<separator orientation="vertical"/>
<filter string="Project" icon="terp-folder-blue" domain="[]" <filter string="Project" icon="terp-folder-blue" domain="[]"
context="{'group_by':'project_id'}" /> context="{'group_by':'project_id'}" />
<filter string="Stage" icon="terp-stage" domain="[]"
context="{'group_by':'stage_id'}" />
<filter string="Priority" icon="terp-rating-rated" domain="[]"
context="{'group_by':'priority'}" />
<filter string="Version" icon="terp-gtk-jump-to-rtl" <filter string="Version" icon="terp-gtk-jump-to-rtl"
domain="[]" context="{'group_by':'type_id'}" /> domain="[]" context="{'group_by':'type_id'}" />
<separator orientation="vertical" /> <separator orientation="vertical"/>
<filter string="Partner" icon="terp-personal" domain="[]" <filter string="Category" icon="terp-stock_symbol-selection" domain="[]"
context="{'group_by':'partner_id'}" /> context="{'group_by':'categ_id'}" />
<filter string="Salesman" icon="terp-personal" <filter string="Priority" icon="terp-rating-rated" domain="[]"
domain="[]" context="{'group_by':'user_id'}" /> 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'}" />
<separator orientation="vertical" /> <separator orientation="vertical" />
<filter string="Month" icon="terp-go-month" <filter string="Month" icon="terp-go-month"
domain="[]" context="{'group_by':'create_date'}" /> domain="[]" context="{'group_by':'create_date'}" help="Creation Month"/>
</group> </group>
</search> </search>
</field> </field>
@ -316,6 +323,6 @@
</field> </field>
</field> </field>
</record> </record>
</data> </data>
</openerp> </openerp>

View File

@ -30,7 +30,7 @@
<form string="Project Resource Allocation"> <form string="Project Resource Allocation">
<field name="resource_id" select="1"/> <field name="resource_id" select="1"/>
<field name="phase_id"/> <field name="phase_id"/>
<field name="useability"/> <field name="useability" string="Availability"/>
</form> </form>
</field> </field>
</record> </record>
@ -90,16 +90,21 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Project Phase"> <form string="Project Phase">
<group colspan="6" col="6"> <group colspan="6" col="6">
<field name="name" select="1"/> <group colspan="2" col="2">
<field name="project_id" on_change="onchange_project(project_id)"/> <field name="name" select="1"/>
<field name="responsible_id"/> <field name="date_start"/>
</group> <field name="date_end"/>
<group colspan="6" col="6"> </group>
<field name="duration" /> <group colspan="2" col="2">
<field name="product_uom" nolabel="1" domain="[('category_id.name', '=', 'Working Time')]"/> <field name="project_id" on_change="onchange_project(project_id)" />
<field name="date_start"/> <field name="duration" />
<field name="date_end"/> </group>
<group colspan="2" col="2">
<field name="responsible_id"/>
<newline/>
<field name="product_uom" nolabel="1" domain="[('category_id.name', '=', 'Working Time')]" colspan="2"/>
</group> </group>
</group>
<notebook colspan="4"> <notebook colspan="4">
<page string="Resource Allocation"> <page string="Resource Allocation">
<field colspan="4" name="resource_ids" nolabel="1"> <field colspan="4" name="resource_ids" nolabel="1">
@ -116,9 +121,9 @@
<group col="12" colspan="4"> <group col="12" colspan="4">
<field name="state" select="1"/> <field name="state" select="1"/>
<button string="Draft" name="set_draft" states="open" icon="gtk-indent"/> <button string="Draft" name="set_draft" states="open" icon="gtk-indent"/>
<button string="Start Phase" name="set_open" states="pending,draft" icon="gtk-execute"/>
<button string="Done" name="set_done" states="pending,open" icon="gtk-apply"/>
<button string="Pending" name="set_pending" states="open" icon="gtk-media-pause"/> <button string="Pending" name="set_pending" states="open" icon="gtk-media-pause"/>
<button string="Done" name="set_done" states="pending,open" icon="terp-dialog-close"/>
<button string="Start Phase" name="set_open" states="pending,draft" icon="gtk-execute"/>
<button string="Cancel" name="set_cancel" states="draft,open,pending" icon="gtk-cancel"/> <button string="Cancel" name="set_cancel" states="draft,open,pending" icon="gtk-cancel"/>
</group> </group>
</page> </page>

View File

@ -527,10 +527,10 @@
<field name="type">search</field> <field name="type">search</field>
<field name="inherit_id" ref="project.view_task_search_form"/> <field name="inherit_id" ref="project.view_task_search_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/search/group[@string='Group By...']/filter[@string='End Date']" position="after"> <xpath expr="/search/group[@string='Group By...']/filter[@string='Project']" position="after">
<separator orientation="vertical"/>
<filter string="Sprint" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'sprint_id'}"/> <filter string="Sprint" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'sprint_id'}"/>
<filter string="Backlog" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'product_backlog_id'}"/> <filter string="Backlog" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'product_backlog_id'}"/>
<separator orientation="vertical"/>
</xpath> </xpath>
</field> </field>
</record> </record>