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.
     """,
-    "depends" : ["base"],
+    "depends" : ["base", "process"],
     "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
index 5cc819d..0ae8fda 100644 (file)
                 <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">
-                            <field name="country_id"/>
-                            <field name="birthdate" select="1" />
+                        <field name="country_id"/>
+                        <field name="birthdate" select="1" />
                     </page>
                 </notebook>
             </form>
                         <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="sequence_partner"/>
+                                <field name="sequence_partner"/>
                                 <field name="contact_id"/>
                                 <field name="function_id"/>
                                 <field name="phone"/>
         </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>
                 <field name="function_id"/>
                 <field name="email"/>
                 <field name="phone"/>
+                <field name="state" />
             </tree>
         </field>
     </record>
                         <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>
 
-<!-- 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>
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" : [
-        "base", "product", "account",
+        "base", "product", "account", "process"
         ],
     "demo_xml" : [
         #"demo_data.xml",
@@ -16,7 +16,8 @@
         ],
     "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,
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
-"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