Mayur Maheshwari(OpenErp) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-configuration-rework-todo-mma into 
lp:~openerp-dev/openobject-addons/trunk-configuration-rework.

Requested reviews:
  Rucha (Open ERP) (rpa-openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-configuration-rework-todo-mma/+merge/63209

Hello

 hr_recruitment :put a help tips in hr.recruitment.stage
 lunch : remove the description


Thanks
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-configuration-rework-todo-mma/+merge/63209
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-configuration-rework.
=== modified file 'delivery/delivery.py'
--- delivery/delivery.py	2011-01-14 00:11:01 +0000
+++ delivery/delivery.py	2011-06-02 10:01:32 +0000
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 ##############################################################################
-#    
+#
 #    OpenERP, Open Source Management Solution
 #    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
 #
@@ -15,7 +15,7 @@
 #    GNU Affero General Public License for more details.
 #
 #    You should have received a copy of the GNU Affero General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.     
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 
@@ -64,11 +64,20 @@
         'product_id': fields.many2one('product.product', 'Delivery Product', required=True),
         'grids_id': fields.one2many('delivery.grid', 'carrier_id', 'Delivery Grids'),
         'price' : fields.function(get_price, method=True,string='Price'),
-        'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the delivery carrier without removing it.")
+        'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the delivery carrier without removing it."),
+        'normal_price': fields.float('Normal Price'),
+        'free_if_more_than': fields.boolean('Free If More Than'),
+        'amount': fields.float('Amount'),
+        'use_detailed_pricelist': fields.boolean('Use Detailed Pricelist'),
+        'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Price List'),
+
     }
+
     _defaults = {
-        'active': lambda *args:1
+        'active': lambda *args:1,
+        'free_if_more_than': lambda *args: False
     }
+
     def grid_get(self, cr, uid, ids, contact_id, context=None):
         contact = self.pool.get('res.partner.address').browse(cr, uid, contact_id, context=context)
         for carrier in self.browse(cr, uid, ids, context=context):
@@ -86,6 +95,74 @@
                     continue
                 return grid.id
         return False
+
+    def create_grid_lines(self, cr, uid, ids, vals, context=None):
+        if context == None:
+            context = {}
+        grid_line_pool = self.pool.get('delivery.grid.line')
+        grid_pool = self.pool.get('delivery.grid')
+        for record in self.browse(cr, uid, ids, context=context):
+            grid_id = grid_pool.search(cr, uid, [('carrier_id', '=', record.id)], context=context)
+            if not grid_id:
+                record_data = {
+                    'name': vals.get('name', False),
+                    'carrier_id': record.id,
+                    'seqeunce': 10,
+                }
+                new_grid_id = grid_pool.create(cr, uid, record_data, context=context)
+                grid_id = [new_grid_id]
+
+            if record.free_if_more_than:
+                grid_lines = []
+                for line in grid_pool.browse(cr, uid, grid_id[0]).line_ids:
+                    if line.type == 'price':
+                        grid_lines.append(line.id)
+                grid_line_pool.unlink(cr, uid, grid_lines, context=context)
+                data = {
+                    'grid_id': grid_id and grid_id[0],
+                    'name': _('Free if more than %d') % record.amount,
+                    'type': 'price',
+                    'operator': '>=',
+                    'max_value': record.amount,
+                    'standard_price': 0.0,
+                    'list_price': 0.0,
+                }
+                grid_line_pool.create(cr, uid, data, context=context)
+            else:
+                _lines = []
+                for line in grid_pool.browse(cr, uid, grid_id[0], context=context).line_ids:
+                    if line.type == 'price':
+                        _lines.append(line.id)
+                grid_line_pool.unlink(cr, uid, _lines, context=context)
+
+            if record.normal_price:
+                default_data = {
+                    'grid_id': grid_id and grid_id[0],
+                    'name': _('Default price'),
+                    'type': 'price',
+                    'operator': '>=',
+                    'max_value': 0.0,
+                    'standard_price': record.normal_price,
+                    'list_price': record.normal_price,
+                }
+                grid_line_pool.create(cr, uid, default_data, context=context)
+
+        return True
+
+    def write(self, cr, uid, ids, vals, context=None):
+        if context == None:
+            context = {}
+        res_id = super(delivery_carrier, self).write(cr, uid, ids, vals, context=context)
+        self.create_grid_lines(cr, uid, ids, vals, context=context)
+        return res_id
+
+    def create(self, cr, uid, vals, context=None):
+        if context == None:
+            context = {}
+        res_id = super(delivery_carrier, self).create(cr, uid, vals, context=context)
+        self.create_grid_lines(cr, uid, [res_id], vals, context=context)
+        return res_id
+
 delivery_carrier()
 
 class delivery_grid(osv.osv):
@@ -151,13 +228,16 @@
     _columns = {
         'name': fields.char('Name', size=32, required=True),
         'grid_id': fields.many2one('delivery.grid', 'Grid',required=True),
-        'type': fields.selection([('weight','Weight'),('volume','Volume'),('wv','Weight * Volume'), ('price','Price')], 'Variable', required=True),
+        'type': fields.selection([('weight','Weight'),('volume','Volume'),\
+                                  ('wv','Weight * Volume'), ('price','Price')],\
+                                  'Variable', required=True),
         'operator': fields.selection([('==','='),('<=','<='),('>=','>=')], 'Operator', required=True),
         'max_value': fields.float('Maximum Value', required=True),
         'price_type': fields.selection([('fixed','Fixed'),('variable','Variable')], 'Price Type', required=True),
         'variable_factor': fields.selection([('weight','Weight'),('volume','Volume'),('wv','Weight * Volume'), ('price','Price')], 'Variable Factor', required=True),
         'list_price': fields.float('Sale Price', required=True),
         'standard_price': fields.float('Cost Price', required=True),
+        'country_id': fields.many2one('res.country', 'Country'),
     }
     _defaults = {
         'type': lambda *args: 'weight',
@@ -167,7 +247,6 @@
     }
     _order = 'list_price'
 
-
 delivery_grid_line()
 
 

=== modified file 'delivery/delivery_view.xml'
--- delivery/delivery_view.xml	2011-01-14 00:11:01 +0000
+++ delivery/delivery_view.xml	2011-06-02 10:01:32 +0000
@@ -4,9 +4,6 @@
         <!-- Delivery Carriers -->
         <menuitem id="menu_delivery" name="Delivery" parent="stock.menu_stock_configuration" sequence="4"/>
 
-
-
-
         <record id="view_delivery_carrier_tree" model="ir.ui.view">
             <field name="name">delivery.carrier.tree</field>
             <field name="model">delivery.carrier</field>
@@ -25,10 +22,22 @@
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <form string="Carrier">
-                    <field name="name" select="1"/>
-                    <field name="active" select="1"/>
-                    <field name="partner_id" select="1"/>
-                    <field name="product_id" select="1"/>
+                    <group colspan="4" col="4" name="general">
+                        <field name="name" select="1"/>
+                        <field name="active" select="1"/>
+                        <field name="partner_id" select="1"/>
+                        <field name="product_id" select="1"/>
+                        <separator string="Pricing Information" colspan="6"/>
+                        <group colspan="2" col="4">
+                            <field name="normal_price" select="1" colspan="4"/>
+                            <newline/>
+                            <field name="free_if_more_than"/>
+                            <field name="amount" attrs="{'invisible':[('free_if_more_than','=',False)]}"/>
+                        </group>
+                        <newline/>
+						<field name="use_detailed_pricelist"/>
+                    </group>
+						<field name="pricelist_ids" nolabel="1"/>
                 </form>
             </field>
         </record>
@@ -40,6 +49,15 @@
             <field name="view_mode">tree,form</field>
             <field name="help">Create and manage the delivery methods you need for your sales activities. Each delivery method can be assigned to a price list which computes the price of the delivery according to the products sold or delivered.</field>
         </record>
+
+        <record id="action_delivery_carrier_form1" model="ir.actions.act_window">
+            <field name="name">Delivery Method</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">delivery.carrier</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">form</field>
+        </record>
+
         <menuitem action="action_delivery_carrier_form" id="menu_action_delivery_carrier_form" parent="menu_delivery" groups="base.group_extended"/>
 
         <!-- Delivery Grids -->
@@ -98,13 +116,17 @@
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <form string="Grid Lines">
-                    <field colspan="4" name="name" select="1"/>
-                    <field name="type" string="Condition"/>
-                    <field name="operator" nolabel="1"/>
-                    <field name="max_value" nolabel="1"/>
+                    <group colspan="5" col="5">
+                        <field colspan="4" name="name" select="1"/>
+                        <newline/>
+						<field name="type" string="Condition"/>
+						<field name="operator" nolabel="1" />
+                        <field name="max_value" nolabel="1"/>
+                    </group>
+                    <newline/>
                     <field name="list_price"/>
                     <field name="standard_price" groups="base.group_extended"/>
-                    <field name="price_type"  />
+                    <field name="price_type"/>
                     <field name="variable_factor" attrs="{'invisible':[('price_type','=','fixed')]}"/>
                 </form>
             </field>
@@ -118,7 +140,7 @@
                     <field name="name"/>
                     <field name="type"/>
                     <field name="operator"/>
-                    <field name="max_value"/>
+                    <field name="max_value" nolabel="1"/>
                     <field name="list_price"/>
                     <field name="standard_price" groups="base.group_extended"/>
                 </tree>
@@ -286,6 +308,12 @@
             </field>
         </record>
 
+       <record id="delivery_method_form_view_todo" model="ir.actions.todo">
+           <field name="action_id" ref="action_delivery_carrier_form1"/>
+           <field name="sequence">10</field>
+           <field name="type">normal</field>
+           <field name="state">skip</field>
+       </record>
 
     </data>
 </openerp>

=== modified file 'hr_holidays/hr_holidays.py'
--- hr_holidays/hr_holidays.py	2011-05-27 13:09:04 +0000
+++ hr_holidays/hr_holidays.py	2011-06-02 10:01:32 +0000
@@ -80,7 +80,7 @@
         'active': fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the leave type without removing it."),
         'max_leaves': fields.function(_user_left_days, method=True, string='Maximum Allowed', help='This value is given by the sum of all holidays requests with a positive value.', multi='user_left_days'),
         'leaves_taken': fields.function(_user_left_days, method=True, string='Leaves Already Taken', help='This value is given by the sum of all holidays requests with a negative value.', multi='user_left_days'),
-        'remaining_leaves': fields.function(_user_left_days, method=True, string='Remaining Leaves', help='Maximum Leaves Allowed - Leaves Already Taken', multi='user_left_days'),
+        'remaining_leaves': fields.function(_user_left_days, method=True, string='Remaining Legal Leaves', help='Maximum Leaves Allowed - Leaves Already Taken', multi='user_left_days'),
         'double_validation': fields.boolean('Apply Double Validation', help="If its True then its Allocation/Request have to be validated by second validator")
     }
     _defaults = {
@@ -349,6 +349,11 @@
         return True
 
    def _get_remaining_days(self, cr, uid, ids, name, args, context=None):
+        type_obj = self.pool.get('hr.holidays.status')
+        status_ids = type_obj.search(cr, uid, [('limit', '=', False)], context=context)
+        len_s=len(status_ids)
+        if len_s != 1 :
+            raise osv.except_osv(('Warning !'),_("You should have only one leave type without allowing override limit. %s Found !") % (len_s))
         cr.execute("SELECT sum(h.number_of_days_temp) as days, h.employee_id from hr_holidays h join hr_holidays_status s on (s.id=h.holiday_status_id) where h.type='add' and h.state='validate' and s.limit=False  group by h.employee_id")
         res = cr.dictfetchall()
         remaining = {}

=== modified file 'hr_recruitment/hr_recruitment_view.xml'
--- hr_recruitment/hr_recruitment_view.xml	2011-04-19 13:18:20 +0000
+++ hr_recruitment/hr_recruitment_view.xml	2011-06-02 10:01:32 +0000
@@ -346,6 +346,7 @@
         <field name="res_model">hr.recruitment.stage</field>
         <field name="view_type">form</field>
         <field name="view_id" ref="hr_recruitment_stage_tree"/>
+        <field name="help"> Check if the following stages are matching your recruitment process. Don't forget to specify the department if your recruitment process is different according to the job position.</field>
     </record>
 
     <menuitem

=== modified file 'lunch/lunch_view.xml'
--- lunch/lunch_view.xml	2011-05-09 05:36:36 +0000
+++ lunch/lunch_view.xml	2011-06-02 10:01:32 +0000
@@ -276,7 +276,6 @@
                 <tree string="Products">
                     <field name="name"/>
                     <field name="category_id"/>
-                    <field name="description"/>
                     <field name="price"/>
                 </tree>
             </field>

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

Reply via email to