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

