merge
authorFabien Pinckaers <fp@tinyerp.com>
Wed, 17 Sep 2008 07:51:13 +0000 (09:51 +0200)
committerFabien Pinckaers <fp@tinyerp.com>
Wed, 17 Sep 2008 07:51:13 +0000 (09:51 +0200)
bzr revid: fp@tinyerp.com-20080917075113-x8mpx0v9qwx4e4na

1  2 
addons/process/process.py
addons/stock/stock_view.xml

@@@ -45,9 -45,12 +45,9 @@@ class process_process(osv.osv)
      }
  
      def graph_get(self, cr, uid, id, res_model, res_id, scale, context):
 -        
          pool = pooler.get_pool(cr.dbname)
 -
          process = pool.get('process.process').browse(cr, uid, [id])[0]
          current_object = pool.get(res_model).browse(cr, uid, [res_id])[0]
 -
          nodes = {}
          start = []
          transitions = {}
                  pass
  
              nodes[node.id] = data
              if node.flow_start:
                  start.append(node.id)
  
-             for tr in node.transition_ids:
+             for tr in node.transition_out:
                  data = {}
                  data['name'] = tr.name
                  data['source'] = tr.source_node_id.id
                  data['target'] = tr.target_node_id.id
 -
                  data['buttons'] = buttons = []
                  for b in tr.action_ids:
                      button = {}
                      button['name'] = b.name
                      buttons.append(button)
 -
                  data['roles'] = roles = []
-                 for r in tr.role_ids:
-                     role = {}
-                     role['name'] = r.name
-                     roles.append(role)
+                 for r in tr.transition_ids:
+                     if r.role_id:
+                         role = {}
+                         role['name'] = r.role_id.name
+                         roles.append(role)
 -            
                  transitions[tr.id] = data
  
          g = tools.graph(nodes.keys(), map(lambda x: (x['source'], x['target']), transitions.values()))
          g.process(start)
          #g.scale(100, 100, 180, 120)
          g.scale(*scale)
 -
          graph = g.result_get()
          miny = -1
  
          for k,v in nodes.items():
 -
              x = graph[k]['y']
              y = graph[k]['x']
 -
              if miny == -1:
                  miny = y
 -
              miny = min(y, miny)
 -
              v['x'] = x
              v['y'] = y
  
          for k, v in nodes.items():
              y = v['y']
              v['y'] = min(y - miny + 10, y)
 -
          return dict(nodes=nodes, transitions=transitions)
  
  process_process()
@@@ -130,7 -146,8 +131,8 @@@ class process_node(osv.osv)
          'model_id': fields.many2one('ir.model', 'Object', ondelete='set null'),
          'model_states': fields.char('States Expression', size=128),
          'flow_start': fields.boolean('Starting Flow'),
-         'transition_ids': fields.one2many('process.transition', 'source_node_id', 'Transitions'),
+         'transition_in': fields.one2many('process.transition', 'target_node_id', 'Starting Transitions'),
+         'transition_out': fields.one2many('process.transition', 'source_node_id', 'Ending Transitions'),
      }
      _defaults = {
          'kind': lambda *args: 'state',
@@@ -147,9 -164,11 +149,9 @@@ class process_transition(osv.osv)
          'source_node_id': fields.many2one('process.node', 'Source Node', required=True, ondelete='cascade'),
          'target_node_id': fields.many2one('process.node', 'Target Node', required=True, ondelete='cascade'),        
          'action_ids': fields.one2many('process.transition.action', 'transition_id', 'Buttons'),
-         'role_ids': fields.many2many('res.roles', 'process_transition_roles_rel', 'process_transition_id', 'role_id', 'Roles Required'),
+         'transition_ids': fields.many2many('workflow.transition', 'process_transition_ids', 'ptr_id', 'wtr_id', 'Workflow Transitions'),
          'note': fields.text('Description'),
      }
 -    _defaults = {
 -    }
  process_transition()
  
  class process_transition_action(osv.osv):
      }
  process_transition_action()
  
 -
 -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
 -
          </record>
          <menuitem action="action_inventory_form" id="menu_action_inventory_form" parent="menu_stock_root"/>
  
 -        <record id="action_inventory_line_form" model="ir.actions.act_window">
 -            <field name="name">Inventory Lines</field>
 +        <record id="action_inventory_form_draft" model="ir.actions.act_window">
 +            <field name="name">Draft Physical Inventories</field>
              <field name="type">ir.actions.act_window</field>
 -            <field name="res_model">stock.inventory.line</field>
 +            <field name="res_model">stock.inventory</field>
              <field name="view_type">form</field>
 -            <field name="view_mode">tree,form</field>
 -            <field name="view_id" ref="stock_inventory_line_tree"/>
 +            <field name="domain">[('state','=','draft')]</field>
          </record>
 -        <menuitem action="action_inventory_line_form" groups="base.group_extended" id="menu_action_inventory_line_form" parent="menu_action_inventory_form"/>
 +        <menuitem action="action_inventory_form_draft" id="menu_action_inventory_form_draft" parent="menu_action_inventory_form"/>
 +        <record id="action_inventory_form_new" model="ir.actions.act_window">
 +            <field name="name">New Physical Inventory</field>
 +            <field name="type">ir.actions.act_window</field>
 +            <field name="res_model">stock.inventory</field>
 +            <field name="view_type">form</field>
 +            <field name="view_mode">form,tree</field>
 +        </record>
 +        <menuitem action="action_inventory_form_new" id="menu_action_inventory_form_new" parent="menu_action_inventory_form"/>
  
  
          =============================
              <field name="model">stock.location</field>
              <field name="type">tree</field>
              <field name="arch" type="xml">
 -                <tree string="Stock location">
 -                    <field name="name"/>
 +                <tree string="Stock location" colors="blue:usage=='internal'">
 +                    <field name="complete_name"/>
                      <field name="usage"/>
                      <field name="account_id"/>
                      <field name="active"/>
              <field name="type">calendar</field>
              <field name="priority" eval="2"/>
              <field name="arch" type="xml">
-                 <calendar string="Calendar View" date_start="date" color="state">
+                 <calendar string="Calendar View" date_start="min_date" date_stop="max_date" color="address_id">
                      <field name="name"/>
                      <field name="type"/>
                      <field name="address_id"/>
                          <field name="origin" select="2"/>
                          <field name="invoice_state" select="2" string="Invoice Control"/>
                          <field name="name" readonly="1" select="1"/>
 -                        <field name="min_date" select="2"/>
 +                        <field name="min_date" select="2" readonly="1"/>
                      </group>
                      <notebook colspan="4">
                          <page string="General Information">