bzr revid: mra@tinyerp.com-20100526084950-uhf4kqygqqvtvi9g
This commit is contained in:
mra (Open ERP) 2010-05-26 14:19:50 +05:30
commit 51be28793d
9 changed files with 225 additions and 79 deletions

View File

@ -68,8 +68,18 @@
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
help="Leaves during last 7 days"/>
<separator orientation="vertical"/>
<field name="employee_id" widget="selection"/>
<field name="user_id" widget="selection"/>
<field name="employee_id"/>
<field name="user_id" widget="selection">
<filter icon="terp-hr"
string="My Leaves"
domain="[('user_id','=',uid)]"/>
</field>
</group>
<newline/>
<group expand="0" string="Extended options..." colspan="10" col="12">
<field name="holiday_status_id" widget="selection"/>
<field name="department_id" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12">

View File

@ -37,10 +37,12 @@
'update_xml': [
'marketing_campaign_view.xml',
'marketing_campaign_data.xml',
'marketing_campaign_workflow.xml',
'marketing_campaign_workflow.xml',
'report/campaign_analysis_view.xml',
],
'demo_xml': [],
'demo_xml': [
'marketing_campaign_demo.xml',
],
'installable': True,
'active': False,
}

View File

@ -40,9 +40,11 @@ class marketing_campaign(osv.osv): #{{{
_columns = {
'name': fields.char('Name', size=64, required=True),
'object_id': fields.many2one('ir.model', 'Objects', required=True),
'object_id': fields.many2one('ir.model', 'Objects', required=True,
help="Choose the Object on which you want \
this campaign to be run"),
'mode':fields.selection([('test', 'Test'),
('test_realtime', 'Realtime Time'),
('test_realtime', 'Realtime'),
('manual', 'Manual'),
('active', 'Active')],
'Mode', required=True),
@ -53,7 +55,8 @@ class marketing_campaign(osv.osv): #{{{
'State',),
'activity_ids': fields.one2many('marketing.campaign.activity',
'campaign_id', 'Activities'),
'fixed_cost': fields.float('Fixed Cost'),
'fixed_cost': fields.float('Fixed Cost', help="The fixed cost is cost\
you required for the campaign"),
}
@ -102,7 +105,7 @@ class marketing_campaign_segment(osv.osv): #{{{
'object_id': fields.related('campaign_id','object_id',
type='many2one', relation='ir.model',
string='Object'),
'ir_filter_id': fields.many2one('ir.filters', 'Filter'),
'ir_filter_id': fields.many2one('ir.filters', 'Filter', help=""),
'sync_last_date': fields.datetime('Date'),
'sync_mode': fields.selection([('create_date', 'Create'),
('write_date', 'Write')],
@ -199,8 +202,11 @@ class marketing_campaign_activity(osv.osv): #{{{
'object_id': fields.related('campaign_id','object_id',
type='many2one', relation='ir.model',
string='Object'),
'start': fields.boolean('Start'),
'condition': fields.char('Condition', size=256, required=True, help="Condition that is to be tested before action is executed"),
'start': fields.boolean('Start',help= "Its necessary to start activity \
before running campaign"),
'condition': fields.char('Condition', size=256, required=True,
help="Condition that is to be tested before \
action is executed"),
'type': fields.selection([('email', 'E-mail'),
('paper', 'Paper'),
('action', 'Action'),
@ -208,10 +214,11 @@ class marketing_campaign_activity(osv.osv): #{{{
'Type', required=True),
'email_template_id': fields.many2one('poweremail.templates','Email Template'),
'report_id': fields.many2one('ir.actions.report.xml', 'Reports', ),
'report_directory_id': fields.many2one('document.directory',
'Directory to Store Reports',
help="Folder is used to store the genreated reports"),
'server_action_id': fields.many2one('ir.actions.server', string='Action'),
'report_directory_id': fields.many2one('document.directory','Directory',
help="Folder is used to store the generated reports"),
'server_action_id': fields.many2one('ir.actions.server', string='Action',
help= "Describes the action name.\n"
"eg:On which object which action to be taken on basis of which condition"),
'to_ids': fields.one2many('marketing.campaign.transition',
'activity_from_id',
'Next Activities'),
@ -251,7 +258,7 @@ class marketing_campaign_activity(osv.osv): #{{{
workitem = workitem_obj.browse(cr, uid, wi_id)
if activity.type == 'paper' :
service = netsvc.LocalService('report.%s'%activity.report_id.report_name)
(report_data, format) = service.create(cr, uid, [activity.report_id.id], {}, {})
(report_data, format) = service.create(cr, uid, [], {}, {})
attach_vals = {
'name': '%s_%s_%s'%(activity.report_id.report_name,
activity.name,workitem.partner_id.name),
@ -367,7 +374,7 @@ class marketing_campaign_workitem(osv.osv): #{{{
def process(self, cr, uid, workitem_ids, context={}):
for wi in self.browse(cr, uid, workitem_ids):
if wi.state == 'todo' :# we searched the wi which are in todo state
if wi.state == 'todo':# we searched the wi which are in todo state
#then y v keep this filter again
eval_context = {
'pool': self.pool,
@ -375,23 +382,23 @@ class marketing_campaign_workitem(osv.osv): #{{{
'uid': uid,
'wi': wi,
'object': wi.activity_id,
'transition' : wi.activity_id.to_ids
'transition': wi.activity_id.to_ids
}
expr = eval(str(wi.activity_id.condition), cxt)
expr = eval(str(wi.activity_id.condition), eval_context)
if expr:
try :
res = self.pool.get('marketing.campaign.activity').process(
cr, uid, wi.activity_id.id, wi.id, context)
if res :
self.write(cr, uid, wi.id, {'state':'done'})
self.write(cr, uid, wi.id, {'state': 'done'})
self.process_chain(cr, uid, wi.id, context)
else :
self.write(cr, uid, wi.id, {'state':'exception',
'error_msg' : res['error_msg']})
self.write(cr, uid, wi.id, {'state': 'exception',
'error_msg': res['error_msg']})
except Exception,e:
self.write(cr, uid, wi.id, {'state':'exception'})
self.write(cr, uid, wi.id, {'state': 'exception'})
else :
self.write(cr, uid, wi.id, {'state':'cancelled'})
self.write(cr, uid, wi.id, {'state': 'cancelled'})
return True
@ -407,7 +414,7 @@ class poweremail_templates(osv.osv):
_inherit = "poweremail.templates"
_defaults = {
'object_name' : lambda obj, cr, uid, context : context.get('object_id',False),
'object_name': lambda obj, cr, uid, context: context.get('object_id',False),
}
poweremail_templates()
@ -416,12 +423,12 @@ class report_xml(osv.osv):
_inherit = 'ir.actions.report.xml'
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
if not context :
if not context:
context = {}
if context and 'object_id' in context and context['object_id']:
model = self.pool.get('ir.model').browse(cr, uid,
context['object_id']).model
args.append(('model','=',model))
args.append(('model', '=', model))
return super(report_xml, self).search(cr, uid, args, offset, limit, order, context, count)
report_xml()

View File

@ -0,0 +1,89 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!-- Document directory -->
<record id="document_directory_marketingcampaign" model="document.directory">
<field eval="0" name="ressource_tree"/>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;&quot;&quot;Marketing Campaign&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;[]&quot;&quot;&quot;" name="domain"/>
<field eval="&quot;&quot;&quot;directory&quot;&quot;&quot;" name="type"/>
</record>
<record id="document_directory_campaign1" model="document.directory">
<field eval="0" name="ressource_tree"/>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;&quot;&quot;OpenERP OnDemand Free Trial 2010&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;[]&quot;&quot;&quot;" name="domain"/>
<field name="parent_id" ref="document_directory_marketingcampaign"/>
<field eval="&quot;&quot;&quot;ressource&quot;&quot;&quot;" name="type"/>
<field name="ressource_type_id" ref="model_marketing_campaign"/>
</record>
<!-- Power email tempalte -->
<record id="poweremail_templates_foropenerpondemandfreetrial0" model="poweremail.templates">
<field name="def_subject">Thanks for showing interest in OpenERP</field>
<field name="def_to">info@tinyerp.com</field>
<field eval="[(6,0,[])]" name="allowed_groups"/>
<field eval="0" name="auto_email"/>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field eval="[(6,0,[])]" name="table_required_fields"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="object_name" ref="crm.model_crm_lead"/>
<field eval="0" name="use_sign"/>
<field name="def_body_text">Hello,
Thanks for generous interest you have shown in the open ERP.
Regards,
OpenERP Team,</field>
<field name="template_language">mako</field>
<field eval="0" name="send_on_create"/>
<field name="name">For OpenERP OnDemand Free Trial 2010</field>
<field name="model_int_name">crm.lead</field>
<field eval="0" name="send_on_write"/>
</record>
<!-- Report -->
<record id="mc_crm_lead_demo_report" model="ir.actions.report.xml">
<field name="name">Marketing campaign demo report</field>
<field name="type">ir.actions.report.xml</field>
<field name="model">crm.lead</field>
<field name="report_name">crm.lead.demo</field>
<field name="report_rml">marketing_campaign/report/crm_lead_mc_demo_report.rml</field>
<field name="report_type">pdf</field>
</record>
<!-- Campaign -->
<record id="marketing_campaign_openerpondemandfreetrial0" model="marketing.campaign">
<field name="name">OpenERP OnDemand Free Trial 2010</field>
<field name="object_id" ref="crm.model_crm_lead"/>
</record>
<!-- Activity -->
<record id="marketing_campaign_activity_0" model="marketing.campaign.activity">
<field name="name">Propose a 1 month free trial for an OnDemand offer</field>
<field name="server_action_id" ref="base.action_start_configurator"/>
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
<field name="report_directory_id" ref="document_directory_campaign1"/>
<field name="type">paper</field>
<field eval="1" name="start"/>
<field name="report_id" ref="mc_crm_lead_demo_report"/>
</record>
<record id="marketing_campaign_activity_1" model="marketing.campaign.activity">
<field name="name">Thanks for showing interest</field>
<field name="server_action_id" ref="base.action_start_configurator"/>
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
</record>
<!-- Tranisition -->
<record id="marketing_campaign_transition_0" model="marketing.campaign.transition">
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_0"/>
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_1"/>
</record>
<!-- Segment -->
<record id="marketing_campaign_segment_bosslistusassociationslist0" model="marketing.campaign.segment">
<field eval="time.strftime('%Y-%m-%d %H:%M:%S')" name="date_run"/>
<field name="name">BossList US Associations List-0/90</field>
<field name="sync_mode">create_date</field>
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
<field name="state">draft</field>
</record>
</data>
</openerp>

View File

@ -139,18 +139,18 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Campaigns">
<filter icon="terp-project" string="Draft" name = "draft" domain="[('state','=','draft')]"/>
<filter icon="terp-project" string="Running" domain="[('state','=','running')]"/>
<filter icon="terp-marketing" string="Draft" name = "draft" domain="[('state','=','draft')]"/>
<filter icon="terp-marketing" string="Running" domain="[('state','=','running')]"/>
<separator orientation="vertical"/>
<filter icon="terp-project" string="Test Mode" name = "test" domain="[('mode','=','test')]"/>
<filter icon="terp-project" string="Manual Mode" domain="[('mode','=','manual')]"/>
<filter icon="terp-marketing" string="Test Mode" name = "test" domain="[('mode','=','test')]"/>
<filter icon="terp-marketing" string="Manual Mode" domain="[('mode','=','manual')]"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="object_id" select="1"/>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Object" name="Object" icon="terp-project" context="{'group_by':'object_id'}" />
<filter string="State" name="State" icon="terp-project" context="{'group_by':'state'}" />
<filter string="Object" name="Object" icon="terp-marketing" context="{'group_by':'object_id'}" />
<filter string="State" name="State" icon="terp-marketing" context="{'group_by':'state'}" />
</group>
</search>
</field>
@ -231,11 +231,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Segments">
<filter icon="terp-project" string="Draft" name="draft" domain="[('state','=','draft')]"/>
<filter icon="terp-project" string="Running" domain="[('state','=','running')]"/>
<filter icon="terp-marketing" string="Draft" name="draft" domain="[('state','=','draft')]"/>
<filter icon="terp-marketing" string="Running" domain="[('state','=','running')]"/>
<separator orientation="vertical"/>
<filter icon="terp-project" string="Create Date" name="create_date" domain="[('sync_mode','=','create_date')]"/>
<filter icon="terp-project" string="Write Date" domain="[('sync_mode','=','write_date')]"/>
<filter icon="terp-marketing" string="Create Date" name="create_date" domain="[('sync_mode','=','create_date')]"/>
<filter icon="terp-marketing" string="Write Date" domain="[('sync_mode','=','write_date')]"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="object_id" select="1"/>
@ -243,9 +243,9 @@
<field name="date_run" select="1"/>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Campaign" name="Campaign" icon="terp-project" context="{'group_by':'campaign_id'}" />
<filter string="Date Run" name="Date Run" icon="terp-project" context="{'group_by':'date_run'}" />
<filter string="State" name="State" icon="terp-project" context="{'group_by':'state'}" />
<filter string="Campaign" name="Campaign" icon="terp-marketing" context="{'group_by':'campaign_id'}" />
<filter string="Date Run" name="Date Run" icon="terp-marketing" context="{'group_by':'date_run'}" />
<filter string="State" name="State" icon="terp-marketing" context="{'group_by':'state'}" />
</group>
</search>
</field>

View File

@ -30,14 +30,14 @@
<field name="arch" type="xml">
<search string="Marketing Reports">
<group>
<filter icon="terp-account"
<filter icon="terp-marketing"
string="This Year"
domain="[('year','=',time.strftime('%%Y'))]"/>
<filter icon="terp-account"
<filter icon="terp-marketing"
string="This Month"
domain="[('month','=',time.strftime('%%m'))]"/>
<separator orientation="vertical"/>
<filter icon="terp-account"
<filter icon="terp-marketing"
string="Date"
domain="[('date','=',time.strftime('%%Y/%%m/%%d'))]"/>
<separator orientation="vertical"/>
@ -49,12 +49,12 @@
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Campaign" name="Campaign" icon="terp-sale" context="{'group_by':'campaign_id'}" />
<filter string="Segment" name ="Segment" icon="terp-sale" context="{'group_by':'segment_id'}" />
<filter string="Partner" icon="terp-sale" context="{'group_by':'partner_id'}"/>
<filter string="Campaign" name="Campaign" icon="terp-marketing" context="{'group_by':'campaign_id'}" />
<filter string="Segment" name ="Segment" icon="terp-marketing" context="{'group_by':'segment_id'}" />
<filter string="Partner" icon="terp-marketing" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
<filter string="Month" icon="terp-sale" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-sale" context="{'group_by':'year'}"/>
<filter string="Month" icon="terp-marketing" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-marketing" context="{'group_by':'year'}"/>
</group>
</search>
</field>

View File

@ -0,0 +1,32 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="57.0" y1="57.0" width="481" height="728"/>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Standard_Outline">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="Standard" fontName="Helvetica"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Caption" fontName="Helvetica-Oblique" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Helvetica"/>
<images/>
</stylesheet>
<story>
<para style="Standard">[[ repeatIn(objects,'lead') ]]</para>
<para style="Standard">
<font color="white"> </font>
</para>
<para style="Text body">Partner : [[ lead.company_id.partner_id.name ]]</para>
<para style="Standard">Company : [[ lead.company_id.parent_id.name ]]</para>
</story>
</document>

View File

@ -1214,7 +1214,7 @@ class stock_move(osv.osv):
'priority': fields.selection([('0', 'Not urgent'), ('1', 'Urgent')], 'Priority'),
'date': fields.datetime('Created Date'),
'date_planned': fields.datetime('Date', required=True, help="Scheduled date for the movement of the products or real date if the move is done."),
'date_planned': fields.datetime('Date Planned', required=True, help="Scheduled date for the movement of the products or real date if the move is done."),
'date_expected': fields.datetime('Date Expected', readonly=True,required=True, help="Scheduled date for the movement of the products"),
'product_id': fields.many2one('product.product', 'Product', required=True, select=True),

View File

@ -341,7 +341,7 @@
<field name="location_dest_id" />
<field name="date" />
<field name="date_planned" string="Date"/>
<field name="date_expected" string="Date Expected"/>
<field name="date_expected" string="Date Expected"/>
<field name="state"/>
</tree>
</field>
@ -652,7 +652,7 @@
<field colspan="4" invisible="1" name="name"/>
<field invisible="1" name="date"/>
<field name="date_planned"/>
<field name="date_expected" string="Date Expected"/>
<field name="date_expected" string="Date Expected"/>
<field name="address_id" context="{'contact_display':'partner'}"/>
<field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
<field name="prodlot_id" groups="base.group_extended"
@ -738,7 +738,7 @@
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');grey:state in ('cancel');red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">
<field name="name"/>
<field name="address_id"/>
<field name="address_id"/>
<field name="backorder_id" groups="base.group_extended"/>
<field name="origin"/>
<field name="date"/>
@ -777,7 +777,7 @@
<field name="location_id"/>
<field name="location_dest_id"/>
<field name="date_planned"/>
<field name="date_expected" string="Date Expected"/>
<field name="date_expected" string="Date Expected"/>
<field name="state"/>
<button
name="%(stock.track_line)d"
@ -804,7 +804,7 @@
<field colspan="4" invisible="1" name="name"/>
<field invisible="1" name="date"/>
<field name="date_planned"/>
<field name="date_expected" string="Date Expected"/>
<field name="date_expected" string="Date Expected"/>
<field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
<field name="prodlot_id" groups="base.group_extended"
context="{'location_id':location_id, 'product_id':product_id}"
@ -957,7 +957,7 @@
<field name="location_id"/>
<field name="location_dest_id"/>
<field name="date_planned"/>
<field name="date_expected" string="Date Expected"/>
<field name="date_expected" string="Date Expected"/>
<field name="state"/>
<button
name="%(stock.track_line)d"
@ -984,7 +984,7 @@
<field colspan="4" invisible="1" name="name"/>
<field invisible="1" name="date"/>
<field name="date_planned"/>
<field name="date_expected" string="Date Expected"/>
<field name="date_expected" string="Date Expected"/>
<field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
<field name="prodlot_id" groups="base.group_extended"
context="{'location_id':location_id, 'product_id':product_id}"
@ -1159,7 +1159,7 @@
<field groups="product.group_uos" name="product_uos_qty"/>
<field colspan="4" invisible="1" name="name" />
<field groups="base.group_extended" name="date_planned"/>
<field name="date_expected" groups="base.group_extended" string="Date Expected"/>
<field name="date_expected" groups="base.group_extended" string="Date Expected"/>
<newline/>
<newline/>
<field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
@ -1225,7 +1225,7 @@
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter icon="terp-stock" name="state" string="State" domain="[]" context="{'group_by':'state'}"/>
<filter icon="terp-stock" name="state" string="State" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical" />
<filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
<separator orientation="vertical" />
@ -1286,7 +1286,7 @@
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
<filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
<filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
<filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
<filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>
<filter string="Origin" icon="terp-stock" domain="[]" context="{'group_by':'origin'}"/>
</group>
@ -1312,18 +1312,16 @@
<field name="type">tree</field>
<field eval="6" name="priority"/>
<field name="arch" type="xml">
<tree colors="grey:state in ('cancel');red:date_planned > current_date" string="Moves">
<field name="name" string="Move Name"/>
<tree colors="grey:state in ('cancel');red:(state not in ('cancel','done')) and date_planned > current_date" string="Moves">
<field name="picking_id" select="1"/>
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="Unit Of Measure"/>
<field name="picking_id" select="1"/>
<field name="product_uom" string="Unit Of Measure"/>
<field name="prodlot_id" groups="base.group_extended"/>
<field name="location_id"/>
<field name="location_dest_id"/>
<field name="date_planned"/>
<field name="date_expected"/>
<field name="date_expected"/>
<field name="state"/>
</tree>
</field>
@ -1362,7 +1360,7 @@
<separator string="Dates &amp; Priority" colspan="2" />
<field name="date"/>
<field name="date_planned"/>
<field name="date_expected"/>
<field name="date_expected"/>
<field name="priority"/>
</group>
@ -1395,31 +1393,39 @@
<field name="name">stock.move.search</field>
<field name="model">stock.move</field>
<field name="type">search</field>
<field eval="6" name="priority"/>
<field eval="3" name="priority"/>
<field name="arch" type="xml">
<search string="Stock Moves">
<group col="8" colspan="4">
<filter icon="terp-stock" string="Available" name="Available" domain="[('state','=','assigned')]" help="Available"/>
<filter icon="terp-stock" string="Done" name="done" domain="[('state','=','done')]" help="Stock moves"/>
<filter icon="terp-stock" string="Future" name="future" domain="[('state','in',('assigned','confirmed','waiting'))]" help="Future stock moves"/>
<filter icon="terp-stock" string="Ready" name="ready" domain="[('state','=','assigned')]" help="Future stock moves that are ready"/>
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="location_id"/>
<field name="location_dest_id"/>
<field name="location_id" string="Location" domain="['|',('location_id','ilike',self),('location_dest_id','ilike',self)]"/>
<field name="address_id" string="Partner" context="{'contact_display':'partner'}" domain="[('picking_id.address_id','ilike',self)]"/>
<field name="date_planned"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter icon="terp-stock" string="Inventory" domain="[]" context="{'group_by':'name'}" />
<filter icon="terp-stock" string="State" domain="[]" context="{'group_by':'state'}" />
<filter string="Product" icon="terp-stock" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Source Location" icon="terp-stock" domain="[]" context="{'group_by':'location_id'}"/>
<filter string="Dest. Location" icon="terp-stock" domain="[]" context="{'group_by':'location_dest_id'}"/>
<filter string="Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
<filter string="Product" name="by_product" icon="terp-stock" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Lot" name="prodlot_id" icon="terp-stock" domain="[]" context="{'group_by':'prodlot_id'}"/>
<filter string="Packing" name="picking_id" icon="terp-stock" domain="[]" context="{'group_by':'picking_id'}"/>
<separator orientation="vertical"/>
<filter string="Source" icon="terp-stock" domain="[]" context="{'group_by':'location_id'}"/>
<filter string="Destination" icon="terp-stock" domain="[]" context="{'group_by':'location_dest_id'}"/>
<separator orientation="vertical"/>
<filter icon="terp-stock" string="State" domain="[]" context="{'group_by':'state'}" />
<separator orientation="vertical"/>
<filter string="Creation" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
<filter string="Expected" icon="terp-stock" domain="[]" context="{'group_by':'date_planned'}"/>
</group>
</search>
</field>
</record>
<record id="action_move_form2" model="ir.actions.act_window">
<field name="name">All Moves</field>
<field name="name">Stock Moves</field>
<field name="res_model">stock.move</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
@ -1611,10 +1617,10 @@
src_model="stock.location"/>
<act_window
context="{'location': active_id}"
context="{'location': active_id, 'search_default_done': 1}"
domain="[('product_id','=',active_id)]"
id="act_product_stock_move_open"
name="All Stock Moves"
name="Stock Moves"
res_model="stock.move"
src_model="product.product"/>
@ -1626,7 +1632,7 @@
src_model="stock.move"/>
<act_window
context="{'location': active_id}"
context="{'location': active_id, 'search_default_future': 1}"
domain="[('product_id','=',active_id),('state','in',('waiting','confirmed','assigned'))]"
id="act_product_stock_move_futur_open"
name="Future Stock Moves"