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

View File

@ -12,7 +12,7 @@
<field name="member_price"/> <field name="member_price"/>
</group> </group>
<footer> <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 or
<button string="Cancel" class="oe_link" special="cancel" /> <button string="Cancel" class="oe_link" special="cancel" />
</footer> </footer>

View File

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

View File

@ -114,7 +114,7 @@
</header> </header>
<sheet> <sheet>
<div class="oe_right oe_button_box"> <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> </div>
<group> <group>
<group> <group>
@ -1235,7 +1235,7 @@
<field name="company_id" groups="base.group_multi_company" widget="selection"/> <field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group> </group>
<group name="origin_grp" string="Origin"> <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="type" on_change="onchange_move_type(type)"/>
<field name="location_id" groups="stock.group_locations"/> <field name="location_id" groups="stock.group_locations"/>
<field name="create_date" groups="base.group_no_one"/> <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): if context.get('active_id', False):
stock = self.pool.get('stock.inventory').browse(cr, uid, 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 return True
def fill_inventory(self, cr, uid, ids, context=None): def fill_inventory(self, cr, uid, ids, context=None):
@ -124,19 +121,21 @@ class stock_fill_inventory(osv.osv_memory):
res[location] = datas res[location] = datas
if not flag: 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 in res.values():
for stock_move_details in stock_move.values(): for stock_move_details in stock_move.values():
stock_move_details.update({'inventory_id': context['active_ids'][0]}) stock_move_details.update({'inventory_id': context['active_ids'][0]})
domain = [] 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: if fill_inventory.set_stock_zero:
stock_move_details.update({'product_qty': 0}) 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) line_ids = inventory_line_obj.search(cr, uid, domain, context=context)
if not line_ids: if not line_ids: