[MERGE] base_setup dynamic introspecting ir_module_module
bzr revid: al@openerp.com-20111005165504-ohkyy7edqhykirei
This commit is contained in:
commit
7a06e4c05d
|
@ -22,7 +22,7 @@
|
|||
"name" : "Accounting and Financial Management",
|
||||
"version" : "1.1",
|
||||
"author" : "OpenERP SA",
|
||||
"category": 'Finance',
|
||||
"category": 'Accounting & Finance',
|
||||
'complexity': "normal",
|
||||
"description": """
|
||||
Accounting and Financial Management.
|
||||
|
|
|
@ -43,26 +43,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_modules_installer" model="ir.ui.view">
|
||||
<field name="name">account.installer.modules.form</field>
|
||||
<field name="model">base.setup.installer</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base_setup.view_base_setup_installer"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//group[@name='account_accountant']" position="replace">
|
||||
<newline/>
|
||||
<separator string="Accounting & Finance Features" colspan="4"/>
|
||||
<field name="account_followup"/>
|
||||
<field name="account_payment"/>
|
||||
<field name="account_analytic_plans"/>
|
||||
<field name="account_anglo_saxon"/>
|
||||
<field name="account_asset"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_configuration_installer" model="ir.actions.act_window">
|
||||
<field name="name">Install your Chart of Accounts</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
|
|
|
@ -224,26 +224,4 @@ class account_installer(osv.osv_memory):
|
|||
|
||||
account_installer()
|
||||
|
||||
class account_installer_modules(osv.osv_memory):
|
||||
_inherit = 'base.setup.installer'
|
||||
_columns = {
|
||||
'account_analytic_plans': fields.boolean('Multiple Analytic Plans',
|
||||
help="Allows invoice lines to impact multiple analytic accounts "
|
||||
"simultaneously."),
|
||||
'account_payment': fields.boolean('Suppliers Payment Management',
|
||||
help="Streamlines invoice payment and creates hooks to plug "
|
||||
"automated payment systems in."),
|
||||
'account_followup': fields.boolean('Followups Management',
|
||||
help="Helps you generate reminder letters for unpaid invoices, "
|
||||
"including multiple levels of reminding and customized "
|
||||
"per-partner policies."),
|
||||
'account_anglo_saxon': fields.boolean('Anglo-Saxon Accounting',
|
||||
help="This module will support the Anglo-Saxons accounting methodology by "
|
||||
"changing the accounting logic with stock transactions."),
|
||||
'account_asset': fields.boolean('Assets Management',
|
||||
help="Helps you to manage your assets and their depreciation entries."),
|
||||
}
|
||||
|
||||
account_installer_modules()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
"name" : "Accountant Access",
|
||||
"version" : "1.1",
|
||||
"author" : "OpenERP SA",
|
||||
"category": 'Finance',
|
||||
"category": 'Hidden',
|
||||
'complexity': "normal",
|
||||
"description": """
|
||||
Accounting Access Rights.
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name' : 'Analytic Account View',
|
||||
'version' : '1.1',
|
||||
'category' : 'Finance',
|
||||
'category' : 'Hidden',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
This module is for modifying account analytic view to show important data to project manager of services companies.
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
'name' : 'Account Analytic Defaults',
|
||||
'version' : '1.0',
|
||||
'category' : 'Finance',
|
||||
'category' : 'Hidden',
|
||||
'complexity': "normal",
|
||||
'description': """Set default values for your analytic accounts
|
||||
Allows to automatically select analytic accounts based on criterions:
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name' : 'Manage multiple plans in Analytic Accounting',
|
||||
'name' : 'Multiple Analytic Plans',
|
||||
'version' : '1.0',
|
||||
'category' : 'Finance',
|
||||
'category' : 'Accounting & Finance',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
This module allows to use several analytic plans, according to the general journal.
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "Stock Accounting for Anglo-Saxon countries",
|
||||
"name" : "Anglo-Saxon Accouting",
|
||||
"version" : "1.2",
|
||||
"author" : "OpenERP SA, Veritos",
|
||||
"website" : "http://tinyerp.com - http://veritos.nl",
|
||||
|
@ -36,7 +36,7 @@ when the invoice is created to transfer this amount to the debtor or creditor ac
|
|||
Secondly, price differences between actual purchase price and fixed product standard price are booked on a separate account""",
|
||||
"images" : ["images/account_anglo_saxon.jpeg"],
|
||||
"depends" : ["product", "purchase"],
|
||||
"category" : "Warehouse",
|
||||
"category" : "Accounting & Finance",
|
||||
"init_xml" : [],
|
||||
"demo_xml" : [],
|
||||
"update_xml" : ["product_view.xml",],
|
||||
|
|
|
@ -20,16 +20,16 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "Asset management",
|
||||
"name" : "Assets Management",
|
||||
"version" : "1.0",
|
||||
"depends" : ["account"],
|
||||
"author" : "Tiny",
|
||||
"author" : "OpenERP S.A.",
|
||||
"description": """Financial and accounting asset management.
|
||||
This Module manages the assets owned by a company or an individual. It will keep track of depreciation's occurred on
|
||||
those assets. And it allows to create Move's of the depreciation lines.
|
||||
""",
|
||||
"website" : "http://www.openerp.com",
|
||||
"category" : "Generic Modules/Accounting",
|
||||
"category" : "Accounting & Finance",
|
||||
"init_xml" : [
|
||||
],
|
||||
"demo_xml" : [ 'account_asset_demo.xml'
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Budget Management',
|
||||
'name': 'Budgets',
|
||||
'version': '1.0',
|
||||
'category': 'Finance',
|
||||
'category': 'Project Management',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
This module allows accountants to manage analytic and crossovered budgets.
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
"name" : "Cancel Entries",
|
||||
"version" : "1.1",
|
||||
"author" : "OpenERP SA",
|
||||
"category": 'Finance',
|
||||
"category": 'Hidden',
|
||||
'complexity': "normal",
|
||||
"description": """
|
||||
Allows cancelling accounting entries.
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Charts of Accounts',
|
||||
'version': '1.1',
|
||||
'category': 'Finance',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
Remove minimal account chart.
|
||||
=============================
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
"name" : "Account CODA - import bank statements from coda file",
|
||||
"version" : "1.0",
|
||||
"author" : "OpenERP SA",
|
||||
"category" : "Finance",
|
||||
"category" : "Hidden",
|
||||
'complexity': "normal",
|
||||
"description": """
|
||||
Module provides functionality to import bank statements from coda files.
|
||||
|
|
|
@ -20,9 +20,9 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
'name': 'Reminders',
|
||||
'name': 'Followups Management',
|
||||
'version': '1.0',
|
||||
'category': 'Finance',
|
||||
'category': 'Accounting & Finance',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
Modules to automate letters for unpaid invoices, with multi-level recalls.
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Improve Invoice Layout',
|
||||
'version': '1.0',
|
||||
'category': 'Finance',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
This module provides some features to improve the layout of the invoices.
|
||||
|
|
|
@ -20,10 +20,10 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
"name": "Payment Management",
|
||||
"name": "Suppliers Payment Management",
|
||||
"version": "1.1",
|
||||
"author": "OpenERP SA",
|
||||
"category": "Finance",
|
||||
"category": "Accounting & Finance",
|
||||
'complexity': "easy",
|
||||
"description": """
|
||||
Module to manage invoice payment.
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
'name': 'Entries Sequence Numbering',
|
||||
'version': '1.1',
|
||||
'category': 'Finance',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
This module maintains internal sequence number for accounting entries.
|
||||
|
|
|
@ -32,7 +32,7 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo
|
|||
* Voucher Receipt
|
||||
* Cheque Register
|
||||
""",
|
||||
"category" : "Finance",
|
||||
"category" : "Hidden",
|
||||
"website" : "http://tinyerp.com",
|
||||
"images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"],
|
||||
"depends" : ["account"],
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"version": "1.1",
|
||||
"author" : "OpenERP SA",
|
||||
"website" : "http://www.openerp.com",
|
||||
"category" : "Finance",
|
||||
"category" : "Hidden",
|
||||
"depends" : ["base", "decimal_precision"],
|
||||
"description": """
|
||||
Module for defining analytic accounting object.
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
'name': 'Analytic Journal Billing Rate, Define the default invoicing rate for a specific journal',
|
||||
'version': '1.0',
|
||||
'category': 'Human Resources',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
This module allows you to define what is the default invoicing rate for a specific journal on a given account.
|
||||
==============================================================================================================
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Human Resources',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/Others',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
This module allows you to define what is the default function of a specific user on a given account.
|
||||
====================================================================================================
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
{
|
||||
'name': 'Database Anonymization',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
This module allows you to anonymize a database.
|
||||
|
|
|
@ -18,6 +18,5 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import profile_association
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -23,8 +23,7 @@
|
|||
{
|
||||
'name': 'Association profile',
|
||||
'version': '0.1',
|
||||
'category': 'General',
|
||||
'category': 'Profile',
|
||||
'category': 'Vertical Applications',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
This module is to configure modules related to an association.
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from lxml import etree
|
||||
from osv import fields, osv
|
||||
|
||||
class profile_association_config_install_modules_wizard(osv.osv_memory):
|
||||
_inherit = 'base.setup.installer'
|
||||
|
||||
_columns = {
|
||||
'hr_expense':fields.boolean('Resources Management: Expenses Tracking', help="Tracks and manages employee expenses, and can "
|
||||
"automatically re-invoice clients if the expenses are "
|
||||
"project-related."),
|
||||
'event_project':fields.boolean('Event Management: Events', help="Helps you to manage and organize your events."),
|
||||
'project_gtd':fields.boolean('Getting Things Done',
|
||||
help="GTD is a methodology to efficiently organise yourself and your tasks. This module fully integrates GTD principle with OpenERP's project management."),
|
||||
'wiki': fields.boolean('Wiki', help="Lets you create wiki pages and page groups in order "
|
||||
"to keep track of business knowledge and share it with "
|
||||
"and between your employees."),
|
||||
}
|
||||
|
||||
# Will be removed when rd-v61-al-config-depends will be done
|
||||
def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
res = super(profile_association_config_install_modules_wizard, self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
|
||||
doc = etree.XML(res['arch'])
|
||||
for module in ['project_gtd','hr_expense']:
|
||||
count = 0
|
||||
for node in doc.xpath("//field[@name='%s']" % (module)):
|
||||
count = count + 1
|
||||
if count > 1:
|
||||
node.set('invisible', '1')
|
||||
res['arch'] = etree.tostring(doc)
|
||||
return res
|
||||
|
||||
profile_association_config_install_modules_wizard()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,24 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_confirm_install_module_form" model="ir.ui.view">
|
||||
<field name="name">Association Application Configuration</field>
|
||||
<field name="model">base.setup.installer</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base_setup.view_base_setup_installer"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//group[@name='association']" position="replace">
|
||||
<newline/>
|
||||
<separator string="Associations Features" colspan="4" />
|
||||
<field name="project_gtd" />
|
||||
<field name="wiki" />
|
||||
<field name="event_project" />
|
||||
<field name="hr_expense" />
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem
|
||||
name="Association"
|
||||
id="base.menu_association"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Auction Management',
|
||||
'version': '1.0',
|
||||
'category': 'General',
|
||||
'category': 'Vertical Applications',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
This module manages the records of artists, auction articles, buyers and sellers.
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Audit Trail',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
This module lets administrator track every user operation on all the objects of the system.
|
||||
===========================================================================================
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'OpenID',
|
||||
'version': '2.0',
|
||||
'category': 'Authentification',
|
||||
'category': 'Hidden',
|
||||
'description': """Allow users to login through OpenID.""",
|
||||
'author': 'OpenERP s.a.',
|
||||
'maintainer': 'OpenERP s.a.',
|
||||
|
|
|
@ -22,9 +22,7 @@
|
|||
{
|
||||
'name': 'Action Rule',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'complexity': "expert",
|
||||
'category': 'Generic Modules/Others',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
This module allows to implement action rules for any object.
|
||||
============================================================
|
||||
|
|
|
@ -34,7 +34,7 @@ It supports:
|
|||
- Recurring events
|
||||
- Invitations to people""",
|
||||
"author" : "OpenERP SA",
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'website': 'http://www.openerp.com',
|
||||
"init_xml" : [
|
||||
'base_calendar_data.xml'
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Base Contact',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'complexity': "expert",
|
||||
'description': """
|
||||
This module allows you to manage your contacts entirely.
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"author" : ['OpenERP SA', "FS3"],
|
||||
"maintainer" : "OpenERP SA",
|
||||
"website" : "http://www.openerp.com",
|
||||
"category" : "Tools",
|
||||
"category" : "Hidden",
|
||||
'complexity': "easy",
|
||||
"description": """
|
||||
Replaces cleartext passwords in the database with a secure hash
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
{
|
||||
'name': 'Create IBAN bank accounts',
|
||||
'version': '1.0',
|
||||
'category': 'Finance',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
This module installs the base for IBAN (International Bank Account Number) bank accounts and checks for its validity.
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
'name': 'Module Technical Guide in Restructured Text ',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
This module generates the Technical Guides of selected modules in Restructured Text format (RST).
|
||||
=================================================================================================
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Base module quality - To check the quality of other modules' ,
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
The aim of this module is to check the quality of other modules.
|
||||
================================================================
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Module Record',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
This module allows you to create a new module without any development.
|
||||
======================================================================
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Statistical Report Creator',
|
||||
'name': 'Query Builder',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Advanced Reporting',
|
||||
'complexity': "expert",
|
||||
'description': """
|
||||
This module allows you to create any statistic report on several objects.
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'OpenOffice Report Designer Interface',
|
||||
'name': 'OpenOffice Report Designer',
|
||||
'version': '0.1',
|
||||
'category': 'Tools',
|
||||
'category': 'Advanced Reporting',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
This module is used along with OpenERP OpenOffice Plugin.
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Base Setup',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
This module helps to configure the system at the installation of a new database.
|
||||
|
|
|
@ -20,123 +20,319 @@
|
|||
##############################################################################
|
||||
import pytz
|
||||
|
||||
import simplejson
|
||||
import cgi
|
||||
import pooler
|
||||
import tools
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
from lxml import etree
|
||||
|
||||
#Application and feature chooser, this could be done by introspecting ir.modules
|
||||
DEFAULT_MODULES = {
|
||||
'Customer Relationship Management' : ['crm',],
|
||||
'Sales Management' : ['sale',],
|
||||
'Project Management' : ['project',],
|
||||
'Knowledge Management' : ['document',],
|
||||
'Warehouse Management' : ['stock',],
|
||||
'Manufacturing' : ['mrp', 'procurement'],
|
||||
'Accounting & Finance' : ['account,'],
|
||||
'Purchase Management' : ['purchase,'],
|
||||
'Human Resources' : ['hr',],
|
||||
'Point of Sales' : ['pos',],
|
||||
'Marketing' : ['marketing',],
|
||||
}
|
||||
|
||||
class base_setup_installer(osv.osv_memory):
|
||||
_name = 'base.setup.installer'
|
||||
|
||||
_inherit = 'res.config.installer'
|
||||
|
||||
_install_if = {
|
||||
('sale','crm'): ['sale_crm'],
|
||||
('sale','project'): ['project_mrp'],
|
||||
}
|
||||
_columns = {
|
||||
# Generic modules
|
||||
'crm':fields.boolean('Customer Relationship Management',
|
||||
help="Helps you track and manage relations with customers such as"
|
||||
" leads, requests or issues. Can automatically send "
|
||||
"reminders, escalate requests or trigger business-specific "
|
||||
"actions based on standard events."),
|
||||
'sale':fields.boolean('Sales Management',
|
||||
help="Helps you handle your quotations, sale orders and invoicing"
|
||||
"."),
|
||||
'project':fields.boolean('Project Management',
|
||||
help="Helps you manage your projects and tasks by tracking them, "
|
||||
"generating plannings, etc..."),
|
||||
'knowledge':fields.boolean('Knowledge Management',
|
||||
help="Lets you install addons geared towards sharing knowledge "
|
||||
"with and between your employees."),
|
||||
'stock':fields.boolean('Warehouse Management',
|
||||
help="Helps you manage your inventory and main stock operations: delivery orders, receptions, etc."),
|
||||
'mrp':fields.boolean('Manufacturing',
|
||||
help="Helps you manage your manufacturing processes and generate "
|
||||
"reports on those processes."),
|
||||
'account_voucher':fields.boolean('Invoicing & Payments',
|
||||
help="Allows you to create your invoices and track the payments. It is an easier version of the accounting module for managers who are not accountants."),
|
||||
'account_accountant':fields.boolean('Accounting & Finance',
|
||||
help="Helps you handle your accounting needs, if you are not an accountant, we suggest you to install only the Invoicing "),
|
||||
'purchase':fields.boolean('Purchase Management',
|
||||
help="Helps you manage your purchase-related processes such as "
|
||||
"requests for quotations, supplier invoices, etc..."),
|
||||
'hr':fields.boolean('Human Resources',
|
||||
help="Helps you manage your human resources by encoding your employees structure, generating work sheets, tracking attendance and more."),
|
||||
'point_of_sale':fields.boolean('Point of Sales',
|
||||
help="Helps you get the most out of your points of sales with "
|
||||
"fast sale encoding, simplified payment mode encoding, "
|
||||
"automatic picking lists generation and more."),
|
||||
'marketing':fields.boolean('Marketing',
|
||||
help="Helps you manage your marketing campaigns step by step."),
|
||||
'profile_tools':fields.boolean('Extra Tools',
|
||||
help="Lets you install various interesting but non-essential tools "
|
||||
"like Survey, Lunch and Ideas box."),
|
||||
'report_designer':fields.boolean('Advanced Reporting',
|
||||
help="Lets you install various tools to simplify and enhance "
|
||||
"OpenERP's report creation."),
|
||||
# Vertical modules
|
||||
'product_expiry':fields.boolean('Food Industry',
|
||||
help="Installs a preselected set of OpenERP applications "
|
||||
"which will help you manage your industry."),
|
||||
'association':fields.boolean('Associations',
|
||||
help="Installs a preselected set of OpenERP "
|
||||
"applications which will help you manage your association "
|
||||
"more efficiently."),
|
||||
'auction':fields.boolean('Auction Houses',
|
||||
help="Installs a preselected set of OpenERP "
|
||||
"applications selected to help you manage your auctions "
|
||||
"as well as the business processes around them."),
|
||||
'selection' : fields.text('Selection'),
|
||||
}
|
||||
|
||||
def fields_get(self, cr, uid, fields=None, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
if fields is None:
|
||||
fields = {}
|
||||
|
||||
fields = {}
|
||||
category_proxy = self.pool.get('ir.module.category')
|
||||
domain = [('parent_id', '=', False),
|
||||
('name', '!=', 'Uncategorized'),
|
||||
('visible', '=', True)]
|
||||
category_ids = category_proxy.search(cr, uid, domain, context=context)
|
||||
for category in category_proxy.browse(cr, uid, category_ids, context=context):
|
||||
category_name = 'category_%d' % (category.id,)
|
||||
fields[category_name] = {
|
||||
'type' : 'boolean',
|
||||
'string' : category.name,
|
||||
'name' : category_name,
|
||||
'help' : category.description,
|
||||
}
|
||||
|
||||
module_proxy = self.pool.get('ir.module.module')
|
||||
module_ids = module_proxy.search(cr, uid, [], context=context)
|
||||
for module in module_proxy.browse(cr, uid, module_ids, context=context):
|
||||
module_name = 'module_%d' % (module.id,)
|
||||
module_is_installed = module.state == 'installed'
|
||||
|
||||
fields[module_name] = {
|
||||
'type' : 'boolean',
|
||||
'string' : module.shortdesc,
|
||||
'name' : module_name,
|
||||
'help' : module.description,
|
||||
}
|
||||
|
||||
return fields
|
||||
|
||||
def default_get(self, cr, uid, fields=None, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
if fields is None:
|
||||
fields = {}
|
||||
|
||||
result = {}
|
||||
|
||||
if 'dont_compute_virtual_attributes' not in context:
|
||||
module_proxy = self.pool.get('ir.module.module')
|
||||
module_ids = module_proxy.search(cr, uid, [], context=context)
|
||||
for module in module_proxy.browse(cr, uid, module_ids, context=context):
|
||||
result['module_%d' % (module.id,)] = module.state == 'installed'
|
||||
|
||||
cat_proxy = self.pool.get('ir.module.category')
|
||||
cat_ids = cat_proxy.search(cr, uid, [], context=context)
|
||||
for cat in cat_proxy.browse(cr, uid, cat_ids, context=context):
|
||||
m = DEFAULT_MODULES.get(cat.name,[])
|
||||
r = module_proxy.search(cr, uid, [('state','=','installed'),('name','in',m)])
|
||||
result['category_%d' % (cat.id,)] = bool(r)
|
||||
|
||||
return result
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='from', context=None, toolbar=False, submenu=False):
|
||||
def in_extended_view_group(cr, uid, context=None):
|
||||
try:
|
||||
model, group_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'group_extended')
|
||||
except ValueError:
|
||||
return False
|
||||
return group_id in self.pool.get('res.users').read(cr, uid, uid, ['groups_id'], context=context)['groups_id']
|
||||
|
||||
result = super(base_setup_installer, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu)
|
||||
|
||||
module_category_proxy = self.pool.get('ir.module.category')
|
||||
domain = [('parent_id', '=', False),
|
||||
('name', '!=', 'Uncategorized'),
|
||||
('visible', '=', True)]
|
||||
module_category_ids = module_category_proxy.search(cr, uid, domain, context=context, order='sequence asc')
|
||||
|
||||
arch = ['<form string="%s">' % _('Automatic Base Setup')]
|
||||
arch.append('<separator string="%s" colspan="4" />' % _('Install Applications'))
|
||||
module_proxy = self.pool.get('ir.module.module')
|
||||
|
||||
extended_view = in_extended_view_group(cr, uid, context=context)
|
||||
|
||||
for module_category in module_category_proxy.browse(cr, uid, module_category_ids, context=context):
|
||||
domain = [('category_id', '=', module_category.id)]
|
||||
if not extended_view:
|
||||
domain.append(('complexity', '!=', 'expert'))
|
||||
|
||||
default_modules = DEFAULT_MODULES.get(module_category.name, False)
|
||||
if default_modules:
|
||||
domain.append(('name', 'not in', default_modules))
|
||||
|
||||
modules = module_proxy.browse(cr, uid, module_proxy.search(cr, uid, domain, context=context), context=context)
|
||||
if not modules:
|
||||
continue
|
||||
|
||||
readonly = any(module.state == 'installed' for module in modules)
|
||||
|
||||
attributes = {
|
||||
'name' : 'category_%d' % (module_category.id,),
|
||||
'on_change' : 'on_change_%s_%d(category_%d)' % ('category', module_category.id, module_category.id,),
|
||||
}
|
||||
if readonly:
|
||||
attributes['modifiers'] = simplejson.dumps({'readonly' : True})
|
||||
|
||||
arch.append("""<field %s />""" % (" ".join(["%s='%s'" % (key, value,)
|
||||
for key, value in attributes.iteritems()]),))
|
||||
|
||||
# Compute the module to show
|
||||
|
||||
for module_category in module_category_proxy.browse(cr, uid, module_category_ids, context=context):
|
||||
domain = [('category_id', '=', module_category.id)]
|
||||
|
||||
if not extended_view:
|
||||
domain.append(('complexity', '!=', 'expert'))
|
||||
|
||||
default_modules = DEFAULT_MODULES.get(module_category.name, False)
|
||||
if default_modules:
|
||||
domain.append(('name', 'not in', default_modules))
|
||||
|
||||
modules = module_proxy.browse(cr, uid, module_proxy.search(cr, uid, domain, context=context), context=context)
|
||||
|
||||
if not modules:
|
||||
continue
|
||||
|
||||
modifiers = {
|
||||
'invisible' : [('category_%d' % (module_category.id), '=', False)],
|
||||
}
|
||||
module_modifiers = dict(modifiers)
|
||||
|
||||
arch.append("""<separator string="%s Features" colspan="4" modifiers='%s'/>""" % (
|
||||
cgi.escape(module_category.name),
|
||||
simplejson.dumps(modifiers))
|
||||
)
|
||||
|
||||
for module in modules:
|
||||
#module_modifiers['readonly'] = module.state == 'installed'
|
||||
|
||||
arch.append("""<field name="module_%d" modifiers='%s' />""" % (
|
||||
module.id,
|
||||
simplejson.dumps(module_modifiers))
|
||||
)
|
||||
|
||||
arch.append(
|
||||
'<separator colspan="4" />'
|
||||
'<group colspan="4" col="2">'
|
||||
'<button special="cancel" string="Cancel" icon="gtk-cancel" />'
|
||||
'<button string="Install Modules" type="object" name="apply_cb" icon="gtk-apply" />'
|
||||
'</group>'
|
||||
)
|
||||
|
||||
arch.append('</form>')
|
||||
|
||||
result['arch'] = ''.join(arch)
|
||||
return result
|
||||
|
||||
def __getattr__(self, name):
|
||||
if name.startswith('on_change_category_'):
|
||||
def proxy(cr, uid, ids, value, context=None):
|
||||
item = 'category_%s' % name[len('on_change_category_'):]
|
||||
return self._on_change_selection(cr, uid, ids, item, value, context=context)
|
||||
return proxy
|
||||
return getattr(super(base_setup_installer, self), name)
|
||||
|
||||
def _on_change_selection(self, cr, uid, ids, item, value, context=None):
|
||||
if not isinstance(item, basestring) or not value:
|
||||
return {}
|
||||
|
||||
if item.startswith('category_') or item.startswith('module_'):
|
||||
object_name, identifier = item.split('_')
|
||||
else:
|
||||
return {}
|
||||
|
||||
values = {
|
||||
}
|
||||
|
||||
def _if_knowledge(self, cr, uid, ids, context=None):
|
||||
if self.pool.get('res.users').browse(cr, uid, uid, context=context)\
|
||||
.view == 'simple':
|
||||
return ['document_ftp']
|
||||
return None
|
||||
#if object_name == 'category':
|
||||
# module_ids = self.pool.get('ir.module.module').search(cr, uid, [('category_id', '=', int(identifier))], context=context)
|
||||
# for module_id in module_ids:
|
||||
# values['module_%d' % module_id] = 1
|
||||
|
||||
def _if_misc_tools(self, cr, uid, ids, context=None):
|
||||
return ['profile_tools']
|
||||
return {'value': values}
|
||||
|
||||
def onchange_moduleselection(self, cr, uid, ids, *args, **kargs):
|
||||
value = {}
|
||||
# Calculate progress
|
||||
closed, total = self.get_current_progress(cr, uid)
|
||||
progress = round(100. * closed / (total + len(filter(None, args))))
|
||||
value.update({'progress':progress})
|
||||
if progress < 10.:
|
||||
progress = 10.
|
||||
|
||||
return {'value':value}
|
||||
def create(self, cr, uid, values, context=None):
|
||||
to_install = {'categories' : [], 'modules' : []}
|
||||
|
||||
for key, value in values.iteritems():
|
||||
if value == 1 and (key.startswith('module_') or key.startswith('category_')):
|
||||
kind, identifier = key.split('_')
|
||||
if kind == 'category':
|
||||
to_install['categories'].append(long(identifier))
|
||||
if kind == 'module':
|
||||
to_install['modules'].append(long(identifier))
|
||||
|
||||
def execute(self, cr, uid, ids, context=None):
|
||||
module_pool = self.pool.get('ir.module.module')
|
||||
modules_selected = []
|
||||
datas = self.read(cr, uid, ids, context=context)[0]
|
||||
for mod in datas.keys():
|
||||
if mod in ('id', 'progress'):
|
||||
continue
|
||||
if datas[mod] == 1:
|
||||
modules_selected.append(mod)
|
||||
values = {
|
||||
'selection' : simplejson.dumps(to_install),
|
||||
}
|
||||
context.update(dont_compute_virtual_attributes=True)
|
||||
return super(base_setup_installer, self).create(cr, uid, values, context=context)
|
||||
|
||||
module_ids = module_pool.search(cr, uid, [('name', 'in', modules_selected)], context=context)
|
||||
need_install = False
|
||||
for module in module_pool.browse(cr, uid, module_ids, context=context):
|
||||
if module.state == 'uninstalled':
|
||||
module_pool.state_update(cr, uid, [module.id], 'to install', ['uninstalled'], context)
|
||||
need_install = True
|
||||
def apply_cb(self, cr, uid, ids, context=None):
|
||||
category_proxy = self.pool.get('ir.module.category')
|
||||
for installer in self.browse(cr, uid, ids, context=context):
|
||||
to_install = simplejson.loads(installer.selection)
|
||||
|
||||
proxy = self.pool.get('ir.module.module')
|
||||
|
||||
module_ids = proxy.search(cr, uid, [('id', 'in', to_install['modules'])], context=context)
|
||||
modules = set(record['name']
|
||||
for record in proxy.read(cr, uid, module_ids, ['name'], context=context))
|
||||
|
||||
category_ids = category_proxy.search(cr, uid, [('id', 'in', to_install['categories'])], context=context)
|
||||
selected_categories = set(record['name']
|
||||
for record in category_proxy.read(cr, uid, category_ids, ['name'], context=context))
|
||||
|
||||
# FIXME: Use a workaround, but can do better
|
||||
for category_name, default_modules in DEFAULT_MODULES.iteritems():
|
||||
if category_name in selected_categories:
|
||||
modules.update(default_modules)
|
||||
|
||||
# Special Cases:
|
||||
# * project_mrp: the dependencies are sale, project, procurement, mrp_jit
|
||||
if 'sale' in modules and 'project' in modules:
|
||||
modules.add('project_mrp')
|
||||
|
||||
need_update = False
|
||||
module_ids = proxy.search(cr, uid, [('name', 'in', list(modules))], context=context)
|
||||
if module_ids:
|
||||
proxy.state_update(cr, uid, module_ids, 'to install', ['uninstalled'], context=context)
|
||||
need_update = True
|
||||
|
||||
category_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'module_category_link')
|
||||
while True and category_id:
|
||||
cr.execute("select id, name from ir_module_module m where category_id = %s \
|
||||
and (select count(d.id) from ir_module_module_dependency d \
|
||||
where d.module_id = m.id) = (select count(d.id) from \
|
||||
ir_module_module_dependency d inner join ir_module_module m2 on d.name = m2.name \
|
||||
where d.module_id=m.id and m2.state in %s ) and state = %s",
|
||||
(category_id[1], ('installed', 'to install', 'to upgrade', ), 'uninstalled',))
|
||||
modules = [name for _, name in cr.fetchall()]
|
||||
|
||||
module_ids = proxy.search(cr, uid, [('name', 'in', modules)], context=context)
|
||||
if not module_ids:
|
||||
break
|
||||
|
||||
proxy.state_update(cr, uid, module_ids, 'to install', ['uninstalled'], context=context)
|
||||
need_update = True
|
||||
|
||||
if need_update:
|
||||
cr.commit()
|
||||
elif module.state == 'installed':
|
||||
cr.execute("update ir_actions_todo set state='open' \
|
||||
from ir_model_data as data where data.res_id = ir_actions_todo.id \
|
||||
and ir_actions_todo.type='special'\
|
||||
and data.model = 'ir.actions.todo' and data.module=%s", (module.name, ))
|
||||
if need_install:
|
||||
self.pool = pooler.restart_pool(cr.dbname, update_module=True)[1]
|
||||
return
|
||||
self.pool = pooler.restart_pool(cr.dbname, update_module=True)[1]
|
||||
|
||||
if 'html' in context:
|
||||
return {'type' : 'ir.actions.reload'}
|
||||
else:
|
||||
return {'type' : 'ir.actions.act_window_close'}
|
||||
|
||||
# TODO: To implement in this new wizard
|
||||
#def execute(self, cr, uid, ids, context=None):
|
||||
# module_pool = self.pool.get('ir.module.module')
|
||||
# modules_selected = []
|
||||
# datas = self.read(cr, uid, ids, context=context)[0]
|
||||
# for mod in datas.keys():
|
||||
# if mod in ('id', 'progress'):
|
||||
# continue
|
||||
# if datas[mod] == 1:
|
||||
# modules_selected.append(mod)
|
||||
|
||||
# module_ids = module_pool.search(cr, uid, [('name', 'in', modules_selected)], context=context)
|
||||
# need_install = False
|
||||
# for module in module_pool.browse(cr, uid, module_ids, context=context):
|
||||
# if module.state == 'uninstalled':
|
||||
# module_pool.state_update(cr, uid, [module.id], 'to install', ['uninstalled'], context)
|
||||
# need_install = True
|
||||
# cr.commit()
|
||||
# elif module.state == 'installed':
|
||||
# cr.execute("update ir_actions_todo set state='open' \
|
||||
# from ir_model_data as data where data.res_id = ir_actions_todo.id \
|
||||
# and ir_actions_todo.type='special'\
|
||||
# and data.model = 'ir.actions.todo' and data.module=%s", (module.name, ))
|
||||
# if need_install:
|
||||
# self.pool = pooler.restart_pool(cr.dbname, update_module=True)[1]
|
||||
# return
|
||||
|
||||
#Migrate data from another application Conf wiz
|
||||
|
||||
|
@ -158,11 +354,10 @@ class product_installer(osv.osv_memory):
|
|||
_name = 'product.installer'
|
||||
_inherit = 'res.config'
|
||||
_columns = {
|
||||
'customers': fields.selection([('create','Create'), ('import','Import')], 'Customers', size=32, required=True, help="Import or create customers"),
|
||||
|
||||
'customers': fields.selection([('create','Create'), ('import','Import')], 'Customers', size=32, required=True, help="Import or create customers"),
|
||||
}
|
||||
_defaults = {
|
||||
'customers': 'create',
|
||||
'customers': 'create',
|
||||
}
|
||||
|
||||
def execute(self, cr, uid, ids, context=None):
|
||||
|
|
|
@ -1,87 +1,35 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_base_setup_installer" model="ir.ui.view">
|
||||
<field name="name">base.setup.installer.view</field>
|
||||
<field name="model">base.setup.installer</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.res_config_installer"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<form position="attributes">
|
||||
<attribute name="string">Install Applications</attribute>
|
||||
</form>
|
||||
<xpath expr="//label[@string='description']" position="attributes">
|
||||
<attribute name="string">Select the Applications you want your system to cover. If you are not sure about your exact needs at this stage, you can easily install them later.</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//separator[@string="vsep"]" position="attributes">
|
||||
<attribute name="string"/>
|
||||
<attribute name="rowspan">15</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//button[@string='Install Modules']" position="attributes">
|
||||
<attribute name="string">Install</attribute>
|
||||
</xpath>
|
||||
<separator string="title" position="attributes">
|
||||
<attribute name="string">Install Applications</attribute>
|
||||
</separator>
|
||||
<group colspan="8">
|
||||
<field name="crm" />
|
||||
<field name="sale" />
|
||||
<field name="project" />
|
||||
<field name="knowledge" />
|
||||
<field name="stock" />
|
||||
<field name="mrp" />
|
||||
<field name="account_voucher" />
|
||||
<field name="account_accountant" />
|
||||
<field name="purchase" />
|
||||
<field name="hr" />
|
||||
<field name="profile_tools" />
|
||||
<field name="marketing" groups="base.group_extended" />
|
||||
<field name="point_of_sale"/>
|
||||
<field name="report_designer" groups="base.group_extended" />
|
||||
<separator string="Install Specific Industry Applications" colspan="4"/>
|
||||
<field name="association" />
|
||||
<field name="auction" />
|
||||
<field name="product_expiry" />
|
||||
<group name="crm"/>
|
||||
<group name="sale"/>
|
||||
<group name="project"/>
|
||||
<group name="knowledge"/>
|
||||
<group name="mrp"/>
|
||||
<group name="account_accountant"/>
|
||||
<group name="purchase"/>
|
||||
<group name="hr"/>
|
||||
<group name="profile_tools"/>
|
||||
<group name="marketing"/>
|
||||
<group name="report_designer"/>
|
||||
<group name="association"/>
|
||||
</group>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_base_setup_installer" model="ir.actions.act_window">
|
||||
<field name="name">Install Applications</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">base.setup.installer</field>
|
||||
<field name="view_id" ref="view_base_setup_installer"/>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
<record id="base_setup_installer_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_base_setup_installer"/>
|
||||
<field name="category_id" ref="base.category_administration_config"/>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_base_setup_installer_beta">
|
||||
<field name="name">Install Applications</field>
|
||||
<field name="res_model">base.setup.installer</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<record id="action_start_configurator" model="ir.actions.server">
|
||||
<field name="name">Start Configuration</field>
|
||||
<field name="model_id" ref="base.model_ir_actions_todo"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code" eval="'# obj is a browse_record and will provide stupid ids to method\n' 'action = pool.get(\'ir.actions.todo\').action_launch(cr, uid, ' + str([ref('base_setup_installer_todo')]) + ', context=context)'"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Add More Features" action="action_start_configurator" id="menu_view_base_module_configuration" parent="base.menu_config" type="server" icon="STOCK_EXECUTE" sequence="100"/>
|
||||
<record id="base_setup_installer_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_base_setup_installer_beta" />
|
||||
<field name="category_id" ref="base.category_administration_config"/>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
|
||||
<record id="action_start_configurator" model="ir.actions.server">
|
||||
<field name="name">Start Configuration</field>
|
||||
<field name="model_id" ref="base.model_ir_actions_todo"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code" eval="'# obj is a browse_record and will provide stupid ids to method\n' 'action = pool.get(\'ir.actions.todo\').action_launch(cr, uid, ' + str([ref('base_setup_installer_todo')]) + ', context=context)'"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Add More Features" action="action_start_configurator" id="menu_view_base_module_configuration" parent="base.menu_config" type="server" icon="STOCK_EXECUTE" sequence="100"/>
|
||||
<record id="ir_ui_view_sc_configuration" model="ir.ui.view_sc">
|
||||
<field name="name">Add More Features</field>
|
||||
<field name="resource">ir.ui.menu</field>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="res_id" ref="menu_view_base_module_configuration" />
|
||||
</record>
|
||||
|
||||
<!-- Import or create customers configartion view -->
|
||||
<record id="action_import_create_installer" model="ir.actions.act_window">
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
"name":"Server Object Synchronization",
|
||||
"version":"0.1",
|
||||
"author":"OpenERP SA",
|
||||
"category":"Tools",
|
||||
"category":"Hidden",
|
||||
"description": """
|
||||
Synchronization with all objects.
|
||||
=================================
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"author": "OpenERP SA",
|
||||
"version": "1.0",
|
||||
"depends": ["base"],
|
||||
"category" : "Tools",
|
||||
"category" : "Hidden",
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
Common base for tools modules.
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
'name': 'VAT Number Validation',
|
||||
'version': '1.0',
|
||||
'category': 'Finance',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
VAT validation for Partners' VAT numbers
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
'name': 'Dashboard Creator',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
Lets the user create a custom dashboard.
|
||||
|
|
|
@ -49,7 +49,7 @@ To access OpenERP Calendar using WebCal to remote site use the URL like:
|
|||
DATABASE_NAME: Name of database on which OpenERP Calendar is created
|
||||
CALENDAR_NAME: Name of calendar to access
|
||||
""",
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
"author" : "OpenERP SA",
|
||||
'website': 'http://www.openerp.com',
|
||||
"init_xml" : ["caldav_data.xml"],
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
"name" : "Claim from Delivery",
|
||||
"version" : "1.0",
|
||||
"author" : "OpenERP SA",
|
||||
"category" : "Warehouse",
|
||||
"category" : "Hidden",
|
||||
"depends" : ["base", "crm_claim", "stock"],
|
||||
"init_xml" : [],
|
||||
"demo_xml" : [],
|
||||
|
|
|
@ -25,7 +25,6 @@ import crm_segmentation
|
|||
import crm_meeting
|
||||
import crm_lead
|
||||
import crm_phonecall
|
||||
import crm_installer
|
||||
import report
|
||||
import wizard
|
||||
import res_partner
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Customer & Supplier Relationship Management',
|
||||
'version': '1.0',
|
||||
'category': 'Sales',
|
||||
'category': 'Customer Relationship Management',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
The generic OpenERP Customer Relationship Management.
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from lxml import etree
|
||||
from osv import fields, osv
|
||||
|
||||
class crm_installer(osv.osv_memory):
|
||||
_inherit = 'base.setup.installer'
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64),
|
||||
'crm_helpdesk': fields.boolean('Helpdesk', help="Manages a Helpdesk service."),
|
||||
'crm_fundraising': fields.boolean('Fundraising', help="This may help associations in their fundraising process and tracking."),
|
||||
'crm_claim': fields.boolean('Claims', help="Manages the suppliers and customers claims, including your corrective or preventive actions."),
|
||||
'import_sugarcrm': fields.boolean('Import Data from SugarCRM', help="Help you to import and update data from SugarCRM to OpenERP"),
|
||||
'crm_caldav': fields.boolean('Calendar Synchronizing', help="Helps you to synchronize the meetings with other calendar clients and mobiles."),
|
||||
'sale_crm': fields.boolean('Opportunity to Quotation', help="Create a Quotation from an Opportunity."),
|
||||
'fetchmail': fields.boolean('Fetch Emails', help="Allows you to receive E-Mails from POP/IMAP server."),
|
||||
'thunderbird': fields.boolean('Thunderbird Plug-In', help="Allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one."),
|
||||
'outlook': fields.boolean('MS-Outlook Plug-In', help="Allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one."),
|
||||
'wiki_sale_faq': fields.boolean('Sale FAQ', help="Helps you manage wiki pages for Frequently Asked Questions on Sales Application."),
|
||||
'import_google': fields.boolean('Google Import', help="Imports contacts and events from your google account."),
|
||||
}
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
res = super(crm_installer, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
|
||||
#Checking sale module is installed or not
|
||||
cr.execute("SELECT * from ir_module_module where state='installed' and name = 'sale'")
|
||||
count = cr.fetchall()
|
||||
if count:
|
||||
doc = etree.XML(res['arch'])
|
||||
nodes = doc.xpath("//field[@name='sale_crm']")
|
||||
for node in nodes:
|
||||
node.set('invisible', '0')
|
||||
node.set('modifiers', '{}')
|
||||
res['arch'] = etree.tostring(doc)
|
||||
return res
|
||||
|
||||
crm_installer()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,29 +1,5 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<record id="view_crm_installer" model="ir.ui.view">
|
||||
<field name="name">crm.installer.view</field>
|
||||
<field name="model">base.setup.installer</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base_setup.view_base_setup_installer"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//group[@name='crm']" position="replace">
|
||||
<newline/>
|
||||
<separator string="Customer Relationship Management Features" colspan="4"/>
|
||||
<field name="crm_claim" groups="base.group_extended"/>
|
||||
<field name="crm_helpdesk" groups="base.group_extended"/>
|
||||
<field name="crm_fundraising" groups="base.group_extended"/>
|
||||
<field name="wiki_sale_faq" groups="base.group_extended"/>
|
||||
<field name="sale_crm" invisible="1" groups="base.group_extended"/>
|
||||
<field name="crm_caldav"/>
|
||||
<field name="import_sugarcrm"/>
|
||||
<field name="fetchmail"/>
|
||||
<field name="thunderbird"/>
|
||||
<field name="outlook"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="crm_case_section_view_form_installer">
|
||||
<field name="name">Define Sales Team</field>
|
||||
|
|
|
@ -22,10 +22,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Extended Module to Add CalDav feature on Meeting',
|
||||
'name': 'Calendar Synchronizing',
|
||||
'version': '1.1',
|
||||
'category': 'Sales',
|
||||
'category': 'Generic Modules/CRM & SRM',
|
||||
'category': 'Customer Relationship Management',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
Caldav features in Meeting.
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Customer & Supplier Claims Management',
|
||||
'name': 'Claims',
|
||||
'version': '1.0',
|
||||
'category': 'Sales',
|
||||
'category': 'Customer Relationship Management',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
This modules allows you to track your customers/suppliers claims and grievances.
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
|
||||
|
||||
{
|
||||
'category': 'Sales',
|
||||
'name': 'CRM Fundraising',
|
||||
'category': 'Customer Relationship Management',
|
||||
'name': 'Fundraising',
|
||||
'version': '1.0',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
|
||||
|
||||
{
|
||||
'category': 'Sales',
|
||||
'name': 'CRM Helpdesk',
|
||||
'category': 'Customer Relationship Management',
|
||||
'name': 'Helpdesk',
|
||||
'version': '1.0',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Partner Geo-Localization',
|
||||
'version': '1.0',
|
||||
'category': 'Sales',
|
||||
'category': 'Hidden',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
This is the module used by OpenERP SA to redirect customers to its partners, based on geolocalization.
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'CRM Profiling Management - To Perform Segmentation within Partners',
|
||||
'name': 'Profiling Tools',
|
||||
'version': '1.3',
|
||||
'category': 'Sales',
|
||||
'category': 'Marketing',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
This module allows users to perform segmentation within partners.
|
||||
|
|
|
@ -30,7 +30,7 @@ The decimal precision is configured per company.
|
|||
"author": "OpenERP SA",
|
||||
"version": "0.1",
|
||||
"depends": ["base"],
|
||||
"category" : "Tools",
|
||||
"category" : "Hidden",
|
||||
'complexity': "easy",
|
||||
"init_xml": [],
|
||||
"update_xml": [
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Carriers and Deliveries',
|
||||
'name': 'Delivery Costs',
|
||||
'version': '1.0',
|
||||
'category': 'Warehouse',
|
||||
'category': 'Sales Management',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
Allows you to add delivery methods in sale orders and picking.
|
||||
|
|
|
@ -23,8 +23,7 @@
|
|||
{
|
||||
'name': 'Integrated Document Management System',
|
||||
'version': '2.1',
|
||||
'category': 'Tools',
|
||||
'category': 'Generic Modules/Others',
|
||||
'category': 'Knowledge Management',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
This is a complete document management system.
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Integrated FTP Server with Document Management System',
|
||||
'name': 'Shared Repositories (FTP)',
|
||||
'version': '1.99',
|
||||
'category': 'Tools',
|
||||
'category': 'Knowledge Management',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
This is a support FTP Interface with document management system.
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Support for iCal based on Document Management System',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
Allows to synchronise calendars with others applications.
|
||||
|
|
|
@ -29,10 +29,10 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "WebDAV server for Document Management",
|
||||
"name" : "Shared Repositories (WebDAV)",
|
||||
"version" : "2.3",
|
||||
"author" : "OpenERP SA",
|
||||
"category" : "Tools",
|
||||
"category" : "Knowledge Management",
|
||||
'complexity': "normal",
|
||||
"website": "http://www.openerp.com",
|
||||
"description": """
|
||||
|
|
|
@ -21,11 +21,11 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "Email Templates",
|
||||
"name" : "Automated E-Mails",
|
||||
"version" : "1.1",
|
||||
"author" : "Openlabs",
|
||||
"website" : "http://openerp.com",
|
||||
"category" : "Tools",
|
||||
"category" : "Marketing",
|
||||
'complexity': "expert",
|
||||
"depends" : ['mail'],
|
||||
"description": """
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Event',
|
||||
'version': '0.1',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
Organization and management of Events.
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
'name': 'Event Project - Create Retro-Planning to manage your Events',
|
||||
'version': '0.1',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden/Link',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
Organization and management of events.
|
||||
|
|
|
@ -21,11 +21,11 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "Automated Email Retriever",
|
||||
"name" : "Fetch Emails",
|
||||
"version" : "1.0",
|
||||
"depends" : ["base", 'mail'],
|
||||
"author" : "OpenERP SA",
|
||||
"category": 'Tools',
|
||||
"category": 'Customer Relationship Management',
|
||||
"description": """
|
||||
Retrieve incoming email on POP / IMAP servers
|
||||
=============================================
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"version" : "1.0",
|
||||
"depends" : ["fetchmail", "crm"],
|
||||
"author" : "OpenERP SA",
|
||||
"category": 'Tools',
|
||||
"category": 'Hidden/Link',
|
||||
"description": """
|
||||
""",
|
||||
'website': 'http://www.openerp.com',
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"version" : "1.0",
|
||||
"depends" : ["fetchmail", "crm_claim"],
|
||||
"author" : "OpenERP SA",
|
||||
"category": 'Tools',
|
||||
"category": 'Hidden/Link',
|
||||
"description": """
|
||||
""",
|
||||
'website': 'http://www.openerp.com',
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"version" : "1.0",
|
||||
"depends" : ["fetchmail", "hr_recruitment"],
|
||||
"author" : "OpenERP SA",
|
||||
"category": 'Tools',
|
||||
"category": 'Hidden/Link',
|
||||
"description": """
|
||||
""",
|
||||
'website': 'http://www.openerp.com',
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"version" : "1.0",
|
||||
"depends" : ["fetchmail", "project_issue"],
|
||||
"author" : "OpenERP SA",
|
||||
"category": 'Tools',
|
||||
"category": 'Hidden/Link',
|
||||
"description": """
|
||||
""",
|
||||
'website': 'http://www.openerp.com',
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
{
|
||||
'name': 'Google user',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/Others',
|
||||
'description': """The module adds google user in res user""",
|
||||
'category': 'Hidden',
|
||||
'description': """The module adds google user in res user""",
|
||||
'author': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['base'],
|
||||
|
|
|
@ -23,9 +23,7 @@
|
|||
{
|
||||
'name': 'Google Map',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'complexity': "easy",
|
||||
'category': 'Generic Modules/Others',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
The module adds Google Map field in partner address.
|
||||
====================================================
|
||||
|
|
|
@ -21,9 +21,8 @@
|
|||
|
||||
import hr_department
|
||||
import hr
|
||||
import installer
|
||||
|
||||
import report
|
||||
import wizard
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -1,29 +1,6 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_hr_installer" model="ir.ui.view">
|
||||
<field name="name">hr.installer.view</field>
|
||||
<field name="model">base.setup.installer</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base_setup.view_base_setup_installer"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//group[@name='hr']" position="replace">
|
||||
<newline/>
|
||||
<separator string="Human Resources Features" colspan="4"/>
|
||||
<field name="hr_holidays"/>
|
||||
<field name="hr_expense"/>
|
||||
<field name="hr_recruitment"/>
|
||||
<field name="hr_timesheet_sheet"/>
|
||||
<field name="hr_contract"/>
|
||||
<field name="hr_attendance"/>
|
||||
<field name="hr_evaluation"/>
|
||||
<field name="hr_payroll"/>
|
||||
<field name="hr_payroll_account" groups="base.group_extended"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="category_hr_management_config" model="ir.actions.todo.category">
|
||||
<field name="name">HR Management</field>
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from osv import fields, osv
|
||||
|
||||
class hr_installer(osv.osv_memory):
|
||||
_inherit = 'base.setup.installer'
|
||||
_columns = {
|
||||
# Human Resources Management
|
||||
'hr_holidays': fields.boolean('Leaves Management',
|
||||
help="Tracks employee leaves, allocation requests and planning."),
|
||||
'hr_expense': fields.boolean('Expenses',
|
||||
help="Tracks and manages employee expenses, and can "
|
||||
"automatically re-invoice clients if the expenses are "
|
||||
"project-related."),
|
||||
'hr_recruitment': fields.boolean('Recruitment Process',
|
||||
help="Helps you manage and streamline your recruitment process."),
|
||||
'hr_timesheet_sheet':fields.boolean('Timesheets',
|
||||
help="Tracks and helps employees encode and validate timesheets "
|
||||
"and attendances."),
|
||||
'hr_contract': fields.boolean("Employee's Contracts",
|
||||
help="Extends employee profiles to help manage their contracts."),
|
||||
'hr_evaluation': fields.boolean('Periodic Evaluations',
|
||||
help="Lets you create and manage the periodic evaluation and "
|
||||
"performance review of employees."),
|
||||
'hr_attendance': fields.boolean('Attendances',
|
||||
help="Simplifies the management of employee's attendances."),
|
||||
'hr_payroll': fields.boolean('Payroll',
|
||||
help="Generic Payroll system."),
|
||||
'hr_payroll_account': fields.boolean('Payroll Accounting',
|
||||
help="Generic Payroll system Integrated with Accountings."),
|
||||
}
|
||||
hr_installer()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Attendances Of Employees',
|
||||
'name': 'Attendances',
|
||||
'version': '1.1',
|
||||
'category': 'Human Resources',
|
||||
'complexity': "easy",
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Human Resources Contracts',
|
||||
'name': "Employee's Contracts",
|
||||
'version': '1.0',
|
||||
'category': 'Human Resources',
|
||||
'complexity': "easy",
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "Human Resources Evaluation",
|
||||
"name" : "Periodic Evaluations",
|
||||
"version": "0.1",
|
||||
"author": "OpenERP SA",
|
||||
"category": "Human Resources",
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Human Resources Expenses Tracking',
|
||||
'name': 'Expenses',
|
||||
'version': '1.0',
|
||||
'category': 'Human Resources',
|
||||
'complexity': "easy",
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
|
||||
{
|
||||
"name": "Human Resources: Holidays management",
|
||||
"name": "Leaves Management",
|
||||
"version": "1.5",
|
||||
"author": ['OpenERP SA', 'Axelor'],
|
||||
"category": "Human Resources",
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
{
|
||||
'name': 'Human Resource Payroll',
|
||||
'name': 'Payroll',
|
||||
'version': '1.0',
|
||||
'category': 'Human Resources',
|
||||
'complexity': "expert",
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
{
|
||||
'name': 'Human Resource Payroll Accounting',
|
||||
'name': 'Payroll Accounting',
|
||||
'version': '1.0',
|
||||
'category': 'Human Resources',
|
||||
'complexity': "expert",
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
{
|
||||
'name': 'HR - Recruitment',
|
||||
'name': 'Recruitment Process',
|
||||
'version': '1.0',
|
||||
'category': 'Human Resources',
|
||||
'complexity': "easy",
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Human Resources (Timesheet encoding)',
|
||||
'version': '1.0',
|
||||
'category': 'Human Resources',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
This module implements a timesheet system.
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
'name': 'Invoice on analytic lines',
|
||||
'version': '1.0',
|
||||
'category': 'Human Resources',
|
||||
'category': 'Hidden/Link',
|
||||
'description': """Generate your Invoices from Expenses, Timesheet Entries, ...
|
||||
Module to generate invoices based on costs (human resources, expenses, ...).
|
||||
============================================================================
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name" : "Html View",
|
||||
"version" : "1.1",
|
||||
"author" : "OpenERP SA",
|
||||
"category" : "Tools",
|
||||
"category" : "Hidden",
|
||||
"depends" : ['base'],
|
||||
"init_xml" : ['html_view.xml'],
|
||||
"demo_xml" : [],
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Idea Manager',
|
||||
'name': 'Ideas Box',
|
||||
'version': '0.1',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
This module allows your user to easily and efficiently participate in enterprise innovation.
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
'name': 'Base framework for module that need to import complex data',
|
||||
'version': '0.9',
|
||||
'category': 'Generic Modules',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
This module provide a class import_framework to help importing
|
||||
complex data from other software
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
'name': 'Google Import',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/Others',
|
||||
'category': 'Customer Relationship Management',
|
||||
'description': """The module adds google contact in partner address and add google calendar events details in Meeting""",
|
||||
'author': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
|
|
|
@ -20,9 +20,9 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
'name': 'Import SugarCRM Data into OpenERP Module.',
|
||||
'name': 'Import Data from SugarCRM',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules',
|
||||
'category': 'Customer Relationship Management',
|
||||
'description': """This Module Import SugarCRM "Leads", "Opportunities", "Users", "Accounts",
|
||||
"Contacts", "Employees", Meetings, Phonecalls, Emails, and Project, Project Tasks Data into OpenERP Module.""",
|
||||
'author': 'OpenERP SA',
|
||||
|
|
|
@ -19,6 +19,5 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
import installer
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -25,21 +25,20 @@
|
|||
"version" : "1.0",
|
||||
"depends" : ["base","base_setup"],
|
||||
"author" : "OpenERP SA",
|
||||
"category": 'Tools',
|
||||
"category": 'Hidden',
|
||||
'complexity': "easy",
|
||||
"description": """
|
||||
Installer for knowledge-based tools.
|
||||
Installer for knowledge-based Hidden.
|
||||
====================================
|
||||
|
||||
Makes the Knowledge Application Configuration available from where you can install
|
||||
document and Wiki based tools.
|
||||
document and Wiki based Hidden.
|
||||
""",
|
||||
'website': 'http://www.openerp.com',
|
||||
'init_xml': [],
|
||||
'update_xml': [
|
||||
'security/knowledge_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'knowledge_installer.xml',
|
||||
'knowledge_view.xml',
|
||||
],
|
||||
'demo_xml': ['knowledge_demo.xml'],
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from osv import fields, osv
|
||||
|
||||
class knowledge_installer(osv.osv_memory):
|
||||
_inherit = 'base.setup.installer'
|
||||
|
||||
_columns = {
|
||||
# Knowledge Management
|
||||
'document_ftp':fields.boolean('Shared Repositories (FTP)',
|
||||
help="Provides an FTP access to your OpenERP's "
|
||||
"Document Management System. It lets you access attachments "
|
||||
"and virtual documents through a standard FTP client."),
|
||||
'document_webdav':fields.boolean('Shared Repositories (WebDAV)',
|
||||
help="Provides a WebDAV access to your OpenERP's Document "
|
||||
"Management System. Lets you access attachments and "
|
||||
"virtual documents through your standard file browser."),
|
||||
'wiki':fields.boolean('Collaborative Content (Wiki)',
|
||||
help="Lets you create wiki pages and page groups in order "
|
||||
"to keep track of business knowledge and share it with "
|
||||
"and between your employees."),
|
||||
# Content templates
|
||||
'wiki_faq':fields.boolean('Template: Internal FAQ',
|
||||
help="Creates a skeleton internal FAQ pre-filled with "
|
||||
"documentation about OpenERP's Document Management "
|
||||
"System."),
|
||||
'wiki_quality_manual':fields.boolean('Template: Quality Manual',
|
||||
help="Creates an example skeleton for a standard quality manual."),
|
||||
}
|
||||
_defaults = {
|
||||
'document_ftp':True,
|
||||
}
|
||||
|
||||
knowledge_installer()
|
|
@ -1,23 +0,0 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<record id="view_knowledge_installer" model="ir.ui.view">
|
||||
<field name="name">knowledge.installer.view</field>
|
||||
<field name="model">base.setup.installer</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base_setup.view_base_setup_installer"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//group[@name='knowledge']" position="replace">
|
||||
<newline/>
|
||||
<separator string="Knowledge Management Features" colspan="4" />
|
||||
<field name="document_ftp" />
|
||||
<field name="document_webdav" />
|
||||
<field name="wiki" />
|
||||
<field name="wiki_faq" />
|
||||
<field name="wiki_quality_manual" />
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -24,7 +24,7 @@
|
|||
"version" : "1.0",
|
||||
"author" : "conexus.at",
|
||||
"website" : "http://www.conexus.at",
|
||||
"category" : "Localisation/Account Charts",
|
||||
"category" : "Localization/Account Charts",
|
||||
"depends" : ["account_chart", 'base_vat'],
|
||||
"description": "This module provides the standard Accounting Chart for Austria which is based on the Template from BMF.gv.at. Please keep in mind that you should review and adapt it with your Accountant, before using it in a live Environment.",
|
||||
"demo_xml" : [],
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
##############################################################################
|
||||
{ 'name': 'Belgium - Plan Comptable Minimum Normalise',
|
||||
'version': '1.1',
|
||||
'category': 'Finance',
|
||||
'category': 'Localization/Account Charts',
|
||||
'description': """
|
||||
This is the base module to manage the accounting chart for Belgium in OpenERP.
|
||||
==============================================================================
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
##############################################################################
|
||||
{
|
||||
'name': 'Belgian Payroll Rules',
|
||||
'category': 'payroll',
|
||||
'category': 'Localization/Payroll',
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['hr_payroll','hr_contract'],
|
||||
'version': '1.0',
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
{
|
||||
'name': 'Brazilian Localization',
|
||||
'description': 'Brazilian Localization',
|
||||
'category': 'Finance',
|
||||
'category': 'Localization/Account Charts',
|
||||
'description': """
|
||||
This is the base module to manage the accounting chart for Brazil in OpenERP.
|
||||
=============================================================================
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue