Membership and Base_contact flow
authorPriyesh <solanki.priyesh@gmail.com>
Mon, 27 Oct 2008 13:48:43 +0000 (19:18 +0530)
committerPriyesh <solanki.priyesh@gmail.com>
Mon, 27 Oct 2008 13:48:43 +0000 (19:18 +0530)
bzr revid: solanki.priyesh@gmail.com-20081027134843-v5n9csw5822r2x4d

addons/base_contact/__terp__.py
addons/base_contact/base_contact_view.xml
addons/base_contact/process/base_contact_process.xml [new file with mode: 0644]
addons/membership/__terp__.py
addons/membership/process/membership_process.xml [new file with mode: 0644]
addons/membership/security/ir.model.access.csv

index a267a76..c6000af 100644 (file)
 
     Pay attention that this module converts the existing addresses into "addresses + contacts". It means that some fields of the addresses will be missing (like the contact name), since these are supposed to be defined in an other object.
     """,
 
     Pay attention that this module converts the existing addresses into "addresses + contacts". It means that some fields of the addresses will be missing (like the contact name), since these are supposed to be defined in an other object.
     """,
-    "depends" : ["base"],
+    "depends" : ["base", "process"],
     "init_xml" : [],
     "demo_xml" : ["base_contact_demo.xml"],
     "update_xml" : [
         "security/ir.model.access.csv",
     "init_xml" : [],
     "demo_xml" : ["base_contact_demo.xml"],
     "update_xml" : [
         "security/ir.model.access.csv",
-        'base_contact_view.xml'
+        'base_contact_view.xml',
+        "process/base_contact_process.xml"
     ],
     "active": False,
     "installable": True
     ],
     "active": False,
     "installable": True
index 5cc819d..0ae8fda 100644 (file)
                 <field name="first_name" select="1"/>
                 <notebook colspan="4" >
                     <page string="General">
                 <field name="first_name" select="1"/>
                 <notebook colspan="4" >
                     <page string="General">
-                            <newline/>
-                            <separator string="General Information" colspan="4"/>
-                            <field name="mobile" select="2"/>
-                            <field name="title" select="1" />
-                            <field name="website"/>
-                            <field name="lang_id"/>
-                            <field name="active"/>
-                            <separator string="Functions" colspan="4"/>
-                            <field name="job_ids" colspan="4" nolabel="1" mode="tree, form">
-                                <form string="Functions">
-                                    <field name="function_id"/>
-                                    <field name="address_id"/>
-                                    <field name="name"/>
-                                    <field name="sequence_contact"/>
-                                    <field name="phone"/>
-                                    <field name="email"/>
-                                    <field name="date_start" />
-                                    <field name="date_stop" />
-                                    <field name="state" />
-                                </form>
-                                <tree string="Functions">
-                                    <field name="sequence_contact" string="Seq."/>
-                                    <field name="function_id"/>
-                                    <field name="name"/>
-                                    <field name="address_id"/>
-                                    <field name="phone"/>
-                                    <field name="email"/>
-                                    <field name="state" />
-                                </tree>
-                            </field>
+                        <newline/>
+                        <separator string="General Information" colspan="4"/>
+                        <field name="mobile" select="2"/>
+                        <field name="title" select="1" />
+                        <field name="website"/>
+                        <field name="lang_id"/>
+                        <field name="active"/>
+                        <separator string="Functions" colspan="4"/>
+                        <field name="job_ids" colspan="4" nolabel="1" mode="tree, form">
+                            <form string="Functions">
+                                <field name="function_id"/>
+                                <field name="address_id"/>
+                                <field name="name"/>
+                                <field name="sequence_contact"/>
+                                <field name="phone"/>
+                                <field name="email"/>
+                                <field name="date_start" />
+                                <field name="date_stop" />
+                                <field name="state" />
+                            </form>
+                            <tree string="Functions">
+                                <field name="sequence_contact" string="Seq."/>
+                                <field name="function_id"/>
+                                <field name="name"/>
+                                <field name="address_id"/>
+                                <field name="phone"/>
+                                <field name="email"/>
+                                <field name="state" />
+                            </tree>
+                        </field>
                     </page>
                     <page string="Extra Information">
                     </page>
                     <page string="Extra Information">
-                            <field name="country_id"/>
-                            <field name="birthdate" select="1" />
+                        <field name="country_id"/>
+                        <field name="birthdate" select="1" />
                     </page>
                 </notebook>
             </form>
                     </page>
                 </notebook>
             </form>
                         <newline/>
                         <field name="job_ids" mode="tree, form" colspan="4">
                             <tree string="Contacts" editable="top">
                         <newline/>
                         <field name="job_ids" mode="tree, form" colspan="4">
                             <tree string="Contacts" editable="top">
-                                   <field name="sequence_partner"/>
+                                <field name="sequence_partner"/>
                                 <field name="contact_id"/>
                                 <field name="function_id"/>
                                 <field name="phone"/>
                                 <field name="email"/>
                             </tree>
                             <form string="Contacts">
                                 <field name="contact_id"/>
                                 <field name="function_id"/>
                                 <field name="phone"/>
                                 <field name="email"/>
                             </tree>
                             <form string="Contacts">
-                                   <field name="sequence_partner"/>
+                                <field name="sequence_partner"/>
                                 <field name="contact_id"/>
                                 <field name="function_id"/>
                                 <field name="phone"/>
                                 <field name="contact_id"/>
                                 <field name="function_id"/>
                                 <field name="phone"/>
         </field>
     </record>
 
         </field>
     </record>
 
-<!-- Views for res.partner.job -->
+    <!-- Views for res.partner.job -->
     <record model="ir.ui.view" id="view_partner_job_tree">
         <field name="name">res.partner.job.tree</field>
         <field name="model">res.partner.job</field>
     <record model="ir.ui.view" id="view_partner_job_tree">
         <field name="name">res.partner.job.tree</field>
         <field name="model">res.partner.job</field>
                 <field name="function_id"/>
                 <field name="email"/>
                 <field name="phone"/>
                 <field name="function_id"/>
                 <field name="email"/>
                 <field name="phone"/>
+                <field name="state" />
             </tree>
         </field>
     </record>
             </tree>
         </field>
     </record>
                         <field name="phone" select="2"/>
                         <field name="sequence_contact" select="2"/>
                         <field name="sequence_partner" select="2"/>
                         <field name="phone" select="2"/>
                         <field name="sequence_contact" select="2"/>
                         <field name="sequence_partner" select="2"/>
+                        <field name="date_start" />
+                        <field name="date_stop" />
+                        <field name="state" select="2" />
                     </page>
                 </notebook>
             </form>
         </field>
     </record>
 
                     </page>
                 </notebook>
             </form>
         </field>
     </record>
 
-<!-- Menuitem for res.partner.job -->
-        <record model="ir.actions.act_window" id="action_res_partner_job">
-            <field name="name">Functions</field>
-            <field name="type">ir.actions.act_window</field>
-            <field name="res_model">res.partner.job</field>
-            <field name="view_type">form</field>
-        </record>
-        <menuitem name="Partners/Functions" action="action_res_partner_job" id="menu_action_res_partner_job"/>
-<!-- Act window defining a shorcut on partners to open all his contacts -->
-        <act_window name="Open all Partner's Function"
-            domain="[('name', '=', active_id)]"
-            res_model="res.partner.job"
-            src_model="res.partner"
-            view_mode='tree,form'
-            id="act_res_partner_jobs"/>
+    <!-- Menuitem for res.partner.job -->
+    <record model="ir.actions.act_window" id="action_res_partner_job">
+        <field name="name">Functions</field>
+        <field name="type">ir.actions.act_window</field>
+        <field name="res_model">res.partner.job</field>
+        <field name="view_type">form</field>
+    </record>
+    <menuitem name="Partners/Functions" action="action_res_partner_job" id="menu_action_res_partner_job"/>
+    <!-- Act window defining a shorcut on partners to open all his contacts -->
+    <act_window name="Open all Partner's Function"
+        domain="[('name', '=', active_id)]"
+        res_model="res.partner.job"
+        src_model="res.partner"
+        view_mode='tree,form'
+        id="act_res_partner_jobs"/>
 </data>
 </openerp>
 </data>
 </openerp>
diff --git a/addons/base_contact/process/base_contact_process.xml b/addons/base_contact/process/base_contact_process.xml
new file mode 100644 (file)
index 0000000..c446e91
--- /dev/null
@@ -0,0 +1,91 @@
+<?xml version="1.0" ?>
+<openerp>
+       <data>
+
+       <!--
+               Process
+       -->
+       
+               <record id="process_process_basecontactworkflow0" model="process.process">
+                       <field eval="&quot;&quot;&quot;base_contact workflow&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Base contact flow for services companies.&quot;&quot;&quot;" name="note"/>
+                       <field eval="1" name="active"/>
+               </record>
+               
+       <!--
+               Process node
+       -->
+
+               <record id="process_node_contacts0" model="process.node">
+                       <field name="menu_id" ref="base_contact.menu_partner_contact_form"/>
+                       <field name="model_id" ref="base_contact.model_res_partner_contact"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;People you work with.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Contacts&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_basecontactworkflow0"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+
+               <record id="process_node_partners0" model="process.node">
+                       <field name="menu_id" ref="base.menu_partner_form"/>
+                       <field name="model_id" ref="base.model_res_partner"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Companies you work with.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Partners&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_basecontactworkflow0"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+
+               <record id="process_node_function0" model="process.node">
+                       <field name="menu_id" ref="base_contact.menu_action_res_partner_job"/>
+                       <field name="model_id" ref="base_contact.model_res_partner_job"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Jobs at a same partner address.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Function&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_basecontactworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+
+               <record id="process_node_addresses0" model="process.node">
+                       <field name="menu_id" ref="base.menu_partner_address_form"/>
+                       <field name="model_id" ref="base.model_res_partner_address"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Working and private addresses.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Addresses&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_basecontactworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+       <!--
+               Process Transition
+       -->
+
+               <record id="process_transition_contacttofunction0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Contact to function&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Defines contacts and functions.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_function0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_contacts0"/>
+               </record>
+
+               <record id="process_transition_functiontoaddress0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Function to address&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Define functions and address.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_addresses0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_function0"/>
+               </record>
+
+               <record id="process_transition_partnertoaddress0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Partner to address&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Define partners and their addresses.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_addresses0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_partners0"/>
+               </record>
+               
+       </data>
+</openerp>
\ No newline at end of file
index 2d5ded0..f6fe821 100644 (file)
@@ -5,7 +5,7 @@
     "author" : "Tiny",
     "category" : "Generic Modules/Association",
     "depends" : [
     "author" : "Tiny",
     "category" : "Generic Modules/Association",
     "depends" : [
-        "base", "product", "account",
+        "base", "product", "account", "process"
         ],
     "demo_xml" : [
         #"demo_data.xml",
         ],
     "demo_xml" : [
         #"demo_data.xml",
@@ -16,7 +16,8 @@
         ],
     "update_xml" : [
         "security/ir.model.access.csv",
         ],
     "update_xml" : [
         "security/ir.model.access.csv",
-        "membership_view.xml","membership_wizard.xml"
+        "membership_view.xml","membership_wizard.xml",
+        "process/membership_process.xml"
         ],
     "active" : False,
     "installable" : True,
         ],
     "active" : False,
     "installable" : True,
diff --git a/addons/membership/process/membership_process.xml b/addons/membership/process/membership_process.xml
new file mode 100644 (file)
index 0000000..5e4b9e0
--- /dev/null
@@ -0,0 +1,139 @@
+<?xml version="1.0" ?>
+<openerp>
+       <data>
+       
+               <!--
+                       Process
+               -->
+       
+               <record id="process_process_membershipworkflow0" model="process.process">
+                       <field eval="&quot;&quot;&quot;Membership workflow&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Membership flow for services companies.&quot;&quot;&quot;" name="note"/>
+                       <field eval="1" name="active"/>
+               </record>
+               
+               <!--
+                       Process Node
+               -->
+       
+               <record id="process_node_membershipproduct0" model="process.node">
+                       <field name="menu_id" ref="membership.menu_membership_products"/>
+                       <field name="model_id" ref="product.model_product_product"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Define membership product.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Membership product&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_waitingmember0" model="process.node">
+                       <field name="menu_id" ref="account.menu_action_invoice_tree1"/>
+                       <field name="model_id" ref="account.model_account_invoice"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Draft invoice for membership.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Waiting member&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_invoicedmember0" model="process.node">
+                       <field name="menu_id" ref="account.menu_action_invoice_tree1"/>
+                       <field name="model_id" ref="account.model_account_invoice"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Open invoice.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Invoiced member&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_paidmember0" model="process.node">
+                       <field name="menu_id" ref="account.menu_action_invoice_tree1"/>
+                       <field name="model_id" ref="account.model_account_invoice"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Membership invoice paid.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Paid member&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='paid'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_setassociation0" model="process.node">
+                       <field name="menu_id" ref="membership.menu_members"/>
+                       <field name="model_id" ref="base.model_res_partner"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Set an associate member of partner.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Set association&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='paid'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_associatedmember0" model="process.node">
+                       <field name="menu_id" ref="membership.menu_members"/>
+                       <field name="model_id" ref="base.model_res_partner"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Member is associated.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Associated member&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='associated'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <!--
+                       Process Transition
+               -->
+       
+               <record id="process_transition_producttomember0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Product to member&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Define product for membership.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_waitingmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_membershipproduct0"/>
+               </record>
+       
+               <record id="process_transition_waitingtoinvoice0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Waiting to invoice&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Draft invoice is now open.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_invoicedmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_waitingmember0"/>
+               </record>
+       
+               <record id="process_transition_action_create0" model="process.transition.action">
+                       <field eval="&quot;&quot;&quot;invoice_open&quot;&quot;&quot;" name="action"/>
+                       <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+                       <field eval="&quot;&quot;&quot;Create&quot;&quot;&quot;" name="name"/>
+                       <field name="transition_id" ref="process_transition_waitingtoinvoice0"/>
+               </record>
+       
+               <record id="process_transition_invoicetopaid0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Invoice to paid&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Invoice is be paid.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_paidmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_invoicedmember0"/>
+               </record>
+       
+               <record id="process_transition_invoicetoassociate0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;invoice to associate&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Invoiced member may be Associated member.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_associatedmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_invoicedmember0"/>
+               </record>
+       
+               <record id="process_transition_associationpartner0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Association Partner&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Associated partner.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_associatedmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_setassociation0"/>
+               </record>
+               
+       </data>
+</openerp>
\ No newline at end of file
index 5b34e98..de35a7c 100644 (file)
@@ -1,5 +1,5 @@
 "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
 "access_membership_membership_line_partner_manager","membership.membership_line partner_manager","model_membership_membership_line","base.group_partner_manager",1,1,1,1
 "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
 "access_membership_membership_line_partner_manager","membership.membership_line partner_manager","model_membership_membership_line","base.group_partner_manager",1,1,1,1
-"access_membership_membership_line","membership.membership_line","model_membership_membership_line","base.group_user",1,0,0,0
+"access_membership_membership_line","membership.membership_line","model_membership_membership_line",,1,0,0,0
 "access_report_partner_member_year","report.partner_member.year","model_report_partner_member_year","base.group_partner_manager",1,0,0,0
 "access_report_partner_member_year_new","report.partner_member.year_new","model_report_partner_member_year_new","base.group_partner_manager",1,0,0,0
 "access_report_partner_member_year","report.partner_member.year","model_report_partner_member_year","base.group_partner_manager",1,0,0,0
 "access_report_partner_member_year_new","report.partner_member.year_new","model_report_partner_member_year_new","base.group_partner_manager",1,0,0,0