← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-addons/addons-training-search-ysa into lp:~openobject-training/openobject-addons/training

 

Yogesh(Open ERP) has proposed merging lp:~openerp-dev/openobject-addons/addons-training-search-ysa into lp:~openobject-training/openobject-addons/training.

Requested reviews:
  OpenObject Training (openobject-training)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/addons-training-search-ysa/+merge/52973

Improve search view of training module.
training_intra, training_room :- convert these module in v6. add search view and fix problem during installation.
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/addons-training-search-ysa/+merge/52973
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/addons-training-search-ysa.
=== modified file 'training/training_email_view.xml'
--- training/training_email_view.xml	2011-03-04 07:02:51 +0000
+++ training/training_email_view.xml	2011-03-11 07:26:19 +0000
@@ -234,7 +234,7 @@
             <field name="search_view_id" ref="training_email_layout_search"/>
         </record>
 
-        <menuitem parent="training_config_mi" id="training_email_all_emails_mi" name="Emails" sequence='50'/>
+        <menuitem parent="training_config_mi" id="training_email_all_emails_mi" name="Emails" sequence='2'/>
         <menuitem parent="training_email_all_emails_mi" id="training_email_all_mi"
             action="training_email_all_act" sequence='1'/>
         <menuitem parent="training_email_all_emails_mi" id="training_email_stylegroup_mi"
@@ -258,7 +258,7 @@
                     <separator string="Message" colspan="4" />
                     <field name="message" colspan="4" nolabel="1" />
                     <separator colspan="4" />
-                    <button name="action_send" string="Send Email" type="object" colspan="4" />
+                    <button name="action_send" icon="gtk-execute" string="Send Email" type="object" colspan="4" />
                 </form>
             </field>
         </record>

=== modified file 'training/training_holiday_view.xml'
--- training/training_holiday_view.xml	2011-03-04 07:02:51 +0000
+++ training/training_holiday_view.xml	2011-03-11 07:26:19 +0000
@@ -77,7 +77,7 @@
             <field name="search_view_id" ref="holiday_period_search"/>
         </record>
 
-        <menuitem id="holiday_mi" name="Non-Working Days" parent="training_config_mi" sequence='60'/>
+        <menuitem id="holiday_mi" name="Non-Working Days" parent="training_config_mi" sequence='3'/>
         <menuitem id="holiday_period_all_mi" action="holiday_period_all_act" parent="holiday_mi" />
 
         <record model="ir.ui.view" id="holiday_year_tree">

=== modified file 'training/training_view.xml'
--- training/training_view.xml	2011-03-08 07:05:18 +0000
+++ training/training_view.xml	2011-03-11 07:26:19 +0000
@@ -483,11 +483,11 @@
                     <group colspan="4" col="6">
                         <field name="state" />
                         <button name="signal_validate" string="Validate" type="workflow" states="draft"
-                            confirm="Do you want to validate this catalog ?" />
+                            icon="gtk-new" confirm="Do you want to validate this catalog ?" />
                         <button name="signal_cancel" string="Cancel" type="workflow" states="validated,inprogress"
-                            confirm="Do you want to cancel this catalog ?"/>
-                        <button name="signal_inprogress" string="In Progress" type="workflow" states="validated" />
-                        <button name="signal_deprecate" string="Deprecate" type="workflow" states="inprogress"
+                            icon="gtk-cancel" confirm="Do you want to cancel this catalog ?"/>
+                        <button name="signal_inprogress" icon="terp-accessories-archiver" string="In Progress" type="workflow" states="validated" />
+                        <button name="signal_deprecate" string="Deprecate" type="workflow" states="inprogress" icon="gtk-execute"
                             confirm="Do you want to deprecate this catalog ?"/>
                     </group>
                 </form>
@@ -633,12 +633,12 @@
                     <group colspan="4" col="3">
                         <field name="state" />
                         <group col="6" groups="training.group_session_manager">
-                            <button name="signal_open" string="Open" type="workflow" states="draft" confirm="Do you want to open this session ?"/>
-                            <button name="signal_open_confirm" string="Confirm" type="workflow" states="opened" confirm="Do you want to confirm this session ?" />
-                            <button name="signal_close_confirm" string="Close Subscriptions" type="workflow" states="opened_confirmed" confirm="Do you want to close the subscription for this session ?" />
-                            <button name="signal_inprogress" string="Start" type="workflow" states="closed_confirmed" confirm="Do you want to close this session for the subscription ?" />
-                            <button name="signal_close" string="Close" type="workflow" states="inprogress"  confirm="Do you want to close this session ?" />
-                            <button name="signal_cancel" string="Cancel" type="workflow" states="draft,opened,opened_confirmed,closed_confirmed" confirm="Do you want to cancel this session ?"/>
+                            <button name="signal_open" icon="gtk-ok" string="Open" type="workflow" states="draft" confirm="Do you want to open this session ?"/>
+                            <button name="signal_open_confirm" icon="gtk-go-up" string="Confirm" type="workflow" states="opened" confirm="Do you want to confirm this session ?" />
+                            <button name="signal_close_confirm" icon="gtk-close" string="Close Subscriptions" type="workflow" states="opened_confirmed" confirm="Do you want to close the subscription for this session ?" />
+                            <button name="signal_inprogress" icon="gtk-ok" string="Start" type="workflow" states="closed_confirmed" confirm="Do you want to close this session for the subscription ?" />
+                            <button name="signal_close" icon="gtk-close" string="Close" type="workflow" states="inprogress"  confirm="Do you want to close this session ?" />
+                            <button name="signal_cancel" icon="gtk-cancel" string="Cancel" type="workflow" states="draft,opened,opened_confirmed,closed_confirmed" confirm="Do you want to cancel this session ?"/>
                         </group>
                     </group>
                 </form>
@@ -777,9 +777,9 @@
                     <separator string="" colspan="4" />
                     <group colspan="4" col="5">
                         <field name="state" invisible="1" />
-                        <button string="Cancel" type="object" special="cancel" name="action_close" states="selection"/>
-                        <button string="Close" type="object" special="cancel" name="action_close" states="result" />
-                        <button string="Generate Reports" type="object" name="action_generate_zip" states="selection"/>
+                        <button string="Cancel" icon="gtk-cancel" type="object" special="cancel" name="action_close" states="selection"/>
+                        <button string="Close" icon="gtk-close" type="object" special="cancel" name="action_close" states="result" />
+                        <button string="Generate Reports" icon="gtk-new" type="object" name="action_generate_zip" states="selection"/>
                     </group>
                 </form>
             </field>
@@ -909,15 +909,15 @@
                     <group colspan="4" col="3">
                         <field name="state" />
                         <group col="5" groups="training.group_seance_manager">
-                        <button name="seance_confirm" string="Confirm" type="workflow" states="opened" confirm="Do you want to confirm this seance (procurements, ...) ?" />
-                        <button name="action_do_confirm" string="Re-generate Purchase" type="object" states="confirmed,inprogress" confirm="Are you sure you want to regenerate all purchases for this seance?" groups="training.group_seance_manager"/>
-                        <button name="signal_inprogress" string="Start" type="workflow" states="confirmed" confirm="Do you want to start this seance ?" />
-                        <button name="signal_close" string="Close" type="workflow" states="inprogress" confirm="Do you want to close this seance ?" />
-                        <button name="signal_cancel" string="Cancel" type="workflow" states="opened,confirmed"  confirm="Do you want to cancel this seance ?" />
-                        <button name="signal_seance_done" string="Done" type="workflow" states="closed" />
+                        <button name="seance_confirm" icon="gtk-go-up" string="Confirm" type="workflow" states="opened" confirm="Do you want to confirm this seance (procurements, ...) ?" />
+                        <button name="action_do_confirm" icon="gtk-refresh" string="Re-generate Purchase" type="object" states="confirmed,inprogress" confirm="Are you sure you want to regenerate all purchases for this seance?" groups="training.group_seance_manager"/>
+                        <button name="signal_inprogress" icon="gtk-ok" string="Start" type="workflow" states="confirmed" confirm="Do you want to start this seance ?" />
+                        <button name="signal_close" icon="gtk-close" string="Close" type="workflow" states="inprogress" confirm="Do you want to close this seance ?" />
+                        <button name="signal_cancel" icon="gtk-cancel" string="Cancel" type="workflow" states="opened,confirmed"  confirm="Do you want to cancel this seance ?" />
+                        <button name="signal_seance_done" icon="gtk-go-up" string="Done" type="workflow" states="closed" />
                         </group>
                     </group>
-                    <button name="%(seance_generate_zip_wizard_act)d" type="action" string="Generate Reports" colspan="4" groups="training.group_training"/>
+                    <button name="%(seance_generate_zip_wizard_act)d" icon="gtk-new" type="action" string="Generate Reports" colspan="4" groups="training.group_training"/>
                 </form>
             </field>
         </record>
@@ -1131,7 +1131,7 @@
                                                 <field name="paid" />
                                             </group>
                                             <group states="confirmed,done">
-                                                <button name="action_create_invoice" string="Create Invoice" type="object" attrs="{'invisible': [('invoice_line_id', '!=', False)]}"/>
+                                                <button name="action_create_invoice" icon="gtk-new" string="Create Invoice" type="object" attrs="{'invisible': [('invoice_line_id', '!=', False)]}"/>
                                             </group>
                                         </group>
                                     </group>
@@ -1160,9 +1160,9 @@
                     <group colspan="4" col="6">
                         <field name="state" />
                         <button string="Confirm Request" type="workflow" name="signal_confirm" states="draft"
-                            confirm="Do you want to confirm the request for this subscription ?" />
+                            icon="gtk-go-up" confirm="Do you want to confirm the request for this subscription ?" />
                         <button string="Cancel" type="workflow" name="signal_cancel" states="draft"
-                            confirm="Do you want to cancel this subscription ?" />
+                            icon="gtk-cancel" confirm="Do you want to cancel this subscription ?" />
                     </group>
                 </form>
             </field>
@@ -1295,7 +1295,7 @@
                     <group states="end" colspan="4">
                         <label string="The operation has been done with success !" colspan="4" />
                         <separator string="" colspan="4" />
-                        <button name="action_done" string="Done" type="object" states="end" />
+                        <button icon="gtk-ok" name="action_done" string="Done" type="object" states="end" />
                     </group>
 
                     <group col="7" colspan="4" attrs="{'invisible' : [('state', '=', 'end')]}">
@@ -1303,9 +1303,9 @@
                         <field name="state" invisible="1" />
                         <button name="action_cancel" string="Cancel" type="object" special="cancel" icon="gtk-cancel" states="init,replacement,postponement,cancellation"/>
                         <label string="" />
-                        <button name="action_cancellation" string="Cancellation" type="object" states="init" />
-                        <button name="action_replacement" string="Replacement" type="object" states="init" />
-                        <button name="action_postponement" string="Postponement" type="object" states="init" />
+                        <button name="action_cancellation" string="Cancellation" type="object" states="init" icon="gtk-cancel"/>
+                        <button name="action_replacement" string="Replacement" type="object" states="init" icon="gtk-refresh"/>
+                        <button name="action_postponement" string="Postponement" type="object" states="init" icon="execute"/>
                         <label string="" />
                         <button name="action_apply" string="Apply" type="object" states="cancellation,replacement,postponement" icon="gtk-apply"/>
                     </group>
@@ -1356,7 +1356,7 @@
                                     </group>
                                     <group states="confirmed,done" groups="training.group_training">
                                         <button name="action_create_invoice" string="Create Invoice" type="object"
-                                            attrs="{'invisible': [('invoice_line_id', '!=', False)]}" />
+                                            icon="gtk-new" attrs="{'invisible': [('invoice_line_id', '!=', False)]}" />
                                     </group>
                                 </group>
                             </group>
@@ -1388,13 +1388,14 @@
                     <group col="9" colspan="4">
                         <field name="state" />
                         <button name="signal_confirm" string="Confirm" type="workflow" states="draft"
-                            confirm="Do you want to confirm this subscription line ?"/>
+                            icon="gtk-go-up" confirm="Do you want to confirm this subscription line ?"/>
                         <button name="signal_cancel" string="Cancel" type="workflow" states="draft"
-                            confirm="Do you want to cancel this subscription line ?" />
+                            icon="gtk-cancel" confirm="Do you want to cancel this subscription line ?" />
                         <button name="signal_invoice_and_send_emails" string="Cancel (Penalities)" type="workflow" states="confirmed"
-                            confirm="Do you want to cancel this subscription line ?" />
+                            icon="gtk-cancel" confirm="Do you want to cancel this subscription line ?" />
                         <button name="%(training.subscription_cancellation_wizard_act)d"
                             string="Cancel (Free)"
+                            icon="gtk-cancel"
                             type="action"
                             groups="training.group_subscription_manager"
                             states="confirmed"
@@ -1402,6 +1403,7 @@
                             confirm="Do you want to cancel this subscription line ?"  />
                         <button name="%(training.subscription_cancellation_wizard_act)d"
                             string="Replacement"
+                            icon="gtk-refresh"
                             type="action"
                             states="confirmed"
                             groups="training.group_subscription_manager"
@@ -1409,12 +1411,13 @@
                             confirm="Do you want to do a replacement for this subscription line ?" />
                         <button name="%(training.subscription_cancellation_wizard_act)d"
                             string="Postponement"
+                            icon="gtk-execute"
                             type="action"
                             states="confirmed"
                             groups="training.group_subscription_manager"
                             context="{'default_state':'postponement'}"
                             confirm="Do you want to postpone this subscription line ?" />
-                        <button name="signal_done" string="Done" type="workflow"  states="confirmed" />
+                        <button name="signal_done" string="Done" type="workflow" icon="gtk-ok" states="confirmed" />
                     </group>
                 </form>
             </field>
@@ -1566,8 +1569,8 @@
                 <form string="Procurements Update">
                     <group colspan="4" col="2" states="confirm">
                         <label string="Are you sure you want to update procurements all opened seance in all future session?" colspan="2"/>
-                        <button string="Cancel" special="cancel" name="action_close"/>
-                        <button string="Confirm" type="object" name="action_confirm"/>
+                        <button string="Cancel" special="cancel" name="action_close" icon="gtk-cancel"/>
+                        <button string="Confirm" type="object" name="action_confirm" icon="gtk-go-up"/>
                     </group>
                     <group colspan="4" col="4" states="update" expand="1">
                         <field name="name"/>
@@ -1687,10 +1690,12 @@
                             </field>
                             <button name="action_load_procurements"
                                 type="object"
+                                icon="gtk-execute"
                                 string="Load Procurements From Courses" colspan="4"
                                 attrs="{'invisible' : [('state', '=', 'validated')]}"/>
                             <button name="%(training_offer_purchase_line_wizard_act)d"
                                 type="action"
+                                icon="gtk-execute"
                                 string="Update Seance Procurments" colspan="4"/>
                         </page>
                         <page string="Pedagogical Suggestion">
@@ -1717,11 +1722,11 @@
                     <group col="5" colspan="4">
                         <field name="state" />
                         <button name="signal_validate" string="Validate" type="workflow" states="draft"
-                            confirm="Do you want to validate this offer ?"/>
+                            icon="gtk-new" confirm="Do you want to validate this offer ?"/>
                         <button name="signal_deprecate" string="Deprecate" type="workflow" states="validated,draft"
-                            confirm="Do you want to deprecate this offer ?" />
+                            icon="gtk-execute" confirm="Do you want to deprecate this offer ?" />
                         <button name="draft_cb" string="Draft" type="object" states="validated,deprecated"
-                            confirm="Are you sure to reset to Draft (Check the sessions for this offer) ?"
+                            confirm="Are you sure to reset to Draft (Check the sessions for this offer) ?" icon="gtk-new"
                             groups="training.group_offer_manager" />
                     </group>
                 </form>
@@ -1823,7 +1828,7 @@
 
         <menuitem id="training_config_mi" parent="training_mi" name="Configuration" sequence="1"/>
 
-        <menuitem id="training_config_library_mi" parent="training_config_mi" name="Library" />
+        <menuitem id="training_config_library_mi" parent="training_config_mi" name="Library" sequence="1"/>
         <menuitem id="training_config_library_categ_mi" parent="training_config_library_mi" name="Categorisation" sequence='10'/>
 
         <menuitem id="course_theme_all_mi" parent="training_config_library_categ_mi" action="course_theme_all_act" sequence='10'/>
@@ -1999,7 +2004,7 @@
                         <field name="price" />
                         <field name="purchase_order_id" groups="training.group_training" />
                         <button type="object" name="action_create_purchase_order" string="Create Purchase Order"
-                            attrs="{'invisible' : [('purchase_order_id', '!=', False)]}" icon="gtk-new"
+                            icon="gtk-new" attrs="{'invisible' : [('purchase_order_id', '!=', False)]}"
                             groups="training.group_training"/>
                         <field name="amount_to_pay" groups="training.group_training" />
                         <field name="purchase_paid" groups="training.group_training" select="2"/>

=== modified file 'training_intra/training_intra.py'
--- training_intra/training_intra.py	2011-03-03 09:38:13 +0000
+++ training_intra/training_intra.py	2011-03-11 07:26:19 +0000
@@ -21,10 +21,12 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ############################################################################################
+
 from osv import osv, fields
 import tools
 from tools import config
 from tools.translate import _
+import decimal_precision as dp
 
 class sale_order(osv.osv):
     _inherit = 'sale.order'
@@ -181,13 +183,13 @@
                                   type="float",
                                   store=True,
                                   readonly=True,
-                                  digits=(16, int(config['price_accuracy']))
+                                  digits_compute=dp.get_precision('Account'),
                                  ),
         'revenues' : fields.function(_amount_all, method=True, multi="compute", string="Revenues", type="float", store=True, readonly=True,
-                                     digits=(16, int(config['price_accuracy']))
+                                      digits_compute=dp.get_precision('Account')
                                     ),
         'balance' : fields.function(_amount_all, method=True, multi="compute", string="Balance", type="float", store=True, readonly=True,
-                                     digits=(16, int(config['price_accuracy']))
+                                      digits_compute=dp.get_precision('Account'),
                                    ),
     }
 
@@ -210,12 +212,12 @@
         'product_id' : fields.many2one('product.product', 'Product', required=True),
         'product_qty' : fields.float('Quantity', required=True),
         'product_uom' : fields.many2one('product.uom', 'Product UoM', required=True),
-        'unit_price' : fields.float('Unit Price', required=True, digits=(16, int(config['price_accuracy']))),
+        'unit_price' : fields.float('Unit Price', required=True,  digits_compute=dp.get_precision('Account')),
         'price' : fields.function(_price_compute,
                                   method=True,
                                   store=True,
                                   string='Subtotal',
-                                  digits=(16, int(config['price_accuracy'])),
+                                   digits_compute=dp.get_precision('Account'),
                                   type='float'),
         'type' : fields.selection([('cost', 'Cost'),('revenue', 'Revenue')], 'Type', required=True),
     }
@@ -344,7 +346,7 @@
                                   method=True,
                                   multi="compute",
                                   string="Costs",
-                                  digits=(16, int(config['price_accuracy'])),
+                                  digits_compute=dp.get_precision('Account'),
                                   type="float",
                                   #store={
                                   #    'training.intra.budget.line' : (_get_offer, None, 10),
@@ -354,7 +356,7 @@
                                      method=True,
                                      multi="compute",
                                      string="Revenues",
-                                     digits=(16, int(config['price_accuracy'])),
+                                     digits_compute=dp.get_precision('Account'),
                                      type="float",
                                      #store={
                                      #    'training.intra.budget.line' : (_get_offer, None, 10),
@@ -364,7 +366,7 @@
                                     method=True,
                                     multi="compute",
                                     string="Balance",
-                                    digits=(16, int(config['price_accuracy'])),
+                                    digits_compute=dp.get_precision('Account'),
                                     type="float",
                                     #store={
                                     #    'training.intra.budget.line' : (_get_offer, None, 10),
@@ -402,7 +404,7 @@
         'budget_intra_line_ids' : fields.one2many('training.intra.budget.line', 'offer_id', 'Budget Intra Lines'),
         'attachment_id' : fields.many2one('ir.attachment', 'Support of Course', domain="[('res_model', '=', 'training.course'),('type', '=', 'course_material')]"),
         'attachment_price' : fields.related('attachment_id', 'price', type='float',
-                                            digits=(16, int(config['price_accuracy'])),
+                                            digits_compute=dp.get_precision('Account'),
                                             string="Support's Price", readonly=True),
         'note_intra' : fields.text('Note'), # note for internal usage
         'remark_intra' : fields.text('Remark(s)'), # node for client usage
@@ -662,14 +664,14 @@
         'product_qty' : fields.float('Quantity', required=True),
         'product_uom' : fields.many2one('product.uom', 'Product UoM', required=True),
         'unit_price' : fields.float('Unit Price', required=True,
-                                    digits=(16, int(config['price_accuracy'])),
+                                    digits_compute=dp.get_precision('Account'),
                                    ),
         'price' : fields.function(_price_compute,
                                   method=True,
                                   string='Price',
                                   store=True,
                                   select=2,
-                                  digits=(16, int(config['price_accuracy'])),
+                                  digits_compute=dp.get_precision('Account'),
                                   type='float'),
         'number_of_seances' : fields.integer('Recurrence', required=True),
         'type' : fields.selection([('cost', 'Cost'),('revenue', 'Revenue')], 'Type', required=True, select=1),

=== modified file 'training_intra/training_intra_view.xml'
--- training_intra/training_intra_view.xml	2011-03-03 09:38:13 +0000
+++ training_intra/training_intra_view.xml	2011-03-11 07:26:19 +0000
@@ -56,7 +56,23 @@
             </field>
         </record>
 
-        <record model="ir.ui.view" id="budget_intra_tpl_form">
+        <record model="ir.ui.view" id="budget_intra_tpl_line_search">
+            <field name="name">training.intra.budget.tpl.line.search</field>
+            <field name="model">training.intra.budget.tpl.line</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Search Training Intra Budget">
+                   <field name="product_id"/>
+                   <field name="type"/>
+                   <newline/>
+	               <group expand="0" string="Group By..." colspan="4">
+	                   <filter string="Type" icon="terp-stock_symbol-selection" domain="[]"  context="{'group_by':'type'}"/>
+	               </group>
+               </search>
+            </field>
+        </record>
+
+        <record model="ir.ui.view" id="view_budget_intra_tpl_form">
             <field name="name">training.intra.budget.tpl.form</field>
             <field name="model">training.intra.budget.tpl</field>
             <field name="type">form</field>
@@ -73,11 +89,39 @@
             </field>
         </record>
 
+        <record model="ir.ui.view" id="view_budget_intra_tpl_tree">
+            <field name="name">training.intra.budget.tpl.tree</field>
+            <field name="model">training.intra.budget.tpl</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Budget Template">
+	                <field name="name"/>
+	                <field name="costs"/>
+	                <field name="revenues"/>
+	                <field name="balance"/>
+                </tree>
+            </field>
+        </record>
+
+        <record model="ir.ui.view" id="view_budget_intra_tpl_search">
+            <field name="name">training.intra.budget.tpl.search</field>
+            <field name="model">training.intra.budget.tpl</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Budget Template">
+                    <field name="name"/>
+                    <field name="revenues"/>
+                    <field name="balance"/>
+                </search>
+            </field>
+        </record>
+
         <record model="ir.actions.act_window" id="budget_intra_tpl_all_act">
             <field name="name">Budget Templates</field>
             <field name="res_model">training.intra.budget.tpl</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
+            <field name="search_view_id" ref="view_budget_intra_tpl_search"/>
         </record>
 
         <menuitem parent="training.training_config_mi" id="budget_intra_tpl_all_mi" action="budget_intra_tpl_all_act" />
@@ -177,7 +221,7 @@
             </field>
         </record>
 
-        <act_window 
+        <act_window
             name="Sale Order"
             src_model="training.offer"
             res_model="sale.order"
@@ -186,26 +230,26 @@
             id="sale_order_offer_rel"
             domain="[('id', '=', sale_order_id)]" />
 
-    <act_window id="training_intra_sale_order_invoice_link"
-	name="Invoices"
-	src_model="sale.order"
-	res_model="account.invoice"
-	view_mode="tree,form"
-	groups="base.group_user"
-	domain="[('id','in',(invoice_ids and invoice_ids[0][2] or []))]"/>
-
-    <record id="training_intra_so_link_view1" model="ir.actions.act_window.view">
-	<field name="sequence" eval="1"/>
-	<field name="view_mode">tree</field>
-	<field name="act_window_id" ref="training_intra_sale_order_invoice_link"/>
-    </record>
-
-    <record id="training_intra_so_link_view2" model="ir.actions.act_window.view">
-	<field name="sequence" eval="2"/>
-	<field name="view_mode">form</field>
-	<field name="view_id" ref="account.invoice_form"/>
-	<field name="act_window_id" ref="training_intra_sale_order_invoice_link"/>
-    </record>
+        <act_window id="training_intra_sale_order_invoice_link"
+			name="Invoices"
+			src_model="sale.order"
+			res_model="account.invoice"
+			view_mode="tree,form"
+			groups="base.group_user"
+			domain="[('id','in',(invoice_ids and invoice_ids[0][2] or []))]"/>
+
+        <record id="training_intra_so_link_view1" model="ir.actions.act_window.view">
+			<field name="sequence" eval="1"/>
+			<field name="view_mode">tree</field>
+			<field name="act_window_id" ref="training_intra_sale_order_invoice_link"/>
+        </record>
+
+		<record id="training_intra_so_link_view2" model="ir.actions.act_window.view">
+			<field name="sequence" eval="2"/>
+			<field name="view_mode">form</field>
+			<field name="view_id" ref="account.invoice_form"/>
+			<field name="act_window_id" ref="training_intra_sale_order_invoice_link"/>
+		</record>
 
         <record model="ir.ui.view" id="budget_intra_line_tree">
             <field name="name">training.intra.budget.line.tree</field>
@@ -215,7 +259,7 @@
                 <tree string="Budget Lines" editable="bottom">
                     <field name="offer_id" invisible="1" />
                     <field name="number_of_seances" />
-                    <field name="course_id"  context="{'offer_id' : offer_id}" /> 
+                    <field name="course_id"  context="{'offer_id' : offer_id}" />
                     <field name="type" on_change="on_change_product(type, product_id)" />
                     <field name="product_id" on_change="on_change_product(type, product_id)" />
                     <field name="description" />
@@ -242,13 +286,29 @@
                     <field name="type" on_change="on_change_product(type, product_id)" />
                     <field name="unit_price" />
                     <field name="number_of_seances" />
-                    <field name="course_id"  context="{'offer_id' : offer_id}" /> 
+                    <field name="course_id"  context="{'offer_id' : offer_id}" />
                     <field name="offer_id" invisible="1" />
                 </form>
             </field>
         </record>
 
-
+        <record model="ir.ui.view" id="budget_intra_line_search">
+            <field name="name">training.intra.budget.line.search</field>
+            <field name="model">training.intra.budget.line</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Budget Lines">
+                    <field name="offer_id"/>
+                    <field name="course_id"/>
+                    <field name="type"/>
+                    <field name="product_id"/>
+                    <newline/>
+					<group expand="0" string="Group By..." colspan="4">
+					    <filter string="Type" icon="terp-stock_symbol-selection" domain="[]"  context="{'group_by':'type'}"/>
+					</group>
+                </search>
+            </field>
+        </record>
 
         <record model="ir.ui.view" id="course_form">
             <field name="name">training.course.form.intra</field>
@@ -271,71 +331,62 @@
             <field name="priority">20</field>
             <field name="arch" type="xml">
                 <tree string="Offers">
-                    <field name="name" />
-                    <field name="type_id" />
-                    <field name="partner_id" select="1" />
-                    <field name="responsible" select="1" />
+                    <field name="name"/>
+                    <field name="kind"/>
+                    <field name="type_id"/>
+                    <field name="partner_id" select="1"/>
+                    <field name="responsible" select="1"/>
                     <field name="create_date" select="1"/>
-                    <field name="is_standalone" />
-                    <field name="state" />
-		    <field name="costs"/>
-		    <field name="revenues"/>
-                    <field name="sale_order_id" />
-                    <field name="sale_order_create_date" />
+                    <field name="is_standalone"/>
+                    <field name="state"/>
+				    <field name="costs"/>
+				    <field name="revenues"/>
+                    <field name="sale_order_id"/>
+                    <field name="sale_order_create_date"/>
                     <field name="sale_order_state" select="1"/>
                 </tree>
             </field>
         </record>
 
+        <record model="ir.ui.view" id="view_training_intra_offer_search">
+            <field name="name">training.offer.search</field>
+            <field name="model">training.offer</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Search Training Offer">
+                   <group col='10' colspan='4'>
+                        <filter icon="terp-document-new" string="Draft" domain="[('state','=', 'draft')]"/>
+                        <filter icon="terp-accessories-archiver" string="Validated" domain="[('state','=', 'validated')]"/>
+                        <filter icon="terp-dialog-close" string="Deprecated" domain="[('state','=', 'deprecated')]"/>
+                        <filter icon="gtk-go-up" string="Done" domain="[('state','=', 'done')]"/>
+                        <filter icon="gtk-refresh" string="Refused" domain="[('state','=', 'refused')]"/>
+                        <separator orientation="vertical"/>
+                        <field name="name"/>
+                        <field name="type_id"/>
+                        <field name="kind"/>
+                       </group>
+                   <newline/>
+                   <group expand="0" string="Group By..." colspan="4" col="20">
+                       <filter string="Category" icon="terp-personal" domain="[]"  context="{'group_by':'categorie_id'}"/>
+                       <filter string="kind" icon="terp-report" domain="[]"  context="{'group_by':'kind'}"/>
+                       <filter string="Type" icon="terp-stock_symbol-selection" domain="[]"  context="{'group_by':'type_id'}"/>
+                       <filter string="Product" icon="terp-stage" domain="[]"  context="{'group_by':'product_id'}"/>
+                       <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"  context="{'group_by':'state'}"/>
+                   </group>
+               </search>
+            </field>
+        </record>
+
         <record model="ir.actions.act_window" id="training_offer_intra_act">
-            <field name="name">Intra</field>
+            <field name="name">Intra Offers</field>
             <field name="res_model">training.offer</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="view_id" ref="training_offer_intra_tree" />
             <field name="domain">[('kind', '=', 'intra')]</field>
-        </record>
-        <menuitem id="training_offer_intra_mi" parent="training.training_offer_mi" action="training_offer_intra_act" sequence="2"/>
-
-        <record model="ir.actions.act_window" id="training_offer_validated_intra_act">
-            <field name="name">Validated Intra Offers</field>
-            <field name="res_model">training.offer</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form</field>
-            <field name="view_id" ref="training_offer_intra_tree" />
-            <field name="domain">[('kind', '=', 'intra'),('state', '=', 'validated')]</field>
-        </record>
-        <menuitem id="training_offer_validated_intra_mi" parent="training_offer_intra_mi" action="training_offer_validated_intra_act" sequence="2"/>
-
-        <record model="ir.actions.act_window" id="training_offer_draft_intra_act">
-            <field name="name">Draft Intra Offers</field>
-            <field name="res_model">training.offer</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form</field>
-            <field name="view_id" ref="training_offer_intra_tree" />
-            <field name="domain">[('kind', '=', 'intra'),('state', '=', 'draft')]</field>
-        </record>
-        <menuitem id="training_offer_draft_intra_mi" parent="training_offer_intra_mi" action="training_offer_draft_intra_act" sequence="2"/>
-
-        <record model="ir.actions.act_window" id="training_offer_deprecated_intra_act">
-            <field name="name">Deprecated Intra Offers</field>
-            <field name="res_model">training.offer</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form</field>
-            <field name="view_id" ref="training_offer_intra_tree" />
-            <field name="domain">[('kind', '=', 'intra'),('state', '=', 'deprecated')]</field>
-        </record>
-        <menuitem id="training_offer_deprecated_intra_mi" parent="training_offer_intra_mi" action="training_offer_deprecated_intra_act" sequence="2"/>
-
-        <record model="ir.actions.act_window" id="training_offer_intra_notdone_notcancelled_act">
-            <field name="name">Not Done, Not Cancelled Intra Offers</field>
-            <field name="res_model">training.offer</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form</field>
-            <field name="view_id" ref="training_offer_intra_tree"/>
-            <field name="domain">[('kind', '=', 'intra'),('state', 'not in', ['cancelled','done'])]</field>
-        </record>
-        <menuitem id="training_offer_intra_notdone_notcancelled_mi" parent="training_offer_intra_mi" action="training_offer_intra_notdone_notcancelled_act"/>
+            <field name="search_view_id" ref="view_training_intra_offer_search"/>
+        </record>
+        <menuitem id="training_offer_intra_mi" parent="training.training_library_mi" action="training_offer_intra_act" sequence="20"/>
 
         <!-- contact function 'intra' doesn't exists -> choose 'standard' lecturers... -->
         <record model='ir.ui.view' id="training_session_form_inherit">
@@ -386,26 +437,6 @@
             </field>
         </record>
 
-        <record model="ir.actions.act_window" id="intra_session_all_act">
-            <field name="name">Intra Sessions</field>
-            <field name="res_model">training.session</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form</field>
-            <field name="domain">[('kind', '=', 'intra')]</field>
-        </record>
-        
-        <menuitem id="intra_session_all_mi" parent="training.training_planning_session_future_all_mi" action="intra_session_all_act" />
-
-        <record model="ir.actions.act_window" id="intra_seance_all_act">
-            <field name="name">Intra Seances</field>
-            <field name="res_model">training.seance</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form</field>
-            <field name="domain">[('is_intra', '=', 1)]</field>
-        </record>
-        
-        <menuitem id="intra_seance_all_mi" parent="training.training_planning_future_seances_mi" action="intra_seance_all_act"/>
-
         <record model='ir.ui.view' id="training_seance_form_inherit">
             <field name="name">training_intra.seance.form.inherit</field>
             <field name="model">training.seance</field>

=== modified file 'training_room/__init__.py'
--- training_room/__init__.py	2011-03-03 09:38:13 +0000
+++ training_room/__init__.py	2011-03-11 07:26:19 +0000
@@ -1,7 +1,7 @@
 # -*- encoding: utf-8 -*-
 ############################################################################################
 #
-#    OpenERP, Open Source Management Solution	
+#    OpenERP, Open Source Management Solution
 #    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
 #    Copyright (C) 2008-2009 AJM Technologies S.A. (<http://www.ajm.lu). All Rights Reserved
 #    Copyright (C) 2010-2011 Thamini S.à.R.L (<http://www.thamini.com>). All Rights Reserved
@@ -24,3 +24,5 @@
 
 import training_room
 import wizard
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== renamed file 'training_room/__terp__.py' => 'training_room/__openerp__.py'
--- training_room/__terp__.py	2011-03-03 09:38:13 +0000
+++ training_room/__openerp__.py	2011-03-11 07:26:19 +0000
@@ -1,7 +1,7 @@
 # -*- encoding: utf-8 -*-
 ############################################################################################
 #
-#    OpenERP, Open Source Management Solution	
+#    OpenERP, Open Source Management Solution
 #    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
 #    Copyright (C) 2008-2009 AJM Technologies S.A. (<http://www.ajm.lu). All Rights Reserved
 #    Copyright (C) 2010-2011 Thamini S.à.R.L (<http://www.thamini.com>). All Rights Reserved
@@ -29,13 +29,13 @@
     'website' : 'http://www.openerp.com',
     'description' : """The module training_room helps the user to manage the training's location""",
     'depends' : [
-        'training',
-    ],
-    'init_xml' : [ ],
-    'demo_xml' : [ ],
+            'training',
+        ],
+    'init_xml' : [],
+    'demo_xml' : [],
     'update_xml' : [
         'training_room_view.xml',
-        'wizard/wizard_create_session_i_view.xml',
+        'wizard/training_create_session_wizard_view.xml',
         'security/ir.model.access.csv',
     ],
     'active' : False,

=== modified file 'training_room/training_room.py'
--- training_room/training_room.py	2011-03-03 09:38:13 +0000
+++ training_room/training_room.py	2011-03-11 07:26:19 +0000
@@ -118,7 +118,10 @@
     def _default_get_location_id(self, cr, uid, context=None):
         # FIXME: get default for a core_config option
         cr.execute("SELECT min(id) from training_location")
-        return cr.fetchone()
+        location = cr.fetchone()
+        if not location or (len(location) > 0 and not location[0]):
+            location = False
+        return location
 
     _defaults = {
         'reserved' : lambda *a: 0,
@@ -187,3 +190,5 @@
         'delivery_location_id': fields.related('seance_id', 'delivery_location_id', type='many2one', relation='training.location', string='Delivery Location', readonly=True),
     }
 purchase_order_line_seance_room()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== modified file 'training_room/training_room_view.xml'
--- training_room/training_room_view.xml	2011-03-03 09:38:13 +0000
+++ training_room/training_room_view.xml	2011-03-11 07:26:19 +0000
@@ -41,28 +41,31 @@
             </field>
         </record>
 
+        <record model="ir.ui.view" id="view_training_location_search">
+            <field name="name">training.location.search</field>
+            <field name="model">training.location</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Search Training Location">
+                    <field name="name"/>
+                    <field name="partner_id"/>
+                    <field name="seats"/>
+               </search>
+            </field>
+        </record>
+
         <record model="ir.actions.act_window" id="training_location_all_act">
             <field name="name">Rooms</field>
             <field name="res_model">training.location</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
-        </record>
-
-        <record model="ir.actions.act_window" id="training_location_new_act">
-            <field name="name">New Room</field>
-            <field name="res_model">training.location</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">form</field>
-        </record>
-
-        <menuitem 
-            id="training_config_locations_mi" 
-            parent="training.training_config_mi" 
-            action="training_location_all_act" sequence='45'/>
-        <menuitem 
-            id="training_config_locations_new_mi" 
-            parent="training_config_locations_mi" 
-            action="training_location_new_act" />
+            <field name="search_view_id" ref="view_training_location_search"/>
+        </record>
+
+        <menuitem
+            id="training_config_locations_mi"
+            parent="training.training_config_mi"
+            action="training_location_all_act" sequence='60'/>
 
         <record model="ir.ui.view" id="training_seance_form">
             <field name="name">training.seance.form</field>

=== modified file 'training_room/wizard/__init__.py'
--- training_room/wizard/__init__.py	2011-03-03 09:38:13 +0000
+++ training_room/wizard/__init__.py	2011-03-11 07:26:19 +0000
@@ -21,4 +21,6 @@
 #
 ##############################################################################
 
-import wizard_create_session_i
+import training_create_session_wizard
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== renamed file 'training_room/wizard/wizard_create_session_i.py' => 'training_room/wizard/training_create_session_wizard.py'
--- training_room/wizard/wizard_create_session_i.py	2011-03-03 09:38:13 +0000
+++ training_room/wizard/training_create_session_wizard.py	2011-03-11 07:26:19 +0000
@@ -58,3 +58,5 @@
         return resdict
 
 training_session_create_wizard_room()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== renamed file 'training_room/wizard/wizard_create_session_i_view.xml' => 'training_room/wizard/training_create_session_wizard_view.xml'

Follow ups