Divyesh Makwana(OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-state_sync_with_kanban-task-mdi into 
lp:~openerp-dev/openobject-addons/trunk-state_sync_with_kanban.

Requested reviews:
  OpenERP R&D Team (openerp-dev)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-state_sync_with_kanban-task-mdi/+merge/101686

Hello Sir,

I have done the synchronization between states and stages in kanban.

Thanks,

Divyesh


-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-state_sync_with_kanban-task-mdi/+merge/101686
Your team OpenERP R&D Team is requested to review the proposed merge of 
lp:~openerp-dev/openobject-addons/trunk-state_sync_with_kanban-task-mdi into 
lp:~openerp-dev/openobject-addons/trunk-state_sync_with_kanban.
=== modified file 'project/project.py'
--- project/project.py	2012-04-03 17:21:08 +0000
+++ project/project.py	2012-04-12 06:16:20 +0000
@@ -32,6 +32,8 @@
 #    _name = 'project.project'
 #project_project()
 
+_TASK_STATE = [('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done'), ('cancelled', 'Cancelled')]
+
 class project_task_type(osv.osv):
     _name = 'project.task.type'
     _description = 'Task Stage'
@@ -42,8 +44,12 @@
         'sequence': fields.integer('Sequence'),
         'project_default': fields.boolean('Common to All Projects', help="If you check this field, this stage will be proposed by default on each new project. It will not assign this stage to existing projects."),
         'project_ids': fields.many2many('project.project', 'project_task_type_rel', 'type_id', 'project_id', 'Projects'),
+        'state': fields.selection(_TASK_STATE, 'State', required=True,
+                                help='If the task is created the state is \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\
+                                \n If the task is over, the states is set to \'Done\'.'),
     }
     _defaults = {
+        'state': 'draft',
         'sequence': 1
     }
     _order = 'sequence'
@@ -662,9 +668,7 @@
         'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority', select=True),
         'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of tasks."),
         'type_id': fields.many2one('project.task.type', 'Stage'),
-        'state': fields.selection([('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done'), ('cancelled', 'Cancelled')], 'State', readonly=True, required=True,
-                                  help='If the task is created the state is \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\
-                                  \n If the task is over, the states is set to \'Done\'.'),
+        'state': fields.related('type_id','state', type='selection', selection=_TASK_STATE, string="State", readonly=True, store=True),
         'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready To Pull')], 'Kanban State',
                                          help="A task's kanban state indicates special situations affecting it:\n"
                                               " * Normal is the default situation\n"

=== modified file 'project/project_view.xml'
--- project/project_view.xml	2012-04-03 10:24:08 +0000
+++ project/project_view.xml	2012-04-12 06:16:20 +0000
@@ -258,14 +258,14 @@
                             </field>
                             <newline/>
                             <group col="11" colspan="4">
-                                <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}' select="1"/>
-                                <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/>
-                                <button name="do_draft" states="open" string="Draft" type="object" icon="gtk-indent"/>
-                                <button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-media-play"/>
+                                <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}' select="1" groups="base.group_no_one"/>
+                                <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" groups="base.group_no_one"/>
+                                <button name="do_draft" states="open" string="Draft" type="object" icon="gtk-indent" groups="base.group_no_one"/>
+                                <button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-media-play" groups="base.group_no_one"/>
                                 <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" groups="base.group_no_one"/>
                                 <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal"/>
-                                <button name="action_close" states="pending,open" string="Done" type="object" icon="terp-dialog-close"/>
+                                <button name="action_close" states="pending,open" string="Done" type="object" icon="terp-dialog-close" groups="base.group_no_one"/>
                             </group>
                         </page>
                         <page groups="base.group_extended" string="Delegations History">
@@ -276,7 +276,8 @@
                                 <tree string="Delegated tasks">
                                     <field name="name"/>
                                     <field name="user_id"/>
-                                    <field name="state"/>
+                                    <field name="type_id"/>
+                                    <field name="state" groups="base.group_no_one"/>
                                     <field name="effective_hours" widget="float_time"/>
                                     <field name="progress" widget="progressbar"/>
                                     <field name="remaining_hours" widget="float_time"/>
@@ -324,7 +325,7 @@
                     <field name="user_email"/>
                     <field name="description"/>
                     <field name="sequence"/>
-                    <field name="state"/>
+                    <field name="state" groups="base.group_no_one"/>
                     <field name="kanban_state"/>
                     <field name="remaining_hours" sum="Remaining Time"/>
                     <field name="date_deadline"/>
@@ -375,7 +376,7 @@
                                                         type="object" class="oe_kanban_button"><t t-esc="time[0]"/></a
                                                     ><b t-if="time[1]" class="oe_kanban_button oe_kanban_button_active"><t t-esc="Math.round(hours)"/></b
                                                 ></t>
-                                                <a name="do_open" states="draft" string="Validate planned time and open task" type="object" class="oe_kanban_button oe_kanban_button_active">!</a>
+                                                <a name="do_open" states="draft" string="Validate planned time and open task" type="object" class="oe_kanban_button oe_kanban_button_active" groups="base.group_no_one">!</a>
                                             </span>
                                         </div>
                                         <div class="oe_kanban_clear"/>
@@ -385,7 +386,7 @@
                                             <a string="Edit" icon="gtk-edit" type="edit"/>
                                             <a string="Change Color" icon="color-picker" type="color" name="color"/>
                                             <a name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal"/>
-                                            <a name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close"/>
+                                            <a name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" groups="base.group_no_one"/>
                                         </div>
                                         <div class="oe_kanban_right">
                                             <a name="set_kanban_state_blocked" string="Mark as Blocked" kanban_states="normal,done" type="object" icon="kanban-stop"/>
@@ -430,10 +431,10 @@
                     <field name="date_start" invisible="1" groups="base.group_no_one"/>
                     <field name="date_end" invisible="1" groups="base.group_no_one"/>
                     <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
-                    <field name="state" invisible="context.get('set_visible',False)"/>
-                    <button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-media-play" help="For changing to open state" invisible="context.get('set_visible',False)"/>
+                    <field name="state" invisible="context.get('set_visible',False)" groups="base.group_no_one"/>
+                    <button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-media-play" help="For changing to open state" invisible="context.get('set_visible',False)" groups="base.group_no_one"/>
                     <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal" help="For changing to delegate state"/>
-                    <button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/>
+                    <button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state" groups="base.group_no_one"/>
                 </tree>
             </field>
         </record>
@@ -482,9 +483,9 @@
             <field name="arch" type="xml">
                <search string="Tasks">
                     <group>
-                        <filter name="draft" string="New" domain="[('state','=','draft')]" help="New Tasks" icon="terp-check"/>
-                        <filter name="open" string="In Progress" domain="[('state','=','open')]" help="In Progress Tasks" icon="terp-camera_test"/>
-                        <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/>
+                        <filter name="draft" string="New" domain="[('state','=','draft')]" help="New Tasks" icon="terp-check" groups="base.group_no_one"/>
+                        <filter name="open" string="In Progress" domain="[('state','=','open')]" help="In Progress Tasks" icon="terp-camera_test" groups="base.group_no_one"/>
+                        <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause" groups="base.group_no_one"/>
                         <separator orientation="vertical"/>
                         <filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','&lt;&gt;',False)]" help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/>
                         <separator orientation="vertical"/>
@@ -504,7 +505,7 @@
                         <filter string="Project" name="group_project_id" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
                         <separator orientation="vertical"/>
                         <filter string="Stage" 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'}" groups="base.group_no_one"/>
                         <separator orientation="vertical"/>
                         <filter string="Deadline" icon="terp-gnome-cpu-frequency-applet+" domain="[]" context="{'group_by':'date_deadline'}"/>
                         <separator orientation="vertical" groups="base.group_no_one"/>
@@ -592,6 +593,7 @@
                     <field name="name"/>
                     <field name="project_default"/>
                     <field name="sequence"/>
+                    <field name="state"/>
                     </group>
                     <separator string="Description" colspan="4"/>
                     <field colspan="4" name="description" nolabel="1"/>
@@ -607,6 +609,7 @@
                 <tree string="Task Stage">
                     <field name="sequence"/>
                     <field name="name"/>
+                    <field name="state"/>
                 </tree>
             </field>
         </record>

=== modified file 'project_issue/project_issue.py'
--- project_issue/project_issue.py	2012-04-03 17:21:08 +0000
+++ project_issue/project_issue.py	2012-04-12 06:16:20 +0000
@@ -42,6 +42,8 @@
     }
 project_issue_version()
 
+_ISSUE_STATE= [('draft', 'New'), ('open', 'In Progress'), ('cancel', 'Cancelled'), ('done', 'Done'),('pending', 'Pending')]
+
 class project_issue(crm.crm_case, osv.osv):
     _name = "project.issue"
     _description = "Project Issue"
@@ -179,11 +181,7 @@
         'partner_id': fields.many2one('res.partner', 'Partner', select=1),
         'company_id': fields.many2one('res.company', 'Company'),
         'description': fields.text('Description'),
-        'state': fields.selection([('draft', 'New'), ('open', 'In Progress'), ('cancel', 'Cancelled'), ('done', 'Done'),('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\'.'),
+        'state': fields.related('type_id','state', type='selection', selection=_ISSUE_STATE, string="State", readonly=True, store=True),
         '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),

=== modified file 'project_issue/project_issue_view.xml'
--- project_issue/project_issue_view.xml	2012-04-03 10:24:08 +0000
+++ project_issue/project_issue_view.xml	2012-04-12 06:16:20 +0000
@@ -87,13 +87,13 @@
                             <field name="description" nolabel="1" colspan="4"/>
                             <separator colspan="4"/>
                             <group col="8" colspan="4">
-                            <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
-                            <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
-                            <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
-                            <button name="case_close" string="Done" 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"/>
+                            <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}' groups="base.group_no_one"/>
+                            <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel" groups="base.group_no_one"/>
+                            <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" groups="base.group_no_one"/>
+                            <button name="case_close" string="Done" states="open,draft,pending" type="object" icon="terp-dialog-close" groups="base.group_no_one"/>
+                            <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause" groups="base.group_no_one"/>
                             <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
-                            <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
+                            <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert" groups="base.group_no_one"/>
                             </group>
                         </page>
                         <page string="Extra Info" groups="base.group_extended">
@@ -136,13 +136,13 @@
                     <field name="version_id" widget="selection"/>
                     <field name="user_id"/>
                     <field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
-                    <field name="state"/>
-                    <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
-                    <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" help="To Do"/>
-                    <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
+                    <field name="state" groups="base.group_no_one"/>
+                    <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel" groups="base.group_no_one"/>
+                    <button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to" groups="base.group_no_one"/>
+                    <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" help="To Do" groups="base.group_no_one"/>
+                    <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause" groups="base.group_no_one"/>
                     <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
-                    <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
+                    <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert" groups="base.group_no_one"/>
                     <field name="categ_id" invisible="1"/>
                     <field name="task_id" invisible="1"/>
                 </tree>
@@ -156,9 +156,9 @@
             <field name="arch" type="xml">
                 <search string="Issue Tracker Search">
                     <group>
-                        <filter string="New" icon="terp-document-new" name="draft" domain="[('state','=','draft')]" help="New Issues"/>
-                        <filter string="To Do" name="todo" domain="[('state','=','open')]" help="To Do Issues" icon="terp-check"/>
-                        <filter string="Pending" domain="[('state','=','pending')]"  help="Pending Issues" icon="terp-gtk-media-pause"/>
+                        <filter string="New" icon="terp-document-new" name="draft" domain="[('state','=','draft')]" help="New Issues" groups="base.group_no_one"/>
+                        <filter string="To Do" name="todo" domain="[('state','=','open')]" help="To Do Issues" icon="terp-check" groups="base.group_no_one"/>
+                        <filter string="Pending" domain="[('state','=','pending')]"  help="Pending Issues" icon="terp-gtk-media-pause" groups="base.group_no_one"/>
                         <separator orientation="vertical"/>
                         <field name="name" string="Issue / Partner" filter_domain="['|', '|', ('partner_id','ilike',self), ('email_from','ilike',self), ('name','ilike',self)]"/>
                         <field name="user_id">
@@ -186,7 +186,7 @@
                         <filter string="Stage" icon="terp-stage" domain="[]"
                             context="{'group_by':'type_id'}" />
                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
-                            context="{'group_by':'state'}" />
+                            context="{'group_by':'state'}" groups="base.group_no_one"/>
                         <separator orientation="vertical" />
                         <filter string="Month" icon="terp-go-month"
                             domain="[]" context="{'group_by':'create_date'}" help="Creation Month"/>
@@ -218,7 +218,7 @@
         <field name="arch" type="xml">
             <kanban default_group_by="type_id">
                 <field name="color"/>
-                <field name="state"/>
+                <field name="state" groups="base.group_no_one"/>
                 <field name="priority"/>
                 <field name="user_email"/>
                 <field name="user_id"/>
@@ -262,9 +262,9 @@
                                         <a string="Convert To Task" name="convert_issue_task" icon="gtk-index" type="object"/>
                                     </div>
                                     <div class="oe_kanban_right">
-                                        <a name="case_open" string="Open" states="draft,pending" type="object" icon="kanban-apply" />
-                                        <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause"/>
-                                        <a name="case_close" string="Close" states="open,draft,pending" type="object" icon="kanban-stop"/>
+                                        <a name="case_open" string="Open" states="draft,pending" type="object" icon="kanban-apply" groups="base.group_no_one"/>
+                                        <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause" groups="base.group_no_one"/>
+                                        <a name="case_close" string="Close" states="open,draft,pending" type="object" icon="kanban-stop" groups="base.group_no_one"/>
                                     </div>
                                     <div class="oe_kanban_clear"/>
                                 </div>
@@ -300,13 +300,13 @@
                     <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
                     <field name="version_id"/>
                     <field name="user_id"/>
-                    <field name="state"/>
-                    <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
-                    <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_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
+                    <field name="state" groups="base.group_no_one"/>
+                    <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel" groups="base.group_no_one"/>
+                    <button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to" groups="base.group_no_one"/>
+                    <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" groups="base.group_no_one"/>
+                    <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause" groups="base.group_no_one"/>
                     <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
-                    <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
+                    <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert" groups="base.group_no_one"/>
                 </tree>
             </field>
         </record>
@@ -317,13 +317,13 @@
             <field name="type">search</field>
             <field name="arch" type="xml">
                 <search string="Feature Tracker Search">
-                    <filter icon="terp-go-today" string="Today" 
+                    <filter icon="terp-go-today" string="Today"
                         domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]" help="Today's features"/>
                     <separator orientation="vertical"/>
                     <group>
                         <field name="name" string="Feature description"/>
                         <field name="user_id"/>
-                        <field name="state">
+                        <field name="state" groups="base.group_no_one">
                         <filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
                         <filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>
                         </field>

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to