[MERGE] branch merged with lp:openobject-addons
bzr revid: mtr@tinyerp.com-20111007072212-r7z3d7y0g4m9jstm
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -23,8 +23,10 @@ import time
|
||||
from datetime import datetime
|
||||
from operator import itemgetter
|
||||
|
||||
from lxml import etree
|
||||
|
||||
import netsvc
|
||||
from osv import fields, osv
|
||||
from osv import fields, osv, orm
|
||||
from tools.translate import _
|
||||
import decimal_precision as dp
|
||||
import tools
|
||||
@@ -970,7 +972,6 @@ class account_move_line(osv.osv):
|
||||
fields = {}
|
||||
flds = []
|
||||
title = _("Accounting Entries") #self.view_header_get(cr, uid, view_id, view_type, context)
|
||||
xml = '''<?xml version="1.0"?>\n<tree string="%s" editable="top" refresh="5" on_write="on_create_write" colors="red:state==\'draft\';black:state==\'valid\'">\n\t''' % (title)
|
||||
|
||||
ids = journal_pool.search(cr, uid, [])
|
||||
journals = journal_pool.browse(cr, uid, ids, context=context)
|
||||
@@ -982,14 +983,14 @@ class account_move_line(osv.osv):
|
||||
for field in journal.view_id.columns_id:
|
||||
if not field.field in fields:
|
||||
fields[field.field] = [journal.id]
|
||||
fld.append((field.field, field.sequence, field.name))
|
||||
fld.append((field.field, field.sequence))
|
||||
flds.append(field.field)
|
||||
common_fields[field.field] = 1
|
||||
else:
|
||||
fields.get(field.field).append(journal.id)
|
||||
common_fields[field.field] = common_fields[field.field] + 1
|
||||
fld.append(('period_id', 3, _('Period')))
|
||||
fld.append(('journal_id', 10, _('Journal')))
|
||||
fld.append(('period_id', 3))
|
||||
fld.append(('journal_id', 10))
|
||||
flds.append('period_id')
|
||||
flds.append('journal_id')
|
||||
fields['period_id'] = all_journal
|
||||
@@ -1001,62 +1002,71 @@ class account_move_line(osv.osv):
|
||||
'tax_code_id': 50,
|
||||
'move_id': 40,
|
||||
}
|
||||
for field_it in fld:
|
||||
field = field_it[0]
|
||||
|
||||
document = etree.Element('tree', string=title, editable="top",
|
||||
refresh="5", on_write="on_create_write",
|
||||
colors="red:state=='draft';black:state=='valid'")
|
||||
fields_get = self.fields_get(cr, uid, flds, context)
|
||||
for field, _seq in fld:
|
||||
if common_fields.get(field) == total:
|
||||
fields.get(field).append(None)
|
||||
# if field=='state':
|
||||
# state = 'colors="red:state==\'draft\'"'
|
||||
attrs = []
|
||||
# if field=='state':
|
||||
# state = 'colors="red:state==\'draft\'"'
|
||||
f = etree.SubElement(document, 'field', name=field)
|
||||
|
||||
if field == 'debit':
|
||||
attrs.append('sum = "%s"' % _("Total debit"))
|
||||
f.set('sum', _("Total debit"))
|
||||
|
||||
elif field == 'credit':
|
||||
attrs.append('sum = "%s"' % _("Total credit"))
|
||||
f.set('sum', _("Total credit"))
|
||||
|
||||
elif field == 'move_id':
|
||||
attrs.append('required = "False"')
|
||||
f.set('required', 'False')
|
||||
|
||||
elif field == 'account_tax_id':
|
||||
attrs.append('domain="[(\'parent_id\', \'=\' ,False)]"')
|
||||
attrs.append("context=\"{'journal_id': journal_id}\"")
|
||||
f.set('domain', "[('parent_id', '=' ,False)]")
|
||||
f.set('context', "{'journal_id': journal_id}")
|
||||
|
||||
elif field == 'account_id' and journal.id:
|
||||
attrs.append('domain="[(\'journal_id\', \'=\', journal_id),(\'type\',\'<>\',\'view\'), (\'type\',\'<>\',\'closed\')]" on_change="onchange_account_id(account_id, partner_id)"')
|
||||
f.set('domain', "[('journal_id', '=', journal_id),('type','!=','view'), ('type','!=','closed')]")
|
||||
f.set('on_change', 'onchange_account_id(account_id, partner_id)')
|
||||
|
||||
elif field == 'partner_id':
|
||||
attrs.append('on_change="onchange_partner_id(move_id, partner_id, account_id, debit, credit, date, journal_id)"')
|
||||
f.set('on_change', 'onchange_partner_id(move_id, partner_id, account_id, debit, credit, date, journal_id)')
|
||||
|
||||
elif field == 'journal_id':
|
||||
attrs.append("context=\"{'journal_id': journal_id}\"")
|
||||
f.set('context', "{'journal_id': journal_id}")
|
||||
|
||||
elif field == 'statement_id':
|
||||
attrs.append("domain=\"[('state', '!=', 'confirm'),('journal_id.type', '=', 'bank')]\"")
|
||||
f.set('domain', "[('state', '!=', 'confirm'),('journal_id.type', '=', 'bank')]")
|
||||
|
||||
elif field == 'date':
|
||||
attrs.append('on_change="onchange_date(date)"')
|
||||
f.set('on_change', 'onchange_date(date)')
|
||||
|
||||
elif field == 'analytic_account_id':
|
||||
attrs.append('''groups="analytic.group_analytic_accounting"''') # Currently it is not working due to framework problem may be ..
|
||||
# Currently it is not working due to being executed by superclass's fields_view_get
|
||||
# f.set('groups', 'analytic.group_analytic_accounting')
|
||||
pass
|
||||
|
||||
if field in ('amount_currency', 'currency_id'):
|
||||
attrs.append('on_change="onchange_currency(account_id, amount_currency, currency_id, date, journal_id)"')
|
||||
attrs.append('''attrs="{'readonly': [('state', '=', 'valid')]}"''')
|
||||
f.set('on_change', 'onchange_currency(account_id, amount_currency, currency_id, date, journal_id)')
|
||||
f.set('attrs', "{'readonly': [('state', '=', 'valid')]}")
|
||||
|
||||
if field in widths:
|
||||
attrs.append('width="'+str(widths[field])+'"')
|
||||
f.set('width', str(widths[field]))
|
||||
|
||||
if field in ('journal_id',):
|
||||
attrs.append("invisible=\"context.get('journal_id', False)\"")
|
||||
f.set("invisible", "context.get('journal_id', False)")
|
||||
elif field in ('period_id',):
|
||||
attrs.append("invisible=\"context.get('period_id', False)\"")
|
||||
f.set("invisible", "context.get('period_id', False)")
|
||||
else:
|
||||
attrs.append("invisible=\"context.get('visible_id') not in %s\"" % (fields.get(field)))
|
||||
xml += '''<field name="%s" %s/>\n''' % (field,' '.join(attrs))
|
||||
f.set('invisible', "context.get('visible_id') not in %s" % (fields.get(field)))
|
||||
|
||||
xml += '''</tree>'''
|
||||
result['arch'] = xml
|
||||
result['fields'] = self.fields_get(cr, uid, flds, context)
|
||||
orm.setup_modifiers(f, fields_get[field], context=context,
|
||||
in_tree_view=True)
|
||||
|
||||
result['arch'] = etree.tostring(document, pretty_print=True)
|
||||
result['fields'] = fields_get
|
||||
return result
|
||||
|
||||
def _check_moves(self, cr, uid, context=None):
|
||||
|
||||
@@ -1196,7 +1196,7 @@
|
||||
<field name="date"/>
|
||||
<field name="account_id"/>
|
||||
<field name="partner_id">
|
||||
<filter help="Next Partner Entries to reconcile" name="next_partner" string="Next Partner to reconcile" context="{'next_partner_only': 1}" icon="terp-gtk-jump-to-ltr" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>
|
||||
<filter help="Next Partner Entries to reconcile" name="next_partner" context="{'next_partner_only': 1}" icon="terp-gtk-jump-to-ltr" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="name" position="before">
|
||||
<field name="state" select="1" on_change="onchange_invoice_line_view(state)" />
|
||||
<field name="state" on_change="onchange_invoice_line_view(state)" />
|
||||
<field name="sequence"/>
|
||||
</field>
|
||||
</field>
|
||||
@@ -23,6 +23,7 @@
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/tree/field[@name='name']" position="before">
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="sequence" string="Seq."/>
|
||||
</xpath>
|
||||
</field>
|
||||
|
||||
@@ -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.',
|
||||
|
||||
@@ -28,7 +28,7 @@ import werkzeug.urls
|
||||
import werkzeug.exceptions
|
||||
|
||||
from openerp.modules.registry import RegistryManager
|
||||
import web.common.dispatch as openerpweb
|
||||
import web.common.http as openerpweb
|
||||
|
||||
from openid import oidutil
|
||||
from openid.store import memstore
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -8,19 +8,19 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-06-06 18:09+0000\n"
|
||||
"Last-Translator: doingit.cl <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-10-03 17:17+0000\n"
|
||||
"Last-Translator: David Acevedo Toledo <Unknown>\n"
|
||||
"Language-Team: Spanish (Chile) <es_CL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-09-05 05:58+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-04 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 14071)\n"
|
||||
|
||||
#. module: base_crypt
|
||||
#: sql_constraint:res.users:0
|
||||
msgid "You can not have two users with the same login !"
|
||||
msgstr ""
|
||||
msgstr "¡No puede tener dos usuarios con el mismo nombre!"
|
||||
|
||||
#. module: base_crypt
|
||||
#: model:ir.model,name:base_crypt.model_res_users
|
||||
@@ -31,18 +31,19 @@ msgstr "res.users"
|
||||
#: constraint:res.users:0
|
||||
msgid "The chosen company is not in the allowed companies for this user"
|
||||
msgstr ""
|
||||
"La compañía seleccionada no está autorizada como compañía para este usuario"
|
||||
"La compañía seleccionada no está dentro de las compañías autorizadas para "
|
||||
"este usuario"
|
||||
|
||||
#. module: base_crypt
|
||||
#: code:addons/base_crypt/crypt.py:132
|
||||
#, python-format
|
||||
msgid "Please specify the password !"
|
||||
msgstr ""
|
||||
msgstr "¡Por favor, escriba una contraseña!"
|
||||
|
||||
#. module: base_crypt
|
||||
#: model:ir.module.module,shortdesc:base_crypt.module_meta_information
|
||||
msgid "Base - Password Encryption"
|
||||
msgstr ""
|
||||
msgstr "Base - Encriptación de la Contraseña"
|
||||
|
||||
#. module: base_crypt
|
||||
#: code:addons/base_crypt/crypt.py:132
|
||||
@@ -70,3 +71,19 @@ msgid ""
|
||||
"unless you are using a secure protocol such as XML-RPCS.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"Este módulo sustituye la contraseña escrita en texto plano por una "
|
||||
"codificada,\n"
|
||||
"previniendo que alguien pueda leer la contraseña original.\n"
|
||||
"Para un usuario existente, el sustitución de la contraseña en texto plano se "
|
||||
"realiza la primera vez\n"
|
||||
"que el usuario se conecte después de instalar base_crypt.\n"
|
||||
"Después de instalar este módulo los usuarios no podrán recuperar su "
|
||||
"contraseña olvidada,\n"
|
||||
"un administrador tendrá que cambiarla por una nueva.\n"
|
||||
"\n"
|
||||
"Nota: instalar este módulo no significa que pueda ignorar las medidas "
|
||||
"básicas de seguridad,\n"
|
||||
"como la contraseña que es enviada por el cliente que sigue sin ser "
|
||||
"codificada en la red,\n"
|
||||
"a menos que utilice un protocolo seguro como XML-RPCS.\n"
|
||||
" "
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
# Serbian Latin translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-10-05 13:25+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian Latin <sr@latin@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-06 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 14085)\n"
|
||||
|
||||
#. module: base_crypt
|
||||
#: sql_constraint:res.users:0
|
||||
msgid "You can not have two users with the same login !"
|
||||
msgstr "Ne možete imati dva korisnika sa istom prijavom!"
|
||||
|
||||
#. module: base_crypt
|
||||
#: model:ir.model,name:base_crypt.model_res_users
|
||||
msgid "res.users"
|
||||
msgstr "res.users"
|
||||
|
||||
#. module: base_crypt
|
||||
#: constraint:res.users:0
|
||||
msgid "The chosen company is not in the allowed companies for this user"
|
||||
msgstr "Odabrana firma nije u dozvoljena firmama za ovog korisnika"
|
||||
|
||||
#. module: base_crypt
|
||||
#: code:addons/base_crypt/crypt.py:132
|
||||
#, python-format
|
||||
msgid "Please specify the password !"
|
||||
msgstr "Molimo odredite lozinku"
|
||||
|
||||
#. module: base_crypt
|
||||
#: model:ir.module.module,shortdesc:base_crypt.module_meta_information
|
||||
msgid "Base - Password Encryption"
|
||||
msgstr "Baza - Šifrovanje lozinke"
|
||||
|
||||
#. module: base_crypt
|
||||
#: code:addons/base_crypt/crypt.py:132
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr "Greška"
|
||||
|
||||
#. module: base_crypt
|
||||
#: model:ir.module.module,description:base_crypt.module_meta_information
|
||||
msgid ""
|
||||
"This module replaces the cleartext password in the database with a password "
|
||||
"hash,\n"
|
||||
"preventing anyone from reading the original password.\n"
|
||||
"For your existing user base, the removal of the cleartext passwords occurs "
|
||||
"the first time\n"
|
||||
"a user logs into the database, after installing base_crypt.\n"
|
||||
"After installing this module it won't be possible to recover a forgotten "
|
||||
"password for your\n"
|
||||
"users, the only solution is for an admin to set a new password.\n"
|
||||
"\n"
|
||||
"Note: installing this module does not mean you can ignore basic security "
|
||||
"measures,\n"
|
||||
"as the password is still transmitted unencrypted on the network (by the "
|
||||
"client),\n"
|
||||
"unless you are using a secure protocol such as XML-RPCS.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"Ovaj modul zamenjuje vidljivu lozinku u bazi podataka znacima,\n"
|
||||
"što onemogućava bilo koga da pročita originalnu lozinku.\n"
|
||||
"Što se tiče Vaše baze podataka, ukidanje vidljive lozinke dešava se prvi put "
|
||||
"pošto se korisnik prijavi u bazu podataka, po instalaciji base_crypt.\n"
|
||||
"Po instalaciji ovog modula neće biti moguće izmeniti zaboravljenu lozinku za "
|
||||
"Vaše korisnike, jedino rešenje će biti da im administrator postavi novu "
|
||||
"lozinku.\n"
|
||||
"\n"
|
||||
"Beleška: Instaliranje ovog modula ne znači da možete ignorisati osnovne "
|
||||
"sigurnosne mere,\n"
|
||||
"budući da se lozinka i dalje prenosi nešifrovana u mreži (od strane "
|
||||
"klijenta),\n"
|
||||
"ukoliko ne koristite siguran protokol kao XML-RPCS.\n"
|
||||
" "
|
||||
@@ -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.
|
||||
|
||||
@@ -8,19 +8,19 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 15:48+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-10-05 13:32+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-09-05 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-06 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 14085)\n"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:ir.module.module,shortdesc:base_iban.module_meta_information
|
||||
msgid "Create IBAN bank accounts"
|
||||
msgstr "Kreiraj IBAN nalog banke"
|
||||
msgstr "Napravi IBAN nalog banke"
|
||||
|
||||
#. module: base_iban
|
||||
#: code:addons/base_iban/base_iban.py:120
|
||||
@@ -28,7 +28,7 @@ msgstr "Kreiraj IBAN nalog banke"
|
||||
msgid ""
|
||||
"The IBAN does not seems to be correct. You should have entered something "
|
||||
"like this %s"
|
||||
msgstr "IBAN izgleda da nije ispravan. TRebas uneti nesto nalik na %s"
|
||||
msgstr "IBAN izgleda da nije ispravan. Trebalo je uneti nešto kao %s"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type.field,name:base_iban.bank_zip_field
|
||||
@@ -43,7 +43,7 @@ msgstr "Međunarodni broj Bankovnog računa"
|
||||
#. module: base_iban
|
||||
#: model:ir.model,name:base_iban.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr "Bankovni Računi"
|
||||
msgstr "Bankovni računi"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type.field,name:base_iban.bank_country_field
|
||||
@@ -64,7 +64,7 @@ msgstr "iban"
|
||||
#: code:addons/base_iban/base_iban.py:121
|
||||
#, python-format
|
||||
msgid "The IBAN is invalid, It should begin with the country code"
|
||||
msgstr "IBAN je neispravan, trebalo bi da pocinje sa kodom zemlje"
|
||||
msgstr "IBAN je neispravan, trebalo bi da počinje sa kodom zemlje"
|
||||
|
||||
#. module: base_iban
|
||||
#: field:res.partner.bank,iban:0
|
||||
@@ -74,7 +74,7 @@ msgstr "IBAN"
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type,name:base_iban.bank_iban
|
||||
msgid "IBAN Account"
|
||||
msgstr "IBAN konto"
|
||||
msgstr "IBAN račun"
|
||||
|
||||
#. module: base_iban
|
||||
#: model:ir.module.module,description:base_iban.module_meta_information
|
||||
@@ -85,11 +85,16 @@ msgid ""
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Ovaj modul instalira bazu za IBAN (Međunarodni broj bankovnog računa) "
|
||||
"bankovne račune i proverava im validnost.\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: base_iban
|
||||
#: model:res.partner.bank.type.field,name:base_iban.bank_acc_number_field
|
||||
msgid "acc_number"
|
||||
msgstr "Broj konta"
|
||||
msgstr "acc_number"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Nevažeći XML za pregled arhitekture"
|
||||
|
||||
@@ -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.
|
||||
======================================================================
|
||||
|
||||
@@ -8,24 +8,24 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 10:53+0000\n"
|
||||
"Last-Translator: qdp (OpenERP) <qdp-launchpad@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2011-10-05 13:53+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian <sr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-09-05 05:10+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-06 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 14085)\n"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,info,category:0
|
||||
msgid "Category"
|
||||
msgstr "Категорија"
|
||||
msgstr "Kategorija"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_view:base_module_record.module_record_objects,save:0
|
||||
msgid "Information"
|
||||
msgstr "Informacija"
|
||||
msgstr "Informacije"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_view:base_module_record.module_record_objects,save:0
|
||||
@@ -34,9 +34,9 @@ msgid ""
|
||||
"publish it on OpenERP.com, in the 'Modules' section. You can do it through "
|
||||
"the website or using features of the 'base_module_publish' module."
|
||||
msgstr ""
|
||||
"Ako mislite da vas modul moze zainteresovati i druge ljude, mozete ga "
|
||||
"publikovati na OpenERP.com u sekciji 'Moduli'. To mozete uciniti preko "
|
||||
"websajta ili koristeci mogucnosti modula 'base_module_publish' ."
|
||||
"Ako mislite da Vaš modul može zainteresovati i druge ljude, Voleli bismo da "
|
||||
"ga objabvite na OpenERP.com u sekciji 'Moduli'. To možete učiniti preko "
|
||||
"vebsajta ili koristeći mogućnosti modula 'base_module_publish' ."
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_button:base_module_record.module_record_data,info,end:0
|
||||
@@ -48,7 +48,7 @@ msgstr "Kraj"
|
||||
#: wizard_view:base_module_record.module_record_data,init:0
|
||||
#: wizard_view:base_module_record.module_record_objects,init:0
|
||||
msgid "Choose objects to record"
|
||||
msgstr "Izaberi objekat za cuvanje"
|
||||
msgstr "Izaberi stavke za čuvanje"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,info,author:0
|
||||
@@ -58,13 +58,13 @@ msgstr "Autor"
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,info,directory_name:0
|
||||
msgid "Directory Name"
|
||||
msgstr "Ime Direktorijuma"
|
||||
msgstr "Ime fascikle"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_data,init,filter_cond:0
|
||||
#: wizard_field:base_module_record.module_record_objects,init,filter_cond:0
|
||||
msgid "Records only"
|
||||
msgstr "Samo Zapisi"
|
||||
msgstr "Samo zapisi"
|
||||
|
||||
#. module: base_module_record
|
||||
#: model:ir.model,name:base_module_record.model_ir_module_record
|
||||
@@ -74,12 +74,12 @@ msgstr "ir.module.record"
|
||||
#. module: base_module_record
|
||||
#: selection:base_module_record.module_record_objects,info,data_kind:0
|
||||
msgid "Demo Data"
|
||||
msgstr "Demo Podaci"
|
||||
msgstr "Demo podaci"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,save,module_filename:0
|
||||
msgid "Filename"
|
||||
msgstr "Ime Fajla"
|
||||
msgstr "Ime datoteke"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,info,version:0
|
||||
@@ -92,7 +92,7 @@ msgstr "Verzija"
|
||||
#: wizard_view:base_module_record.module_record_data,save_yaml:0
|
||||
#: wizard_view:base_module_record.module_record_objects,init:0
|
||||
msgid "Objects Recording"
|
||||
msgstr "Objekti se Snimaju"
|
||||
msgstr "Zapisi stavki"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_data,init,check_date:0
|
||||
@@ -107,29 +107,29 @@ msgstr "Zapis od Datuma"
|
||||
#: wizard_view:base_module_record.module_record_objects,save:0
|
||||
#: wizard_view:base_module_record.module_record_objects,save_yaml:0
|
||||
msgid "Module Recording"
|
||||
msgstr "Snimanje Modula"
|
||||
msgstr "Zapisivanje modula"
|
||||
|
||||
#. module: base_module_record
|
||||
#: model:ir.actions.wizard,name:base_module_record.wizard_base_module_record_objects
|
||||
#: model:ir.ui.menu,name:base_module_record.menu_wizard_base_module_record_objects
|
||||
msgid "Export Customizations As a Module"
|
||||
msgstr "Izvezi Podesavanja kao Modul"
|
||||
msgstr "Izvezi podešavanja kao modul"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_view:base_module_record.module_record_objects,save:0
|
||||
msgid "Thanks in advance for your contribution."
|
||||
msgstr "Hvala unaprijed na Vašem Doprinosu"
|
||||
msgstr "Hvala unapred na Vašem doprinosu"
|
||||
|
||||
#. module: base_module_record
|
||||
#: help:base_module_record.module_record_data,init,objects:0
|
||||
#: help:base_module_record.module_record_objects,init,objects:0
|
||||
msgid "List of objects to be recorded"
|
||||
msgstr "Lista Objekata za zapis"
|
||||
msgstr "Spisak stavki za zapis"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,info,description:0
|
||||
msgid "Full Description"
|
||||
msgstr "Puni Opis"
|
||||
msgstr "Puni opis"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,info,name:0
|
||||
@@ -140,63 +140,63 @@ msgstr "Naziv Modula"
|
||||
#: wizard_field:base_module_record.module_record_data,init,objects:0
|
||||
#: wizard_field:base_module_record.module_record_objects,init,objects:0
|
||||
msgid "Objects"
|
||||
msgstr "Objekti"
|
||||
msgstr "Stavka"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,save,module_file:0
|
||||
#: wizard_field:base_module_record.module_record_objects,save_yaml,yaml_file:0
|
||||
msgid "Module .zip File"
|
||||
msgstr ".zip datoteka Modula"
|
||||
msgstr ".zip datoteka modula"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_view:base_module_record.module_record_objects,save:0
|
||||
msgid "Module successfully created !"
|
||||
msgstr "Modul uspješno kreiran !"
|
||||
msgstr "Modul uspešno napravljen !"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_view:base_module_record.module_record_objects,save_yaml:0
|
||||
msgid "YAML file successfully created !"
|
||||
msgstr "YAML fajl je uspesno kreiran !"
|
||||
msgstr "YAML datoteka uspešno napravljena !"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_view:base_module_record.module_record_data,info:0
|
||||
#: wizard_view:base_module_record.module_record_data,save_yaml:0
|
||||
msgid "Result, paste this to your module's xml"
|
||||
msgstr "Rezultat, zalepi ovo u tvoj xml modul"
|
||||
msgstr "Rezultat, zalepite ovo u Vaš xml modul"
|
||||
|
||||
#. module: base_module_record
|
||||
#: selection:base_module_record.module_record_data,init,filter_cond:0
|
||||
#: selection:base_module_record.module_record_objects,init,filter_cond:0
|
||||
msgid "Created"
|
||||
msgstr "Kreirano"
|
||||
msgstr "Napravljeno"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_view:base_module_record.module_record_data,end:0
|
||||
#: wizard_view:base_module_record.module_record_objects,end:0
|
||||
msgid "Thanks For using Module Recorder"
|
||||
msgstr "Hvala što ste koristili Snimač Modula"
|
||||
msgstr "Hvala što ste koristili Zapisivač modula"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,info,website:0
|
||||
msgid "Documentation URL"
|
||||
msgstr "URL Dokumentacije"
|
||||
msgstr "URL Dokumentacija"
|
||||
|
||||
#. module: base_module_record
|
||||
#: selection:base_module_record.module_record_data,init,filter_cond:0
|
||||
#: selection:base_module_record.module_record_objects,init,filter_cond:0
|
||||
msgid "Modified"
|
||||
msgstr "Izmenjen"
|
||||
msgstr "Izmenjeno"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_button:base_module_record.module_record_data,init,record:0
|
||||
#: wizard_button:base_module_record.module_record_objects,init,record:0
|
||||
msgid "Record"
|
||||
msgstr "Snima"
|
||||
msgstr "Zapis"
|
||||
|
||||
#. module: base_module_record
|
||||
#: model:ir.module.module,shortdesc:base_module_record.module_meta_information
|
||||
msgid "Module Record"
|
||||
msgstr "Snimanje Modula"
|
||||
msgstr "Zapisivanje modula"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_button:base_module_record.module_record_objects,info,save:0
|
||||
@@ -207,13 +207,13 @@ msgstr "Nastavi"
|
||||
#: model:ir.actions.wizard,name:base_module_record.wizard_base_module_record_data
|
||||
#: model:ir.ui.menu,name:base_module_record.menu_wizard_base_module_record_data
|
||||
msgid "Export Customizations As Data File"
|
||||
msgstr "Eksportuj POdesavanja kao Data fajl"
|
||||
msgstr "Izvezi podešavanja kao data datoteku"
|
||||
|
||||
#. module: base_module_record
|
||||
#: code:addons/base_module_record/wizard/base_module_save.py:129
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr "Greska"
|
||||
msgstr "Greška"
|
||||
|
||||
#. module: base_module_record
|
||||
#: selection:base_module_record.module_record_objects,info,data_kind:0
|
||||
@@ -224,12 +224,12 @@ msgstr "Obični podaci"
|
||||
#: wizard_button:base_module_record.module_record_data,end,end:0
|
||||
#: wizard_button:base_module_record.module_record_objects,end,end:0
|
||||
msgid "OK"
|
||||
msgstr "U redu"
|
||||
msgstr "OK"
|
||||
|
||||
#. module: base_module_record
|
||||
#: model:ir.ui.menu,name:base_module_record.menu_wizard_base_mod_rec
|
||||
msgid "Module Creation"
|
||||
msgstr "Kreacija Modula"
|
||||
msgstr "Pravljenje Modula"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_objects,info,data_kind:0
|
||||
@@ -239,7 +239,7 @@ msgstr "Tip Podataka"
|
||||
#. module: base_module_record
|
||||
#: wizard_view:base_module_record.module_record_objects,info:0
|
||||
msgid "Module Information"
|
||||
msgstr "Informacija o Modulu"
|
||||
msgstr "Informacija o modulu"
|
||||
|
||||
#. module: base_module_record
|
||||
#: wizard_field:base_module_record.module_record_data,init,info_yaml:0
|
||||
@@ -296,6 +296,26 @@ msgid ""
|
||||
"module.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Ovaj modul omogućava da napravite novi modul bez ikakvog razvoja.\n"
|
||||
"Zapisuje sve operacije na stavkama za vreme sesija zapisivanaj i\n"
|
||||
"pravi .ZIP modul. Tako da možete napraviti sopstvene module direknto iz\n"
|
||||
"OpenERP klijenta.\n"
|
||||
"\n"
|
||||
"Ova verzija radi za pravljenje i izmenu postojećih zapisa. Iznova "
|
||||
"obračunava\n"
|
||||
"međuzavisnosti i veze između svih tipova vidžeta (man2one, many2many, ...).\n"
|
||||
"\n"
|
||||
"Ovo bi trebalo da Vam pomogne da lako pravite ponovo upotrebljive module, "
|
||||
"koje možete ponovo objaviti,\n"
|
||||
"za korisnička podešavanja i demo/testiranje podataka.\n"
|
||||
"\n"
|
||||
"Kako ga koristiti:\n"
|
||||
"Pokrenite Administration/Customization/Module Creation/Export Customizations "
|
||||
"kao pomoćni modul.\n"
|
||||
"Izaberite datum i vreme kao kriterijume za zapis i stavke za zapis i "
|
||||
"zapišite modul.\n"
|
||||
" "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
|
||||
@@ -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.
|
||||
|
||||
+277
-101
@@ -20,123 +20,300 @@
|
||||
##############################################################################
|
||||
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'))
|
||||
|
||||
modules = module_proxy.browse(cr, uid, module_proxy.search(cr, uid, domain, context=context), context=context)
|
||||
if not modules:
|
||||
continue
|
||||
|
||||
m = DEFAULT_MODULES.get(module_category.name, [])
|
||||
r = module_proxy.search(cr, uid, [('state', '=', 'installed'),('name', 'in', m)], context=context)
|
||||
readonly = bool(r)
|
||||
|
||||
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 modules 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))
|
||||
|
||||
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)
|
||||
|
||||
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_hidden_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',))
|
||||
inner_modules = [name for _, name in cr.fetchall()]
|
||||
|
||||
module_ids = proxy.search(cr, uid, [('name', 'in', inner_modules)], context=context)
|
||||
if not module_ids:
|
||||
break
|
||||
|
||||
modules.update(inner_modules)
|
||||
|
||||
proxy.state_update(cr, uid, module_ids, 'to install', ['uninstalled'], context=context)
|
||||
need_update = True
|
||||
|
||||
|
||||
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':
|
||||
domain = [('name', 'in', list(modules)),
|
||||
('state', '=', 'installed')]
|
||||
for module in proxy.browse(cr, uid, proxy.search(cr, uid, domain, context=context), context):
|
||||
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
|
||||
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_update:
|
||||
cr.commit()
|
||||
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'}
|
||||
|
||||
#Migrate data from another application Conf wiz
|
||||
|
||||
@@ -158,11 +335,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.
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# Spanish (Chile) translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-10-03 16:53+0000\n"
|
||||
"Last-Translator: David Acevedo Toledo <Unknown>\n"
|
||||
"Language-Team: Spanish (Chile) <es_CL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-04 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 14071)\n"
|
||||
|
||||
#. module: base_tools
|
||||
#: model:ir.module.module,shortdesc:base_tools.module_meta_information
|
||||
msgid "Common base for tools modules"
|
||||
msgstr "Base común para módulos de herramientas"
|
||||
|
||||
#. module: base_tools
|
||||
#: model:ir.module.module,description:base_tools.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" "
|
||||
@@ -8,19 +8,19 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-04-05 04:40+0000\n"
|
||||
"Last-Translator: kaneolopa <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-10-06 13:41+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian Latin <sr@latin@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-09-05 05:58+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-07 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 14085)\n"
|
||||
|
||||
#. module: base_tools
|
||||
#: model:ir.module.module,shortdesc:base_tools.module_meta_information
|
||||
msgid "Common base for tools modules"
|
||||
msgstr "Česti moduli za osnovne alate"
|
||||
msgstr "Uobičajena osnova za alatne module"
|
||||
|
||||
#. module: base_tools
|
||||
#: model:ir.module.module,description:base_tools.module_meta_information
|
||||
@@ -28,5 +28,5 @@ msgid ""
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"modul: osnovni_alati\n"
|
||||
"modul: base_tools\n"
|
||||
" "
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
{
|
||||
'name': 'VAT Number Validation',
|
||||
'version': '1.0',
|
||||
'category': 'Finance',
|
||||
'category': 'Hidden',
|
||||
'complexity': "easy",
|
||||
'description': """
|
||||
VAT validation for Partners' VAT numbers
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 15:36+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-10-06 13:45+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-09-05 05:10+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-07 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 14085)\n"
|
||||
|
||||
#. module: base_vat
|
||||
#: code:addons/base_vat/base_vat.py:87
|
||||
@@ -23,7 +23,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"The Vat does not seems to be correct. You should have entered something like "
|
||||
"this %s"
|
||||
msgstr "PDV izgleda da nije korektan. Trebas upisati nesto kao %s"
|
||||
msgstr "PDV izgleda da nije korektan. Trebalo je uneti nešto kao %s"
|
||||
|
||||
#. module: base_vat
|
||||
#: model:ir.module.module,description:base_vat.module_meta_information
|
||||
@@ -38,22 +38,28 @@ msgid ""
|
||||
"countries.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Omogući PDV brojeve za partnera. Proverite validnost tog PDV broja.\n"
|
||||
"\n"
|
||||
" Ovaj modul prati metode opisane na http://sima-pc.com/nif.php za\n"
|
||||
" proveru validnosti PDV broja pripisane partnerima u evropskim zemljama.\n"
|
||||
" "
|
||||
|
||||
#. module: base_vat
|
||||
#: model:ir.module.module,shortdesc:base_vat.module_meta_information
|
||||
msgid "Base VAT - To check VAT number validity"
|
||||
msgstr "Osnovni PDV - Za Proveru validnosti PDV cifre"
|
||||
msgstr "Osnovni PDV - Za Proveru validnosti PDV broja"
|
||||
|
||||
#. module: base_vat
|
||||
#: constraint:res.partner:0
|
||||
msgid "Error ! You can not create recursive associated members."
|
||||
msgstr ""
|
||||
msgstr "Greška ! Ne možete da pravite rekurzivne povezane članove."
|
||||
|
||||
#. module: base_vat
|
||||
#: code:addons/base_vat/base_vat.py:88
|
||||
#, python-format
|
||||
msgid "The VAT is invalid, It should begin with the country code"
|
||||
msgstr "PDV je neispravan, trebalo bi da zapocne sa kodom zemlje"
|
||||
msgstr "PDV je neispravan, trebalo bi da počinje kodom zemlje"
|
||||
|
||||
#. module: base_vat
|
||||
#: help:res.partner,vat_subjected:0
|
||||
@@ -61,7 +67,7 @@ msgid ""
|
||||
"Check this box if the partner is subjected to the VAT. It will be used for "
|
||||
"the VAT legal statement."
|
||||
msgstr ""
|
||||
"Cekiraj ovu kucicu ukoliko je PDV naslovljen na partnera. On ce koristiti "
|
||||
"Označi ovu kućicu ukoliko je PDV naslovljen na partnera. Biće korišćen za "
|
||||
"zakonsku PDV izjavu."
|
||||
|
||||
#. module: base_vat
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
{
|
||||
'name': 'Dashboard Creator',
|
||||
'version': '1.0',
|
||||
'category': 'Tools',
|
||||
'category': 'Hidden',
|
||||
'complexity': "normal",
|
||||
'description': """
|
||||
Lets the user create a custom dashboard.
|
||||
|
||||
@@ -0,0 +1,395 @@
|
||||
# Spanish (Chile) translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-10-03 16:58+0000\n"
|
||||
"Last-Translator: David Acevedo Toledo <Unknown>\n"
|
||||
"Language-Team: Spanish (Chile) <es_CL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-04 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 14071)\n"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid " Year "
|
||||
msgstr " Año "
|
||||
|
||||
#. module: board
|
||||
#: model:ir.model,name:board.model_board_menu_create
|
||||
msgid "Menu Create"
|
||||
msgstr "Crear menú"
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note.type,name:0
|
||||
#: model:ir.model,name:board.model_board_note_type
|
||||
msgid "Note Type"
|
||||
msgstr "Tipo de nota"
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note,user_id:0
|
||||
msgid "Author"
|
||||
msgstr "Autor"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.module.module,shortdesc:board.module_meta_information
|
||||
msgid "Dashboard main module"
|
||||
msgstr "Módulo principal de tableros"
|
||||
|
||||
#. module: board
|
||||
#: view:res.users:0
|
||||
msgid "Latest Connections"
|
||||
msgstr "Últimas conexiones"
|
||||
|
||||
#. module: board
|
||||
#: code:addons/board/wizard/board_menu_create.py:45
|
||||
#, python-format
|
||||
msgid "User Error!"
|
||||
msgstr "¡Error de usuario!"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.open_board_administration_form
|
||||
#: model:ir.ui.menu,name:board.menu_board_admin
|
||||
msgid "Administration Dashboard"
|
||||
msgstr "Tablero de Administración"
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note,note:0
|
||||
#: model:ir.model,name:board.model_board_note
|
||||
msgid "Note"
|
||||
msgstr "Nota"
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: view:res.log.report:0
|
||||
msgid "Group By..."
|
||||
msgstr "Agrupar por..."
|
||||
|
||||
#. module: board
|
||||
#: model:ir.model,name:board.model_board_board
|
||||
msgid "Board"
|
||||
msgstr "Tablero"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.board_weekly_res_log_report_action
|
||||
#: view:res.log.report:0
|
||||
msgid "Weekly Global Activity"
|
||||
msgstr "Actividad global semanal"
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,name:0
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
#. module: board
|
||||
#: field:res.log.report,nbr:0
|
||||
msgid "# of Entries"
|
||||
msgstr "Nº de entradas"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
#: field:res.log.report,month:0
|
||||
msgid "Month"
|
||||
msgstr "Mes"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.actions.act_window,name:board.dashboard_open
|
||||
msgid "Open Dashboard"
|
||||
msgstr "Abrir tablero"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.board_monthly_res_log_report_action
|
||||
#: view:res.log.report:0
|
||||
msgid "Monthly Activity per Document"
|
||||
msgstr "Actividad mensual por documento"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid "Log Analysis"
|
||||
msgstr "Análisis de registro"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.actions.act_window,name:board.action_view_board_list_form
|
||||
#: model:ir.ui.menu,name:board.menu_view_board_form
|
||||
msgid "Dashboard Definition"
|
||||
msgstr "Definición de tablero"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "March"
|
||||
msgstr "Marzo"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "August"
|
||||
msgstr "Agosto"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.action_user_connection_tree
|
||||
msgid "User Connections"
|
||||
msgstr "Conexiones de usuario"
|
||||
|
||||
#. module: board
|
||||
#: field:res.log.report,creation_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr "Fecha de Creación"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.actions.act_window,name:board.action_view_board_note_form
|
||||
#: model:ir.ui.menu,name:board.menu_view_board_note_form
|
||||
msgid "Publish a note"
|
||||
msgstr "Publicar una nota"
|
||||
|
||||
#. module: board
|
||||
#: view:board.menu.create:0
|
||||
msgid "Menu Information"
|
||||
msgstr "Información del menú"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "June"
|
||||
msgstr "Junio"
|
||||
|
||||
#. module: board
|
||||
#: field:board.note,type:0
|
||||
msgid "Note type"
|
||||
msgstr "Tipo de nota"
|
||||
|
||||
#. module: board
|
||||
#: field:board.board,line_ids:0
|
||||
msgid "Action Views"
|
||||
msgstr "Vistas de acciones"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.model,name:board.model_res_log_report
|
||||
msgid "Log Report"
|
||||
msgstr "Informe de registro"
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note,date:0
|
||||
msgid "Date"
|
||||
msgstr "Fecha"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "July"
|
||||
msgstr "Julio"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr "Filtros extendidos..."
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
#: field:res.log.report,day:0
|
||||
msgid "Day"
|
||||
msgstr "Dia"
|
||||
|
||||
#. module: board
|
||||
#: view:board.menu.create:0
|
||||
msgid "Create Menu For Dashboard"
|
||||
msgstr "Crear menú para tablero"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "February"
|
||||
msgstr "Febrero"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "October"
|
||||
msgstr "Octubre"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.model,name:board.model_board_board_line
|
||||
msgid "Board Line"
|
||||
msgstr "Línea tablero"
|
||||
|
||||
#. module: board
|
||||
#: field:board.menu.create,menu_parent_id:0
|
||||
msgid "Parent Menu"
|
||||
msgstr "Menú padre"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid " Month-1 "
|
||||
msgstr " Mes-1 "
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "January"
|
||||
msgstr "Enero"
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "November"
|
||||
msgstr "Noviembre"
|
||||
|
||||
#. module: board
|
||||
#: help:board.board.line,sequence:0
|
||||
msgid ""
|
||||
"Gives the sequence order when displaying a list of "
|
||||
"board lines."
|
||||
msgstr ""
|
||||
"Indica el orden de secuencia cuando se muestra una lista de líneas de "
|
||||
"tablero."
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "April"
|
||||
msgstr "Abril"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: field:board.board,name:0
|
||||
#: field:board.board.line,board_id:0
|
||||
#: model:ir.ui.menu,name:board.admin_menu_dasboard
|
||||
#: model:ir.ui.menu,name:board.menu_dasboard
|
||||
msgid "Dashboard"
|
||||
msgstr "Tablero"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.module.module,description:board.module_meta_information
|
||||
msgid "Base module for all dashboards."
|
||||
msgstr "Módulo base para todos los tableros."
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,action_id:0
|
||||
msgid "Action"
|
||||
msgstr "Acción."
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,position:0
|
||||
msgid "Position"
|
||||
msgstr "Posición"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#. module: board
|
||||
#: field:board.menu.create,menu_name:0
|
||||
msgid "Menu Name"
|
||||
msgstr "Nombre del menú"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.action_latest_activities_tree
|
||||
msgid "Latest Activities"
|
||||
msgstr "Últimas actividades"
|
||||
|
||||
#. module: board
|
||||
#: selection:board.board.line,position:0
|
||||
msgid "Left"
|
||||
msgstr "Izquieda"
|
||||
|
||||
#. module: board
|
||||
#: field:board.board,view_id:0
|
||||
msgid "Board View"
|
||||
msgstr "Vista de tablero"
|
||||
|
||||
#. module: board
|
||||
#: selection:board.board.line,position:0
|
||||
msgid "Right"
|
||||
msgstr "Derecha"
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,width:0
|
||||
msgid "Width"
|
||||
msgstr "Ancho"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid " Month "
|
||||
msgstr " Mes "
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Secuencia"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "September"
|
||||
msgstr "Septiembre"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "December"
|
||||
msgstr "Diciembre"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: view:board.menu.create:0
|
||||
msgid "Create Menu"
|
||||
msgstr "Crear Menú"
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,height:0
|
||||
msgid "Height"
|
||||
msgstr "Alto"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.actions.act_window,name:board.action_board_menu_create
|
||||
msgid "Create Board Menu"
|
||||
msgstr "Crear menú del tablero"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "May"
|
||||
msgstr "Mayo"
|
||||
|
||||
#. module: board
|
||||
#: field:res.log.report,res_model:0
|
||||
msgid "Object"
|
||||
msgstr "Objeto"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
#: field:res.log.report,name:0
|
||||
msgid "Year"
|
||||
msgstr "Año"
|
||||
|
||||
#. module: board
|
||||
#: view:board.menu.create:0
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
msgid "Dashboard View"
|
||||
msgstr "Vista de tablero"
|
||||
|
||||
#. module: board
|
||||
#: code:addons/board/wizard/board_menu_create.py:46
|
||||
#, python-format
|
||||
msgid "Please Insert Dashboard View(s) !"
|
||||
msgstr "¡Por favor inserte alguna vista de tablero!"
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note,name:0
|
||||
msgid "Subject"
|
||||
msgstr "Asunto"
|
||||
@@ -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" : [],
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2010-12-24 13:20+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-10-06 14:05+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-09-05 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-07 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 14085)\n"
|
||||
|
||||
#. module: claim_from_delivery
|
||||
#: model:ir.actions.act_window,name:claim_from_delivery.action_claim_from_delivery
|
||||
@@ -25,9 +25,9 @@ msgstr "Zahtev"
|
||||
#. module: claim_from_delivery
|
||||
#: model:ir.module.module,description:claim_from_delivery.module_meta_information
|
||||
msgid "Create Claim from delivery order:\n"
|
||||
msgstr "Kreiraj Zahtev iz Naloga Isporuke\n"
|
||||
msgstr "Napravi zahtev iz naloga isporuke\n"
|
||||
|
||||
#. module: claim_from_delivery
|
||||
#: model:ir.module.module,shortdesc:claim_from_delivery.module_meta_information
|
||||
msgid "Claim from delivery"
|
||||
msgstr "Zatraži od isporuke"
|
||||
msgstr "Zahtev od isporuke"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -1,21 +1,9 @@
|
||||
- |
|
||||
In order to test the CRM in OpenERP,
|
||||
I will do a customer qualification process that
|
||||
starts with a fist contact with a customer (a lead), which will be converted to a
|
||||
business opportunity and a partner.
|
||||
-
|
||||
In order to test the CRM in OpenERP, I will do a customer qualification
|
||||
process that starts with a fist contact with a customer (a lead), which will
|
||||
be converted to a business opportunity and a partner.
|
||||
-
|
||||
I check installer report.
|
||||
-
|
||||
!record {model: base.setup.installer , id: base_action_rule_0_1}:
|
||||
name: Test_action
|
||||
-
|
||||
I create the view at the time of setup.
|
||||
-
|
||||
!python {model: base.setup.installer}: |
|
||||
self.fields_view_get(cr, uid,view_id=None, view_type='form', context=None, toolbar=False, submenu=False)
|
||||
- |
|
||||
In order to test the flow, I create a two new users "user_crm" and
|
||||
I assign the group "salesman".
|
||||
I create a two new users "user_crm" and I assign the group "salesman".
|
||||
-
|
||||
!record {model: res.users, id: res_users_usercrm0}:
|
||||
company_id: base.main_company
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -8,19 +8,19 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 10:47+0000\n"
|
||||
"Last-Translator: qdp (OpenERP) <qdp-launchpad@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2011-10-06 14:03+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian <sr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-09-05 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-07 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 14085)\n"
|
||||
|
||||
#. module: crm_caldav
|
||||
#: model:ir.actions.act_window,name:crm_caldav.action_caldav_browse
|
||||
msgid "Caldav Browse"
|
||||
msgstr ""
|
||||
msgstr "Pretraži CalDav"
|
||||
|
||||
#. module: crm_caldav
|
||||
#: model:ir.model,name:crm_caldav.model_crm_meeting
|
||||
@@ -30,7 +30,7 @@ msgstr "Sastanak"
|
||||
#. module: crm_caldav
|
||||
#: model:ir.module.module,shortdesc:crm_caldav.module_meta_information
|
||||
msgid "Extended Module to Add CalDav feature on Meeting"
|
||||
msgstr ""
|
||||
msgstr "Produženi modul za dodavanje CalDav funkcije u sastancima"
|
||||
|
||||
#. module: crm_caldav
|
||||
#: model:ir.module.module,description:crm_caldav.module_meta_information
|
||||
@@ -39,8 +39,11 @@ msgid ""
|
||||
" New Features in Meeting:\n"
|
||||
" * Share meeting with other calendar clients like sunbird\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Nove funkcije u sastancima\n"
|
||||
" *Podeli sastanke s drugim kalendarskim klijentima poput sunbird-a\n"
|
||||
|
||||
#. module: crm_caldav
|
||||
#: model:ir.ui.menu,name:crm_caldav.menu_caldav_browse
|
||||
msgid "Synchronyze this calendar"
|
||||
msgstr ""
|
||||
msgstr "Sinhronisanje ovog kalendara"
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -8,30 +8,30 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 16:14+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-10-06 14:01+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-09-05 05:47+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-07 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 14085)\n"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: field:decimal.precision,digits:0
|
||||
msgid "Digits"
|
||||
msgstr "Brojevi"
|
||||
msgstr "Cifara"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: view:decimal.precision:0
|
||||
msgid "Decimal Precision"
|
||||
msgstr "Decimalna Preiznost"
|
||||
msgstr "Decimalna preciznost"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: model:ir.actions.act_window,name:decimal_precision.action_decimal_precision_form
|
||||
#: model:ir.ui.menu,name:decimal_precision.menu_decimal_precision_form
|
||||
msgid "Decimal Accuracy Definitions"
|
||||
msgstr "Definicija Decimalne Preciznosti"
|
||||
msgstr "Definicije decimalne preciznosti"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: model:ir.module.module,description:decimal_precision.module_meta_information
|
||||
@@ -44,26 +44,26 @@ msgid ""
|
||||
"The decimal precision is configured per company.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Ovaj modul vam omogucava za zaokruzujete cene na potrebne vrednosti za "
|
||||
"nekoliko nacina\n"
|
||||
"koriscenja: Racunanje, prodaja, nabavka ...\n"
|
||||
"Ovaj modul Vam omogućava podešavanje preciznosti cena za različite načine\n"
|
||||
"upotrebe: računanje, prodaja, nabavka ... \n"
|
||||
"\n"
|
||||
"Preciznost definisete za celo preduzece.\n"
|
||||
"Preciznost je definisana po pojedinačnom preduzeću.\n"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: field:decimal.precision,name:0
|
||||
msgid "Usage"
|
||||
msgstr "Koriscenje"
|
||||
msgstr "Upotreba"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: sql_constraint:decimal.precision:0
|
||||
msgid "Only one value can be defined for each given usage!"
|
||||
msgstr ""
|
||||
"Samo jedna vrednost može biti definisana za svaku pojedinačnu upotrebu!"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: model:ir.module.module,shortdesc:decimal_precision.module_meta_information
|
||||
msgid "Decimal Precision Configuration"
|
||||
msgstr "Podesavanje Decimalne Preciznosti"
|
||||
msgstr "Podešavanje decimalne preciznosti"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: model:ir.model,name:decimal_precision.model_decimal_precision
|
||||
|
||||
@@ -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
|
||||
=============================================
|
||||
|
||||
@@ -25,6 +25,14 @@ from imaplib import IMAP4
|
||||
from imaplib import IMAP4_SSL
|
||||
from poplib import POP3
|
||||
from poplib import POP3_SSL
|
||||
try:
|
||||
import cStringIO as StringIO
|
||||
except ImportError:
|
||||
import StringIO
|
||||
|
||||
import zipfile
|
||||
import base64
|
||||
import addons
|
||||
|
||||
import netsvc
|
||||
from osv import osv, fields
|
||||
@@ -46,11 +54,12 @@ class fetchmail_server(osv.osv):
|
||||
('draft', 'Not Confirmed'),
|
||||
('done', 'Confirmed'),
|
||||
], 'State', select=True, readonly=True),
|
||||
'server' : fields.char('Server Name', size=256, required=True, readonly=True, help="Hostname or IP of the mail server", states={'draft':[('readonly', False)]}),
|
||||
'port' : fields.integer('Port', required=True, readonly=True, states={'draft':[('readonly', False)]}),
|
||||
'server' : fields.char('Server Name', size=256, readonly=True, help="Hostname or IP of the mail server", states={'draft':[('readonly', False)]}),
|
||||
'port' : fields.integer('Port', readonly=True, states={'draft':[('readonly', False)]}),
|
||||
'type':fields.selection([
|
||||
('pop', 'POP Server'),
|
||||
('imap', 'IMAP Server'),
|
||||
('local', 'Local Server'),
|
||||
], 'Server Type', select=True, required=True, readonly=False),
|
||||
'is_ssl':fields.boolean('SSL/TLS', help="Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP3S=995)"),
|
||||
'attach':fields.boolean('Keep Attachments', help="Whether attachments should be downloaded. "
|
||||
@@ -58,8 +67,8 @@ class fetchmail_server(osv.osv):
|
||||
'original':fields.boolean('Keep Original', help="Whether a full original copy of each email should be kept for reference"
|
||||
"and attached to each processed message. This will usually double the size of your message database."),
|
||||
'date': fields.datetime('Last Fetch Date', readonly=True),
|
||||
'user' : fields.char('Username', size=256, required=True, readonly=True, states={'draft':[('readonly', False)]}),
|
||||
'password' : fields.char('Password', size=1024, required=True, readonly=True, states={'draft':[('readonly', False)]}),
|
||||
'user' : fields.char('Username', size=256, readonly=True, states={'draft':[('readonly', False)]}),
|
||||
'password' : fields.char('Password', size=1024, readonly=True, states={'draft':[('readonly', False)]}),
|
||||
'action_id':fields.many2one('ir.actions.server', 'Server Action', help="Optional custom server action to trigger for each incoming mail, "
|
||||
"on the record that was created or updated by this mail"),
|
||||
'object_id': fields.many2one('ir.model', "Create a New Record", required=True, help="Process each incoming mail as part of a conversation "
|
||||
@@ -69,6 +78,8 @@ class fetchmail_server(osv.osv):
|
||||
'priority': fields.integer('Server Priority', readonly=True, states={'draft':[('readonly', False)]}, help="Defines the order of processing, "
|
||||
"lower values mean higher priority"),
|
||||
'message_ids': fields.one2many('mail.message', 'fetchmail_server_id', 'Messages', readonly=True),
|
||||
'configuration' : fields.text('Configuration'),
|
||||
'script' : fields.char('Script', readonly=True, size=64),
|
||||
}
|
||||
_defaults = {
|
||||
'state': "draft",
|
||||
@@ -76,31 +87,36 @@ class fetchmail_server(osv.osv):
|
||||
'active': True,
|
||||
'priority': 5,
|
||||
'attach': True,
|
||||
'script': '/mail/static/scripts/openerp_mailgate.py',
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
result = super(fetchmail_server, self).default_get(cr, uid, fields, context=context)
|
||||
|
||||
model = context.pop('fetchmail_model', False) or False
|
||||
|
||||
if isinstance(model, basestring):
|
||||
model_id = self.pool.get('ir.model').search(cr, uid, [('model', '=', model)], context=context)
|
||||
result.update(
|
||||
object_id = model_id[0],
|
||||
)
|
||||
|
||||
return result
|
||||
|
||||
def onchange_server_type(self, cr, uid, ids, server_type=False, ssl=False):
|
||||
def onchange_server_type(self, cr, uid, ids, server_type=False, ssl=False, object_id=False):
|
||||
port = 0
|
||||
values = {}
|
||||
if server_type == 'pop':
|
||||
port = ssl and 995 or 110
|
||||
elif server_type == 'imap':
|
||||
port = ssl and 993 or 143
|
||||
return {'value':{'port':port}}
|
||||
else:
|
||||
values['server'] = ''
|
||||
values['port'] = port
|
||||
|
||||
conf = {
|
||||
'dbname' : cr.dbname,
|
||||
'uid' : uid,
|
||||
'model' : 'MODELNAME',
|
||||
}
|
||||
if object_id:
|
||||
m = self.pool.get('ir.model')
|
||||
r = m.read(cr,uid,[object_id],['model'])
|
||||
conf['model']=r[0]['model']
|
||||
values['configuration'] = """Use the below script with the following command line options with your Mail Transport Agent (MTA)
|
||||
|
||||
openerp_mailgate.py -u %(uid)d -p PASSWORD -o %(model)s -d %(dbname)s --host=HOSTNAME --port=PORT
|
||||
""" % conf
|
||||
|
||||
return {'value':values}
|
||||
|
||||
def set_draft(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids , {'state':'draft'})
|
||||
|
||||
@@ -25,29 +25,34 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Incoming Mail Server">
|
||||
<group col="6" colspan="4">
|
||||
<group colspan="4" col="6">
|
||||
<field name="name" select="1"/>
|
||||
<field name="type" select="1" on_change="onchange_server_type(type, is_ssl)"/>
|
||||
<field name="type" select="1" on_change="onchange_server_type(type, is_ssl, object_id)"/>
|
||||
<field name="date" select="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Server & Login">
|
||||
<group col="4" colspan="2">
|
||||
<group col="4" colspan="2" attrs="{'invisible' : [('type', '=', 'local')]}">
|
||||
<separator string="Server Information" colspan="2"/>
|
||||
<field name="server" colspan="4"/>
|
||||
<field name="port" />
|
||||
<field name="server" colspan="4" attrs="{'required' : [('type', '!=', 'local')]}" />
|
||||
<field name="port" required="1" attrs="{'required' : [('type', '!=', 'local')]}" />
|
||||
<field name="is_ssl" select="1" on_change="onchange_server_type(type, is_ssl)"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<group col="2" colspan="2" attrs="{'invisible' : [('type', '=', 'local')]}">
|
||||
<separator string="Login Information" colspan="2"/>
|
||||
<field name="user" />
|
||||
<field name="password" password="True" />
|
||||
<field name="user" attrs="{'required' : [('type', '!=', 'local')]}"/>
|
||||
<field name="password" password="True" attrs="{'required' : [('type', '!=', 'local')]}"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Actions to Perform on Incoming Mails" colspan="2"/>
|
||||
<field name="object_id"/>
|
||||
<field name="object_id" on_change="onchange_server_type(type, is_ssl, object_id)"/>
|
||||
<field name="action_id" groups="base.group_extended"/>
|
||||
</group>
|
||||
<group attrs="{'invisible' : [('type', '!=', 'local')]}" colspan="4" col="4">
|
||||
<separator string="Configuration" colspan="4"/>
|
||||
<field name="configuration" colspan="4"/>
|
||||
<field name="script" colspan="4" widget="url"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Advanced" groups="base.group_extended">
|
||||
<group colspan="2" col="2">
|
||||
@@ -59,7 +64,7 @@
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="6" colspan="4">
|
||||
<group colspan="4" col="6" attrs="{'invisible' : [('type', '=', 'local')]}">
|
||||
<field name="state"/>
|
||||
<button string="Reset Confirmation" type="object" name="set_draft" icon="gtk-convert" states="done"/>
|
||||
<button string="Test & Confirm" type="object" name="button_confirm_login" states="draft" icon="gtk-apply"/>
|
||||
|
||||
@@ -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.
|
||||
====================================================
|
||||
|
||||
@@ -8,26 +8,26 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 16:09+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-10-06 13:57+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-09-05 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 13830)\n"
|
||||
"X-Launchpad-Export-Date: 2011-10-07 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 14085)\n"
|
||||
|
||||
#. module: google_map
|
||||
#: view:res.partner:0
|
||||
#: view:res.partner.address:0
|
||||
msgid "Map"
|
||||
msgstr "mapa"
|
||||
msgstr "Karta"
|
||||
|
||||
#. module: google_map
|
||||
#: view:res.partner:0
|
||||
#: view:res.partner.address:0
|
||||
msgid "Street2 : "
|
||||
msgstr "Ulica2 "
|
||||
msgstr "Ulica2 : "
|
||||
|
||||
#. module: google_map
|
||||
#: model:ir.actions.wizard,name:google_map.wizard_google_map
|
||||
@@ -41,19 +41,19 @@ msgid ""
|
||||
"so that we can directly open google map from the\n"
|
||||
"url widget."
|
||||
msgstr ""
|
||||
"Ovaj Modul ubacuje sliku google map u partnerovoj adresi\n"
|
||||
"tako da mozemo direktno da otvorimo google map iz tog\n"
|
||||
"prozora."
|
||||
"Ovaj Modul dodaje google map polje u partnerovoj adresi\n"
|
||||
"tako da možemo direktno otvoriti google map iz\n"
|
||||
"url vidžeta."
|
||||
|
||||
#. module: google_map
|
||||
#: model:ir.module.module,shortdesc:google_map.module_meta_information
|
||||
msgid "Google Map"
|
||||
msgstr ""
|
||||
msgstr "Google Map"
|
||||
|
||||
#. module: google_map
|
||||
#: model:ir.model,name:google_map.model_res_partner_address
|
||||
msgid "Partner Addresses"
|
||||
msgstr "Adresa Partnera"
|
||||
msgstr "Partnerove adrese"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Nevažeći XML za pregled arhitekture"
|
||||
|
||||
@@ -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",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user