[IMP] membership + merge stock

bzr revid: fp@tinyerp.com-20121122061244-0a9zawsg8ebohdi5
This commit is contained in:
Fabien Pinckaers 2012-11-22 07:12:44 +01:00
commit aeb29763d5
5 changed files with 20 additions and 21 deletions

View File

@ -134,8 +134,7 @@
parent="base.menu_marketing_config_association"
id="menu_membership_products"
action="action_membership_products"
sequence="1"
groups="base.group_partner_manager"/>
sequence="1"/>
<!-- MEMBERSHIP/CURRENT MEMBERS -->
@ -183,7 +182,7 @@
<field name="name">Members</field>
<field name="res_model">res.partner</field>
<field name="search_view_id" ref="view_res_partner_member_filter"/>
<field name="context">{"search_default_all_members": 1}</field>
<field name="context">{"search_default_all_members": 1, "default_free_member": True}</field>
</record>
<record model="ir.actions.act_window.view" id="action_membership_members_view_tree">
@ -234,15 +233,16 @@
<field name="free_member"/>
<label for="membership_state"/>
<div>
<field name="membership_state" class="oe_inline"/>
<button name="%(action_membership_invoice_view)d" type="action" string="Join Membership" attrs="{'readonly':[('free_member','=',True)]}" class="oe_inline oe_right"/>
<field name="membership_state"/>
<button name="%(action_membership_invoice_view)d" type="action" string="Buy Membership"
attrs="{'invisible':[('free_member','=',True)]}" class="oe_link"/>
</div>
</group>
<group>
<field name="associate_member" attrs="{'readonly':[('membership_state','!=', 'none')]}"/>
<field name="membership_start"/>
<field name="membership_stop"/>
<field name="membership_cancel"/>
<field name="associate_member" attrs="{'invisible':[('free_member','=',True)]}"/>
<field name="membership_start" attrs="{'invisible':[('membership_start','=',False)]}"/>
<field name="membership_stop" attrs="{'invisible':[('membership_stop','=',False)]}"/>
<field name="membership_cancel" attrs="{'invisible':[('membership_cancel','=',False)]}"/>
</group>
</group>
<field name="member_lines" nolabel="1" colspan="4" readonly="1">

View File

@ -12,7 +12,7 @@
<field name="member_price"/>
</group>
<footer>
<button string="Join" name="membership_invoice" type="object" class="oe_highlight" />
<button string="Invoice Membership" name="membership_invoice" type="object" class="oe_highlight" />
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>

View File

@ -56,7 +56,7 @@
<h1>
<field name="name" class="oe_inline"/>
<label string="-" attrs="{'invisible':[('origin','=',False)]}"/>
<field name="origin" class="oe_inline"/>
<field name="origin" class="oe_inline" placeholder="e.g. SO005"/>
</h1>
<group>
<group>
@ -77,7 +77,7 @@
<label for="product_qty"/>
<div>
<field name="product_qty" class="oe_inline"/>
<field name="product_uom" class="oe_inline"/>
<field name="product_uom" class="oe_inline" groups="product.group_uom"/>
</div>
<label for="product_uos_qty" groups="product.group_uos"/>
<div groups="product.group_uos">

View File

@ -114,7 +114,7 @@
</header>
<sheet>
<div class="oe_right oe_button_box">
<button name="%(action_view_stock_fill_inventory)d" string="Fill Inventory" type="action" />
<button name="%(action_view_stock_fill_inventory)d" string="Fill Inventory" states="draft,confirm" type="action" />
</div>
<group>
<group>
@ -1235,7 +1235,7 @@
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<group name="origin_grp" string="Origin">
<field name="picking_id"/>
<field name="picking_id" domain="[('type','=',type)]"/>
<field name="type" on_change="onchange_move_type(type)"/>
<field name="location_id" groups="stock.group_locations"/>
<field name="create_date" groups="base.group_no_one"/>

View File

@ -60,9 +60,6 @@ class stock_fill_inventory(osv.osv_memory):
if context.get('active_id', False):
stock = self.pool.get('stock.inventory').browse(cr, uid, context.get('active_id', False))
if stock.state == 'done':
raise osv.except_osv(_('Warning!'), _('Stock Inventory is already Validated.'))
return True
def fill_inventory(self, cr, uid, ids, context=None):
@ -124,19 +121,21 @@ class stock_fill_inventory(osv.osv_memory):
res[location] = datas
if not flag:
raise osv.except_osv(_('Warning!'), _('No product in this location.'))
raise osv.except_osv(_('Warning!'), _('No product in this location. Please select a location in the product form.'))
for stock_move in res.values():
for stock_move_details in stock_move.values():
stock_move_details.update({'inventory_id': context['active_ids'][0]})
domain = []
for field, value in stock_move_details.items():
if field == 'product_qty' and fill_inventory.set_stock_zero:
domain.append((field, 'in', [value,'0']))
continue
domain.append((field, '=', value))
if fill_inventory.set_stock_zero:
stock_move_details.update({'product_qty': 0})
for field, value in stock_move_details.items():
domain.append((field, '=', value))
line_ids = inventory_line_obj.search(cr, uid, domain, context=context)
if not line_ids: