[MERGE]: Merge with lp:~openerp-dev/openobject-addons/trunk-dev-addons2

bzr revid: rpa@tinyerp.com-20100526124103-wqeb1slyc8pj5g7i
This commit is contained in:
rpa (Open ERP) 2010-05-26 18:11:03 +05:30
commit 084dc7e91f
60 changed files with 327 additions and 181 deletions

View File

@ -23,7 +23,6 @@ import time
import decimal_precision as dp
import netsvc
from osv import fields, osv, orm
import pooler
from tools import config

View File

@ -58,7 +58,7 @@
<filter icon="terp-account"
string="Pending"
domain="[('state','=','pending')]"/>
<separator orientation="vertical"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="user_id" widget="selection">
<filter icon="terp-account"

View File

@ -30,7 +30,7 @@
You can define your multiple levels of recall through the menu:
Financial Management/Configuration/Payment Terms/Follow-Ups
Once it's defined, you can automatically prints recall every days
Once it's defined, you can automatically print recalls every day
through simply clicking on the menu:
Financial_Management/Periodical_Processing/Print_Follow-Ups

View File

@ -32,7 +32,7 @@
* add titles, comment lines, sub total lines
* draw horizontal lines and put page breaks
Moreover, there is one option which allow you to print all the selected invoices with a given special message at the bottom of it. This feature can be very useful for printing your invoices with end-of-year wishes, special punctual conditions...
Moreover, there is one option which allows you to print all the selected invoices with a given special message at the bottom of it. This feature can be very useful for printing your invoices with end-of-year wishes, special punctual conditions...
""",
'author': 'Tiny',

View File

@ -28,7 +28,7 @@
"depends": ["account"],
"init_xml": [],
"description": """
This module provide :
This module provides :
* a more efficient way to manage invoice payment.
* a basic mechanism to easily plug various automated payment.
""",

View File

@ -24,8 +24,8 @@
"version" : "1.0",
"author" : 'Tiny & Axelor',
"description": """
India Accounting module includes all the basic requirenment of
Basic Accounting, plus new things which available are
Indian Accounting module includes all the basic requirenments of
Basic Accounting, plus new things which are available :
* Indian Account Chart
* New Invoice - (Local, Retail)
* Invoice Report

View File

@ -25,7 +25,7 @@
'category': 'Generic Modules/Others',
'description': """
This module allows you to define what is the default invoicing rate for a specific journal on a given account. This is mostly used when a user encode his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available.
This module allows you to define what is the default invoicing rate for a specific journal on a given account. This is mostly used when a user encodes his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available.
Obviously if no data has been recorded for the current account, the default value is given as usual by the account data so that this module is perfectly compatible with older configurations.

View File

@ -26,7 +26,7 @@
'category': 'Generic Modules/Others',
'description': """
This module allows you to define what is the default function of a specific user on a given account. This is mostly used when a user encode his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available.
This module allows you to define what is the default function of a specific user on a given account. This is mostly used when a user encodes his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available.
Obviously if no data has been recorded for the current account, the default value is given as usual by the employee data so that this module is perfectly compatible with older configurations.

View File

@ -20,10 +20,11 @@
##############################################################################
{
"name" : "Basic Calendar Functionality",
"version" : "1.0",
"depends" : ["base"],
'description': """Full featured calendar system that support:
"name" : "Basic Calendar Functionality",
"version" : "1.0",
"depends" : ["base"],
'description': """Full featured calendar system that supports:
- Alerts (create requests)
- Recurring events (*)
- Invitations to others people""",

View File

@ -1660,9 +1660,10 @@ class ir_model(osv.osv):
@param ids: List of IR Models IDs.
@param context: A standard dictionary for contextual values
"""
new_ids = isinstance(ids, (str, int, long)) and [ids] or ids
if not context:
context = {}
data = super(ir_model, self).read(cr, uid, ids, fields=fields, \
data = super(ir_model, self).read(cr, uid, new_ids, fields=fields, \
context=context, load=load)
if data:
for val in data:

View File

@ -25,14 +25,14 @@
'version': '1.0',
'category': 'Generic Modules/Base',
'description': """
This module allows you to manage entirely your contacts.
This module allows you to manage your contacts entirely.
It lets you define
*contacts unrelated to a partner,
*contacts working at several addresses (possibly for different partners),
*contacts with possibly different functions for each of its job's addresses
It also add new menu items located in
It also adds new menu items located in
Partners \ Contacts
Partners \ Functions

View File

@ -23,7 +23,7 @@
'version': '1.0',
'category': 'Generic Modules/Base',
'description': """
This module install the base for IBAN (International Bank Account Number) bank accounts and checks for its validity
This module installs the base for IBAN (International Bank Account Number) bank accounts and checks for its validity
""",
'author': 'Tiny',

View File

@ -27,7 +27,7 @@
'description': """
This module's aim is to check the quality of other modules.
It defines a wizard on the list of modules in OpenERP, which allow you to
It defines a wizard on the list of modules in OpenERP, which allows you to
evaluate them on different criteria such as: the respect of OpenERP coding
standards, the speed efficiency...

View File

@ -39,7 +39,7 @@ for custom configurations and demo/testing data.
How to use it:
Run Administration/Customization/Module Creation/Export Customizations As a Module wizard.
Select datetime critearea of recording and objects to be recorded and Record module.
Select datetime critearia of recording and objects to be recorded and Record module.
""",
'author': 'Tiny',
'website': 'http://www.openerp.com',

View File

@ -24,8 +24,8 @@
'name': 'Report Creator',
'version': '1.0',
'category': 'Generic Modules/Base',
'description': """This modules allows you to create any statistic
report on several object. It's a SQL query builder and browser
'description': """This module allows you to create any statistic
report on several objects. It's a SQL query builder and browser
for and users.
After installing the module, it adds a menu to define custom report in

View File

@ -25,7 +25,7 @@
'version': '1.0',
'category': 'Board/Manufacturing',
'description': """
This module creates a dashboards for Manufaturing that includes:
This module creates a dashboard for Manufaturing that includes:
* List of next production orders
* List of deliveries (out picking)
* Graph of work center load

View File

@ -25,7 +25,7 @@
'version': '1.0',
'category': 'Board/Projects & Services',
'description': """
This module implements a dashboard for project member that includes:
This module implements a dashboard for project members that includes:
* List of my open tasks
* List of messages
* Members list of project

View File

@ -25,7 +25,7 @@
'version': '1.0',
'category': 'Board/Purchase',
'description': """
This module implements a dashboard for purcgase management that includes:
This module implements a dashboard for purchase management that includes:
* Current Purchase Orders
* Draft Purchase Orders
* Graph for quantity and amount per month

View File

@ -26,7 +26,7 @@
'category': 'Board/Sales & Purchase',
'description': """
This module implements a dashboard for salesman that includes:
* You open quotations
* Your open quotations
* Top 10 sales of the month
* Cases statistics
* Graph of sales by product

View File

@ -32,12 +32,12 @@ assignment, resolution and notification.
Open ERP ensures that all cases are successfully tracked by users, customers and
suppliers. It can automatically send reminders, escalate the request, trigger
specific methods and lots of others actions based on your enterprise own rules.
specific methods and lots of other actions based on your own enterprise rules.
The greatest thing about this system is that users don't need to do anything
special. They can just send email to the request tracker. Open ERP will take
care of thanking them for their message, automatically routing it to the
appropriate staff, and making sure all future correspondence gets to the right
appropriate staff, and make sure all future correspondence gets to the right
place.
The CRM module has a email gateway for the synchronisation interface

View File

@ -2,7 +2,7 @@
<openerp>
<data>
<!--Lead Stage Form view -->
<!--Lead Stage Form view -->
<record id="crm_lead_stage_act" model="ir.actions.act_window">
<field name="name">Lead Stages</field>
@ -16,7 +16,7 @@
groups="base.group_extended"
parent="crm.menu_crm_case_stage" />
<!-- Resource Type Form View -->
<!-- Resource Type Form View -->
<record id="crm_lead_resource_act" model="ir.actions.act_window">
<field name="name">Lead Resource Type</field>
@ -31,7 +31,7 @@
groups="base.group_extended"
parent="crm.menu_crm_case_resource_type" />
<!-- CRM Lead Form View -->
<!-- CRM Lead Form View -->
<record model="ir.ui.view" id="crm_case_form_view_leads">
<field name="name">CRM - Leads Form</field>
@ -196,7 +196,7 @@
</field>
</record>
<!-- CRM Lead Tree View -->
<!-- CRM Lead Tree View -->
<record model="ir.ui.view" id="crm_case_tree_view_leads">
<field name="name">CRM - Leads Tree</field>
@ -245,7 +245,7 @@
</field>
</record>
<!-- CRM Lead Calendar View -->
<!-- CRM Lead Calendar View -->
<record model="ir.ui.view" id="crm_case_calendar_view_leads">
<field name="name">CRM - Leads Calendar</field>
@ -263,7 +263,7 @@
</field>
</record>
<!-- CRM Lead Search View -->
<!-- CRM Lead Search View -->
<record id="view_crm_case_leads_filter" model="ir.ui.view">
<field name="name">CRM - Leads Search</field>
@ -328,6 +328,5 @@
</field>
</record>
</data>
</openerp>

View File

@ -2,7 +2,7 @@
<openerp>
<data>
<!-- CRM Meetings Categories Form View -->
<!-- CRM Meetings Categories Form View -->
<record id="crm_meeting_categ_action" model="ir.actions.act_window">
<field name="name">Meeting Categories</field>
@ -16,7 +16,7 @@
<menuitem action="crm_meeting_categ_action"
id="menu_crm_case_meeting-act" parent="crm.menu_crm_case_categ" />
<!-- CRM Meetings Form View -->
<!-- CRM Meetings Form View -->
<record model="ir.ui.view" id="crm_case_form_view_meet">
<field name="name">CRM - Meetings Form</field>
@ -204,7 +204,7 @@
</field>
</record>
<!-- CRM Meeting Tree View -->
<!-- CRM Meeting Tree View -->
<record model="ir.ui.view" id="crm_case_tree_view_meet">
<field name="name">CRM - Meetings Tree</field>
@ -222,7 +222,7 @@
</field>
</record>
<!-- CRM Meeting Calendar -->
<!-- CRM Meeting Calendar -->
<record model="ir.ui.view" id="crm_case_calendar_view_meet">
<field name="name">CRM - Meetings Calendar</field>
@ -238,7 +238,7 @@
</field>
</record>
<!-- CRM Meeting Gantt -->
<!-- CRM Meeting Gantt -->
<record id="crm_case_gantt_view_meet" model="ir.ui.view">
<field name="name">CRM - Meetings Gantt</field>
@ -254,7 +254,7 @@
</field>
</record>
<!-- CRM Meeting Search View -->
<!-- CRM Meeting Search View -->
<record id="view_crm_case_meetings_filter" model="ir.ui.view">
<field name="name">CRM - Meetings Search</field>
@ -296,7 +296,7 @@
</field>
</record>
<!-- Calendar Attendee Form View -->
<!-- Calendar Attendee Form View -->
<record id="attendee_form_view_inherit" model="ir.ui.view">
<field name="name">calendar.attendee.form.inherit</field>
@ -310,7 +310,7 @@
</field>
</record>
<!-- Calendar Attendee Tree View -->
<!-- Calendar Attendee Tree View -->
<record id="attendee_tree_view_inherit" model="ir.ui.view">
<field name="name">calendar.attendee.tree.inherit</field>

View File

@ -32,7 +32,7 @@
id="menu_crm_opportunity_stage_act"
parent="crm.menu_crm_case_stage" />
<!-- Opportunity Resource Type Form View -->
<!-- Opportunity Resource Type Form View -->
<record id="crm_opportunity_resource_act" model="ir.actions.act_window">
<field name="name">Opportunity Resource Type</field>

View File

@ -45,7 +45,7 @@
</field>
</record>
<!-- Case Sections Tree View -->
<!-- Case Sections Tree View -->
<record id="crm_case_section_view_tree" model="ir.ui.view">
<field name="name">crm.case.section.tree</field>
@ -61,7 +61,7 @@
</field>
</record>
<!-- Case Sections Action -->
<!-- Case Sections Action -->
<record id="crm_case_section_act" model="ir.actions.act_window">
<field name="name">Sales Team</field>
@ -70,7 +70,7 @@
<field name="view_id" ref="crm_case_section_view_tree"/>
</record>
<!-- CRM Stage Tree View -->
<!-- CRM Stage Tree View -->
<record model="ir.ui.view" id="crm_case_stage_tree">
<field name="name">crm.case.stage.tree</field>
@ -87,7 +87,7 @@
</field>
</record>
<!-- CRM Stage Form View -->
<!-- CRM Stage Form View -->
<record model="ir.ui.view" id="crm_case_stage_form">
<field name="name">crm.case.stage.form</field>
@ -108,7 +108,7 @@
</field>
</record>
<!-- CRM Stage Action -->
<!-- CRM Stage Action -->
<record id="crm_case_stage_act" model="ir.actions.act_window">
<field name="name">Stages</field>
@ -119,7 +119,7 @@
<menuitem id="menu_crm_case_stage" name="Stages" parent="base.menu_crm_configuration" groups="base.group_extended"/>
<!-- Case Categories Form View -->
<!-- Case Categories Form View -->
<record id="crm_case_categ-view" model="ir.ui.view">
<field name="name">crm.case.categ.form</field>
@ -134,7 +134,7 @@
</field>
</record>
<!-- Case Categories Tree View -->
<!-- Case Categories Tree View -->
<record id="crm_case_categ_tree-view" model="ir.ui.view">
<field name="name">crm.case.categ.tree</field>
@ -148,7 +148,7 @@
</field>
</record>
<!-- Case Categories Action -->
<!-- Case Categories Action -->
<record id="crm_case_categ-act" model="ir.actions.act_window">
<field name="name">Categories</field>
@ -163,7 +163,7 @@
parent="base.menu_crm_configuration" />
<!-- Resource Type of case Tree View -->
<!-- Resource Type of case Tree View -->
<record model="ir.ui.view" id="crm_case_resource_type_tree">
<field name="name">crm.case.resource.type.tree</field>
@ -178,7 +178,7 @@
</field>
</record>
<!-- Resource Type of case Form View -->
<!-- Resource Type of case Form View -->
<record model="ir.ui.view" id="crm_case_resource_type_form">
<field name="name">crm.case.resource.type.form</field>
@ -193,7 +193,7 @@
</field>
</record>
<!-- Resource Type of case Action -->
<!-- Resource Type of case Action -->
<record id="crm_case_resource_type_act" model="ir.actions.act_window">
<field name="name">Resource Type</field>
@ -212,7 +212,7 @@
<field name="view_id" ref="crm_case_section_view_tree"/>
</record>
<!-- Cases Tree View -->
<!-- Cases Tree View -->
<record id="crm_case_log_tree-view" model="ir.ui.view">
<field name="name">crm.case.log.tree</field>
@ -232,8 +232,7 @@
</field>
</record>
<!-- Segmentation line Tree View -->
<!-- Segmentation line Tree View -->
<record id="crm_segmentation_line_tree-view" model="ir.ui.view">
<field name="name">crm.segmentation.line.tree</field>
@ -250,7 +249,7 @@
</field>
</record>
<!-- Segmentation line Form View -->
<!-- Segmentation line Form View -->
<record id="crm_segmentation_line-view" model="ir.ui.view">
<field name="name">crm.segmentation.line.form</field>
@ -270,7 +269,7 @@
</field>
</record>
<!-- CRM Segmentation Form View -->
<!-- CRM Segmentation Form View -->
<record id="crm_segmentation-view" model="ir.ui.view">
<field name="name">crm.segmentation.form</field>
@ -315,7 +314,7 @@
</field>
</record>
<!-- CRM Segmentation Tree View -->
<!-- CRM Segmentation Tree View -->
<record id="crm_segmentation_tree-view" model="ir.ui.view">
<field name="name">crm.segmentation.tree</field>
@ -375,7 +374,7 @@
</field>
</record>
<!-- Inherit View From Partner -->
<!-- Inherit View From Partner -->
<record id="view_partners_form_crm1" model="ir.ui.view">
<field name="name">view.res.partner.form.crm.inherited1</field>

View File

@ -24,7 +24,7 @@
'name': 'Carriers and deliveries',
'version': '1.0',
'category': 'Generic Modules/Sales & Purchases',
'description': """Allows you to add delivery methods in sales orders and picking.
'description': """Allows you to add delivery methods in sale orders and picking.
You can define your own carrier and delivery grids for prices.
When creating invoices from picking, Open ERP is able to add and compute the shipping line.

View File

@ -31,7 +31,7 @@
ATTENTION:
- When you install this module in a running company that have already PDF files stored into the database,
you will lose them all.
- After installing this module PDF's are not longer stored into the database,
- After installing this module PDF's are no longer stored into the database,
but in the servers rootpad like /server/bin/filestore.
""",
'author': 'Tiny',

View File

@ -26,7 +26,7 @@
'category': 'Generic Modules/Others',
'description': """This is a support FTP Interface with document management system.
With this module you would not only be able to access documents through open erp
also you would be able to connect with them through the file system using the FTP protocol.
but you would also be able to connect with them through the file system using the FTP protocol.
""",
'author': 'Tiny',
'website': 'http://www.openerp.com',

View File

@ -26,7 +26,7 @@
"version" : "1.0",
"depends" : ["base"],
"author" : "Tiny",
"description": """Fetchail:
"description": """Fetchmail:
* Fetch email from Pop / IMAP server
* Support SSL
* Integrated with all Modules

View File

@ -28,7 +28,7 @@
"depends" : ["hr",'hr_recruitment','survey'],
"description": """
Ability to create employees evaluation.
An evaluation can be created by employee for subordinates
An evaluation can be created by employee for subordinates,
juniors as well as his manager.The evaluation is done under a plan
in which various surveys can be created and it can be defined which
level of employee hierarchy fills what and final review and evaluation

View File

@ -34,7 +34,7 @@
* Validation by the accountant and invoice creation
* Payment of the invoice to the employee
This module also use the analytic accounting and is compatible with
This module also uses the analytic accounting and is compatible with
the invoice on timesheet module so that you will be able to automatically
re-invoice your customer's expenses if your work by project.
""",

View File

@ -60,8 +60,17 @@
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
help="Leaves during last 7 days"/>
<separator orientation="vertical"/>
<field name="employee_id"/>
<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">
@ -88,7 +97,6 @@
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_month':1,'search_default_User':1,'group_by_no_leaf':1,'group_by':[]}</field>
<field name="view_id" ref="view_hr_available_holidays_report_search"/>
</record>
<record model="ir.actions.act_window.view" id="action_hr_available_holidays_report_tree">

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<data>
<record id="view_hr_holidays_report_tree" model="ir.ui.view">
<field name="name">hr.holidays.report.tree</field>
<field name="model">hr.holidays.report</field>
@ -149,5 +150,6 @@
</graph>
</field>
</record>
</data>
</data>
</openerp>

View File

@ -25,7 +25,7 @@
'category': 'Generic Modules/Human Resources',
'description': """
Manages job positions and the recruitement process. It's integrated with the
survey module to allows you to define interview for different jobs.
survey module to allow you to define interview for different jobs.
This module is integrated with the mail gateway to automatically tracks email
sent to jobs@YOURCOMPANY.com. It's also integrated with the document management

View File

@ -25,9 +25,9 @@
'version': '1.0',
'category': 'Generic Modules/Human Resources',
'description': """
This module implement a timesheet system. Each employee can encode and
This module implements a timesheet system. Each employee can encode and
track their time spent on the different projects. A project is an
analytic account and the time spent on a project generate costs on
analytic account and the time spent on a project generates costs on
the analytic account.
Lots of reporting on time and employee tracking are provided.

View File

@ -25,21 +25,21 @@
'version': '1.0',
'category': 'Generic Modules/Human Resources',
'description': """
This module help you easily encode and validate timesheet and attendances
This module helps you to easily encode and validate timesheet and attendances
within the same view. The upper part of the view is for attendances and
track (sign in/sign out) events. The lower part is for timesheet.
Others tabs contains statistics views to help you analyse your
Other tabs contains statistics views to help you analyse your
time or the time of your team:
* Time spent by day (with attendances)
* Time spent by project
This module also implement a complete timesheet validation process:
This module also implements a complete timesheet validation process:
* Draft sheet
* Confirmation at the end of the period by the employee
* Validation by the project manager
The validation can be configured in te company:
The validation can be configured in the company:
* Period size (day, week, month, year)
* Maximal difference between timesheet and attendances
""",

View File

@ -27,8 +27,8 @@
'description': """
This module allows your user to easily and efficiently participate in the innovation of the enterprise.
It allows everybody to express ideas about different subjects.
Then, others users can comment these ideas and vote for particular ideas.
Each idea as a score based on the different votes.
Then, other users can comment on these ideas and vote for particular ideas.
Each idea has a score based on the different votes.
The managers can obtain an easy view on best ideas from all the users.
Once installed, check the menu 'Ideas' in the 'Tools' main menu.""",
'author': 'Tiny',

View File

@ -26,7 +26,7 @@
After Installing this module,The Configuration wizard for accounting is launched.
* We have the account templates which can be helpful to generate Charts of Accounts.
* On that particular wizard,You will be asked to pass the name of the company,the chart template to follow,the no. of digits to generate the code for your account and Bank account,currency to create Journals.
* On that particular wizard,You will be asked to pass the name of the company,the chart template to follow,the no. of digits to generate the code for your account and Bank account,currency to create Journals.
Thus,the pure copy of Chart Template is generated.
* This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.

View File

@ -34,7 +34,7 @@
"name" : "Switzerland localisation corrected by Camptocamp",
"description" : """
Swiss localisation :
- DTA generation for a lot of paiment types
- DTA generation for a lot of payment types
- BVR management (number generation, report, etc..)
- Import account move from the bank file (like v11 etc..)
- Simplify the way you handle the bank statement for reconciliation

View File

@ -23,7 +23,7 @@
"name": "Lunch Module",
"author": "Tiny",
"Description": """
The lunch module is for keeping record of the order placing and payment of the orders.
The lunch module is for keeping record of the order placed and payment of the orders.
The products are defined under categories and the payment records are maintained user wise
Every user has a cashbox which keeps track of the amount paid for a particular order.

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

@ -26,7 +26,7 @@
'category': 'Generic Modules/Base',
'description': """
This module shows the basic processes involved
in the selected modules and in the sequence these
in the selected modules and in the sequence they
occur
Note: This applies to the modules containing modulename_process_xml

View File

@ -26,7 +26,7 @@
'category': 'Custom',
'description': """
Adds a reporting menu in products that computes sales, purchases, margins
and others interesting indicators based on invoices. The wizard to launch
and other interesting indicators based on invoices. The wizard to launch
the report has several options to help you get the data you need.
""",
'author': 'Tiny',

View File

@ -28,7 +28,7 @@
"category" : "Generic Modules/Projects & Services",
"depends" : ["product", "analytic", "process", "mail_gateway"],
"description": """Project management module that track multi-level projects, tasks,
works done on tasks, eso. It is able to render planning, order tasks, eso.
work done on tasks, eso. It is able to render planning, order tasks, eso.
""",
"init_xml" : [],
"update_xml": [

View File

@ -216,7 +216,7 @@
</record>
<!-- Views and action for project dashboard -->
<record id="view_task_by_days_vs_planned_hours_tree" model="ir.ui.view">
<record id="view_task_by_days_vs_planned_hours_tree" model="ir.ui.view">
<field name="name">task.by.days.vs.planned.hours.tree</field>
<field name="model">task.by.days.vs.planned.hours</field>
<field name="type">tree</field>
@ -248,5 +248,6 @@
<field name="view_mode">graph,tree</field>
<field name="view_id" ref="view_task_by_days_vs_planned_hours_graph"/>
</record>
</data>
</openerp>

View File

@ -29,7 +29,7 @@
Long Term Project management module that track planning, scheduling, resources allocation.
Mainly used with Big project management.
- Project Phases will be maintain by Manager of the project
- Project Phases will be maintained by Manager of the project
- Compute Phase Scheduling: Compute start date and end date of the phases which are in draft,open and pending state of the project given.
If no project given then all the draft,open and pending states phases will be taken
- Compute Task Scheduling: This works same as the scheduler button on project.phase. It takes the project as arguement and computes all the open,draft and pending tasks

View File

@ -32,7 +32,7 @@ This module is based on the analytic accounting and is totally integrated with
* the holidays management
* the project management
So that, each department manager can know if someone in his team has still unaloccated time for a given planning (taking in consideration the validated leaves) or if he still needs to encode tasks.
So that, each department manager can know if someone in his team has still unallocated time for a given planning (taking in consideration the validated leaves) or if he still needs to encode tasks.
At the end of the month, the planning manager can also check if the encoded timesheets are respecting the planned time on each analytic account.
""",

View File

@ -25,7 +25,7 @@
'version': '0.1',
'category': 'Generic Modules/Projects & Services',
'description': """
- If deadline date of project is changed will
- If deadline date of project is changed
then the deadline date for all the tasks will change to the same """,
'author': 'Tiny',
'depends': ['base', 'project'],

View File

@ -26,7 +26,7 @@
'category': 'Generic Modules/Inventory Control',
'description': """
A module that adds intrastat reports.
This module gives the details of the goods traded between the countries of Europan Union """,
This module gives the details of the goods traded between the countries of European Union """,
'author': 'Tiny',
'website': 'http://www.openerp.com',
'depends': ['base', 'product', 'stock', 'sale', 'purchase'],

View File

@ -28,7 +28,7 @@
The sale journal modules allows you to categorise your
sales and deliveries (picking lists) between different journals.
This module is very helpful for bigger companies that
works by departments.
work by departments.
You can use journal for different purposes, some examples:
* isolate sales of different departments

View File

@ -25,7 +25,7 @@
'version': '1.0',
'category': 'Enterprise Specific Modules/Information Technology',
'description': """
This modules implements all concepts defined by the scrum project
This module implements all concepts defined by the scrum project
management methodology for IT companies:
* Project with sprints, product owner, scrum master
* Sprints with reviews, daily meetings, feedbacks
@ -36,10 +36,10 @@
* Mid-term, long-term road-map
* Customers/functional requests VS technical ones
It also create a new reporting:
It also creates a new reporting:
* Burn-down chart
The scrum projects and tasks inherits from the real projects and
The scrum projects and tasks inherit from the real projects and
tasks, so you can continue working on normal tasks that will also
include tasks from scrum projects.

View File

@ -95,7 +95,7 @@ class stock_report_tracklots(osv.osv):
}
def init(self, cr):
drop_view_if_exists(cr, 'stock_report_prodlots')
drop_view_if_exists(cr, 'stock_report_tracklots')
cr.execute("""
create or replace view stock_report_tracklots as (
@ -150,7 +150,7 @@ class report_stock_lines_date(osv.osv):
'date': fields.datetime('Latest Inventory Date'),
}
def init(self, cr):
drop_view_if_exists(cr, 'stock_report_prodlots')
drop_view_if_exists(cr, 'report_stock_lines_date')
cr.execute("""
create or replace view report_stock_lines_date as (
select

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>
@ -653,7 +653,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"
@ -739,7 +739,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"/>
@ -778,7 +778,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"
@ -805,7 +805,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}"
@ -958,7 +958,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"
@ -985,7 +985,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}"
@ -1160,7 +1160,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)]"/>
@ -1226,7 +1226,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" />
@ -1287,7 +1287,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>
@ -1313,18 +1313,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>
@ -1363,7 +1361,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>
@ -1396,31 +1394,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>
@ -1612,10 +1618,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"/>
@ -1627,7 +1633,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"

View File

@ -38,7 +38,7 @@ Because we have another module sale_forecast which uses terms "Sales Forecast" a
Activity with this module is divided to three steps:
- Creating Periods. Mandatory step.
- Creating Sale Forecasts and entering quantities to them. Optional step but useful for farther planning.
- Creating Sale Forecasts and entering quantities to them. Optional step but useful for further planning.
- Creating Planning lines, entering quantities to them and making Procurement. Making procurement is the final step for the Period.
Periods
@ -52,7 +52,7 @@ Creating periods is the first step you have to do to use modules features. You c
Remarks:
- These periods (officially Stock and Sales Periods) are separated of Financial or other periods in the system.
- Periods are not assigned to companies (when you use multicompany feature at all). Module suppose that you use the same periods across companies. If you wish to use different periods for different companies define them as you wish (they can overlap). Later on in this text will be indications how to use such periods.
- When periods are created automatically their start and finish dates are with with start hour 00:00:00 and end hour 23:59:00. Fe. when you create daily periods they will have start date 31.01.2010 00:00:00 and end date 31.01.2010 23:59:00. It works only in automatic creation of periods. When you create periods manually you have to take care about hours because you can have incorrect values form sales or stock.
- When periods are created automatically their start and finish dates are with start hour 00:00:00 and end hour 23:59:00. Fe. when you create daily periods they will have start date 31.01.2010 00:00:00 and end date 31.01.2010 23:59:00. It works only in automatic creation of periods. When you create periods manually you have to take care about hours because you can have incorrect values form sales or stock.
- If you use overlapping periods for the same product, warehouse and company results can be unpredictable.
- If current date doesn't belong to any period or you have holes between periods results can be unpredictable.
@ -65,13 +65,13 @@ You have few menus for Sales forecast in "Sales Management - Sales Forecasts".
Menu "Create Sales Forecasts for Sales Periods" creates Forecasts for products from selected Category, for selected Period and for selected Warehouse. It is an option "Copy Last Forecast" to copy forecast and other settings of period before this one to created one.
Remarks:
- This tool doesn't create lines if relevant lines (for the same Product, Period, Warehouse and validated or created by you) already exists. If you wish to create another forecast if relevant lines exists you have to do it manually using menus described bellow.
- This tool doesn't create lines, if relevant lines (for the same Product, Period, Warehouse and validated or created by you) already exists. If you wish to create another forecast, if relevant lines exists you have to do it manually using menus described bellow.
- When created lines are validated by someone else you can use this tool to create another lines for the same Period, Product and Warehouse.
- When you choose "Copy Last Forecast" created line takes quantity and some settings from your (validated by you or created by you if not validated yet) forecast which is for last period before period of created forecast. If there are few your forecasts for period before this one (it is possible) system takes one of them (no rule which of them).
Menus "Sales Forecasts"
On "Sales Forecast" form mainly you have to enter a forecast quantity in "Product Quantity". Farther calculation can work for draft forecasts. But validation can save your data against any accidental changes. You can click "Validate" button but it is not mandatory.
On "Sales Forecast" form mainly you have to enter a forecast quantity in "Product Quantity". Further calculation can work for draft forecasts. But validation can save your data against any accidental changes. You can click "Validate" button but it is not mandatory.
Instead of forecast quantity you can enter amount of forecast sales in field "Product Amount". System will count quantity from amount according to Sale price of the Product.
@ -94,7 +94,7 @@ Menu "Create Stock Planning Lines" allows you to create quickly Planning lines f
Under menu "Master Procurement Scheduler" you can generally change the values "Planned Out" and "Planned In" to observe the field "Stock Simulation" and decide if this value would be accurate for end of the Period.
"Planned Out" can be based on "Warehouse Forecast" which is the sum of all forecasts for Period and Warehouse. But your planning can be based on any other information you have. It is not necessary to have any forecast.
"Planned In" quantity is used to calculate field "Incoming Left" which is the quantity to be procured to make stock as indicated in "Stock Simulation" at the and of Period. You can compare "Stock Simulation" quantity to minimum stock rules visible on the form. But you can plan different quantity than in Minimum Stock Rules. Calculation is made for whole Warehouse by default. But if you want to see values for Stock location of calculated warehouse you can use check box "Stock Location Only".
"Planned In" quantity is used to calculate field "Incoming Left" which is the quantity to be procured to make stock as indicated in "Stock Simulation" at the end of Period. You can compare "Stock Simulation" quantity to minimum stock rules visible on the form. But you can plan different quantity than in Minimum Stock Rules. Calculation is made for whole Warehouse by default. But if you want to see values for Stock location of calculated warehouse you can use check box "Stock Location Only".
If after few tries you decide that you found correct quantities for "Planned Out" and "Planned In" and you are satisfied with end of period stock calculated in "Stock Simulation" you can click "Procure Incoming Left" button to procure quantity of field "Incoming Left" into the Warehouse. System creates appropriate Procurement Order. You can decide if procurement will be made to Stock or Input location of calculated Warehouse.

View File

@ -25,7 +25,7 @@
'version': '1.0',
'category': 'Tools',
'description': """
This module is used for surveing. It depends on the answers or reviews of some questions by different users.
This module is used for surveying. It depends on the answers or reviews of some questions by different users.
A survey may have multiple pages. Each page may contain multiple questions and each question may have multiple answers.
Different users may give different answers of question and according to that survey is done.
Partners are also sent mails with user name and password for the invitation of the survey