[MERGE]: Merge with lp:openobject-addons
bzr revid: rpa@tinyerp.com-20100330113004-bbt7q33gr5n6lc6g bzr revid: rpa@tinyerp.com-20100331062815-fagu2jvqh3z0xtre bzr revid: rpa@tinyerp.com-20100401054503-f14hbpyz7c5sm34m
This commit is contained in:
commit
51e47526d3
|
@ -65,7 +65,7 @@ class wizard_analytic_account_chart(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch':_account_chart_arch, 'fields':_account_chart_fields, 'state': [('end', 'Cancel'), ('open', 'Open Charts')]}
|
||||
'result': {'type': 'form', 'arch':_account_chart_arch, 'fields':_account_chart_fields, 'state': [('end', 'Cancel', 'gtk-cancel'), ('open', 'Open Charts', 'gtk-ok')]}
|
||||
},
|
||||
'open': {
|
||||
'actions': [],
|
||||
|
|
|
@ -24,7 +24,7 @@ import pooler
|
|||
|
||||
class wizard_account_chart(wizard.interface):
|
||||
_account_chart_arch = '''<?xml version="1.0"?>
|
||||
<form string="Account charts">
|
||||
<form string="Open account charts">
|
||||
<field name="fiscalyear"/>
|
||||
<label align="0.7" colspan="6" string="(If you do not select Fiscal year it will take all open fiscal years)"/>
|
||||
<field name="target_move"/>
|
||||
|
@ -67,7 +67,7 @@ class wizard_account_chart(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [_get_defaults],
|
||||
'result': {'type': 'form', 'arch':_account_chart_arch, 'fields':_account_chart_fields, 'state': [('end', 'Cancel'), ('open', 'Open Charts')]}
|
||||
'result': {'type': 'form', 'arch':_account_chart_arch, 'fields':_account_chart_fields, 'state': [('end', 'Cancel', 'gtk-cancel'), ('open', 'Open', 'gtk-ok')]}
|
||||
},
|
||||
'open': {
|
||||
'actions': [],
|
||||
|
|
|
@ -40,7 +40,7 @@ class wizard_account_duplicate(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': duplicate_form, 'fields': duplicate_fields, 'state': (('end', 'Cancel'), ('duplicate', 'Duplicate'))},
|
||||
'result': {'type': 'form', 'arch': duplicate_form, 'fields': duplicate_fields, 'state': (('end', 'Cancel', 'gtk-cancel'), ('duplicate', 'Duplicate', 'gtk-ok'))},
|
||||
},
|
||||
'duplicate': {
|
||||
'actions': [_do_duplicate],
|
||||
|
|
|
@ -28,7 +28,7 @@ from mx.DateTime import *
|
|||
from tools.translate import _
|
||||
|
||||
_aged_trial_form = """<?xml version="1.0"?>
|
||||
<form string="Aged Trial Balance">
|
||||
<form string="Print Aged Trial Balance">
|
||||
<field name="company_id"/>
|
||||
<newline/>
|
||||
<field name="date1"/>
|
||||
|
@ -101,7 +101,7 @@ class wizard_report(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [_get_defaults],
|
||||
'result': {'type':'form', 'arch':_aged_trial_form, 'fields':_aged_trial_fields, 'state':[('end','Cancel'),('print','Print Aged Trial Balance')]},
|
||||
'result': {'type':'form', 'arch':_aged_trial_form, 'fields':_aged_trial_fields, 'state':[('end','Cancel', 'gtk-cancel'),('print','Print', 'gtk-ok')]},
|
||||
},
|
||||
'print': {
|
||||
'actions': [_calc_dates],
|
||||
|
|
|
@ -312,7 +312,7 @@ class wiz_reconcile(wizard.interface):
|
|||
},
|
||||
'reconcile': {
|
||||
'actions': [_reconcile],
|
||||
'result': {'type':'form', 'arch':_result_form, 'fields':_result_fields, 'state':[('end','OK')]}
|
||||
'result': {'type':'form', 'arch':_result_form, 'fields':_result_fields, 'state':[('end','OK', 'gtk-cancel')]}
|
||||
}
|
||||
}
|
||||
wiz_reconcile('account.automatic.reconcile')
|
||||
|
|
|
@ -59,7 +59,7 @@ class wizard_print_journal(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel'), ('print', 'Print'))},
|
||||
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel', 'gtk-cancel'), ('print', 'Print', 'gtk-ok'))},
|
||||
},
|
||||
'print': {
|
||||
'actions': [_check_data],
|
||||
|
|
|
@ -92,7 +92,7 @@ class wizard_change_currency(wizard.interface):
|
|||
},
|
||||
'change': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel'), ('next', 'Change Currency'))},
|
||||
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel', 'gtk-cancel'), ('next', 'Change Currency', 'gtk-go-forward'))},
|
||||
},
|
||||
'next': {
|
||||
'actions': [_change_currency],
|
||||
|
@ -100,7 +100,7 @@ class wizard_change_currency(wizard.interface):
|
|||
},
|
||||
'message': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': message, 'fields': {}, 'state': [('end', 'Ok')]},
|
||||
'result': {'type': 'form', 'arch': message, 'fields': {}, 'state': [('end', 'Ok', 'gtk-cancel')]},
|
||||
},
|
||||
}
|
||||
wizard_change_currency('account.invoice.currency_change')
|
||||
|
|
|
@ -146,7 +146,7 @@ class wizard_report(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [_get_defaults],
|
||||
'result': {'type':'form', 'arch':dates_form, 'fields':dates_fields, 'state':[('end','Cancel'),('checkyear','Print')]}
|
||||
'result': {'type':'form', 'arch':dates_form, 'fields':dates_fields, 'state':[('end','Cancel', 'gtk-cancel'),('checkyear','Print', 'gtk-ok')]}
|
||||
},
|
||||
'backtoinit': {
|
||||
'actions': [],
|
||||
|
|
|
@ -214,7 +214,7 @@ class wiz_journal_close(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [_data_load],
|
||||
'result': {'type': 'form', 'arch':_transaction_form, 'fields':_transaction_fields, 'state':[('end','Cancel'),('close','Create entries')]}
|
||||
'result': {'type': 'form', 'arch':_transaction_form, 'fields':_transaction_fields, 'state':[('end','Cancel', 'gtk-cancel'),('close','Create', 'gtk-ok')]}
|
||||
},
|
||||
'close': {
|
||||
'actions': [_data_save],
|
||||
|
|
|
@ -57,7 +57,7 @@ class wiz_journal_close_state(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch':_transaction_form, 'fields':_transaction_fields, 'state':[('end','Cancel'),('close','Close states')]}
|
||||
'result': {'type': 'form', 'arch':_transaction_form, 'fields':_transaction_fields, 'state':[('end','Cancel', 'gtk-cancel'),('close','Close states', 'gtk-ok')]}
|
||||
},
|
||||
'close': {
|
||||
'actions': [_data_save],
|
||||
|
|
|
@ -57,7 +57,7 @@ class wizard_print_journal(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel'), ('print', 'Print'))},
|
||||
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel', 'gtk-cancel'), ('print', 'Print', 'gtk-ok'))},
|
||||
},
|
||||
'print': {
|
||||
'actions': [_check_data],
|
||||
|
|
|
@ -63,7 +63,7 @@ class open_closed_fiscal(wizard.interface):
|
|||
'type': 'form',
|
||||
'arch': form,
|
||||
'fields': fields,
|
||||
'state':[('end','Cancel'),('open','Open')]
|
||||
'state':[('end','Cancel', 'gtk-cancel'),('open','Open', 'gtk-ok')]
|
||||
}
|
||||
},
|
||||
'open': {
|
||||
|
|
|
@ -43,7 +43,7 @@ class wiz_journal_close(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch':_transaction_form, 'fields':_transaction_fields, 'state':[('end','Cancel'),('close','Close Period')]}
|
||||
'result': {'type': 'form', 'arch':_transaction_form, 'fields':_transaction_fields, 'state':[('end','Cancel', 'gtk-cancel'),('close','Close Period', 'gtk-ok')]}
|
||||
},
|
||||
'close': {
|
||||
'actions': [_data_save],
|
||||
|
|
|
@ -66,7 +66,7 @@ class wizard_print_journal(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel'), ('print', 'Print'))},
|
||||
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel', 'gtk-cancel'), ('print', 'Print', 'gtk-ok'))},
|
||||
},
|
||||
'print': {
|
||||
'actions': [_check_data],
|
||||
|
|
|
@ -176,8 +176,8 @@ class PopulateStatementFromInv(wizard.interface):
|
|||
'arch': FORM,
|
||||
'fields': FIELDS,
|
||||
'state': [
|
||||
('end', '_Cancel','', True),
|
||||
('finish', 'O_k','', True)
|
||||
('end', '_Cancel','', True, 'gtk-cancel'),
|
||||
('finish', 'O_k','', True, 'gtk-ok')
|
||||
]
|
||||
},
|
||||
},
|
||||
|
|
|
@ -47,7 +47,7 @@ class wiz_subscription(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch':_subscription_form, 'fields':_subscription_fields, 'state':[('end','Cancel'),('generate','Compute Entry Dates')]}
|
||||
'result': {'type': 'form', 'arch':_subscription_form, 'fields':_subscription_fields, 'state':[('end','Cancel', 'gtk-cancel'),('generate','Compute', 'gtk-ok')]}
|
||||
},
|
||||
'generate': {
|
||||
'actions': [_action_generate],
|
||||
|
|
|
@ -69,8 +69,8 @@ class wizard_report(wizard.interface):
|
|||
'arch': dates_form,
|
||||
'fields': dates_fields,
|
||||
'state': [
|
||||
('end', 'Cancel'),
|
||||
('report', 'Print VAT Decl.')
|
||||
('end', 'Cancel', 'gtk-cancel'),
|
||||
('report', 'Print VAT Decl.', 'gtk-ok')
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -404,7 +404,6 @@ class sale_order_line(osv.osv):
|
|||
|
||||
if rec:
|
||||
pool_inv_line.write(cr, uid, [line.id], {'analytics_id':rec.analytics_id.id}, context=context)
|
||||
cr.commit()
|
||||
return create_ids
|
||||
|
||||
sale_order_line()
|
||||
|
|
|
@ -7,16 +7,16 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-04-10 14:08+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"PO-Revision-Date: 2010-03-30 10:18+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 04:16+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_chart
|
||||
#: model:ir.module.module,description:account_chart.module_meta_information
|
||||
msgid "Remove minimal account chart"
|
||||
msgstr ""
|
||||
msgstr "Удалите минимальный план счетов"
|
||||
|
|
|
@ -609,7 +609,6 @@ are both optional, but if one occurs, so MUST the other"""),
|
|||
cr.execute('Update %s set base_calendar_alarm_id=%s, alarm_id=%s \
|
||||
where id=%s' % (model_obj._table, \
|
||||
alarm_id, basic_alarm.id, data.id))
|
||||
cr.commit()
|
||||
return True
|
||||
|
||||
def do_alarm_unlink(self, cr, uid, ids, model, context={}):
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 13:01+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-03-30 19:31+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 03:59+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_contact
|
||||
|
@ -37,7 +37,7 @@ msgstr ""
|
|||
#. module: base_contact
|
||||
#: field:res.partner.job,function_id:0
|
||||
msgid "Partner Function"
|
||||
msgstr ""
|
||||
msgstr "Функция ня партньора"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
|
||||
|
@ -57,12 +57,12 @@ msgstr ""
|
|||
#. module: base_contact
|
||||
#: selection:res.partner.job,state:0
|
||||
msgid "Current"
|
||||
msgstr ""
|
||||
msgstr "Текущ"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,first_name:0
|
||||
msgid "First Name"
|
||||
msgstr "Собствено име"
|
||||
msgstr "Собствено Име"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.model,name:base_contact.model_res_partner_job
|
||||
|
@ -72,7 +72,7 @@ msgstr ""
|
|||
#. module: base_contact
|
||||
#: field:res.partner.job,other:0
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "Друго"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
|
||||
|
@ -286,7 +286,7 @@ msgstr ""
|
|||
#. module: base_contact
|
||||
#: model:process.node,name:base_contact.process_node_partners0
|
||||
msgid "Partners"
|
||||
msgstr ""
|
||||
msgstr "Партньори"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,name:base_contact.process_node_addresses0
|
||||
|
|
|
@ -60,7 +60,6 @@ class report_xml(osv.osv):
|
|||
'report_sxw_content': base64.decodestring(file_sxw),
|
||||
'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())),
|
||||
})
|
||||
cr.commit()
|
||||
db = pooler.get_db_only(cr.dbname)
|
||||
interface.register_all(db)
|
||||
return True
|
||||
|
|
|
@ -81,13 +81,11 @@ class board_board(osv.osv):
|
|||
@return: True
|
||||
"""
|
||||
result = super(board_board, self).write(cr, uid, ids, vals, context)
|
||||
cr.commit()
|
||||
|
||||
board = self.pool.get('board.board').browse(cr, uid, ids[0])
|
||||
view = self.create_view(cr, uid, ids[0], context)
|
||||
id = board.view_id.id
|
||||
cr.execute("update ir_ui_view set arch=%s where id=%s", (view, id))
|
||||
cr.commit()
|
||||
return result
|
||||
|
||||
def create(self, cr, user, vals, context=None):
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 12:16+0000\n"
|
||||
"Last-Translator: Sergei Kostigoff <sergei.kostigoff@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-03-30 10:23+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 04:12+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: board_account
|
||||
|
@ -57,12 +57,12 @@ msgstr "Расходы для выставления счетов"
|
|||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "Aged receivables"
|
||||
msgstr ""
|
||||
msgstr "Повременный расход"
|
||||
|
||||
#. module: board_account
|
||||
#: model:ir.module.module,shortdesc:board_account.module_meta_information
|
||||
msgid "Board for accountant"
|
||||
msgstr ""
|
||||
msgstr "Панель контролёра счетов"
|
||||
|
||||
#. module: board_account
|
||||
#: model:ir.actions.act_window,name:board_account.action_aged_income
|
||||
|
@ -77,7 +77,7 @@ msgstr "Мои индикаторы"
|
|||
#. module: board_account
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Недопустимое имя модели в определении действия"
|
||||
|
||||
#. module: board_account
|
||||
#: model:ir.ui.menu,name:board_account.next_id_68
|
||||
|
@ -87,9 +87,9 @@ msgstr "Бухгалтерский"
|
|||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "Account Board"
|
||||
msgstr ""
|
||||
msgstr "Панель счетов"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "Aged income"
|
||||
msgstr ""
|
||||
msgstr "Повременный доход"
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 12:27+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-03-30 10:26+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 04:00+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: board_project
|
||||
|
@ -30,7 +30,7 @@ msgstr "Табели"
|
|||
#. module: board_project
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Недопустимое имя модели в определении действия"
|
||||
|
||||
#. module: board_project
|
||||
#: view:board.board:0
|
||||
|
@ -63,7 +63,7 @@ msgstr "Панель аналитики проекта"
|
|||
#. module: board_project
|
||||
#: model:ir.module.module,shortdesc:board_project.module_meta_information
|
||||
msgid "Board for project users"
|
||||
msgstr ""
|
||||
msgstr "Панель для пользователей проекта"
|
||||
|
||||
#. module: board_project
|
||||
#: model:ir.actions.act_window,name:board_project.action_project_pipeline_user
|
||||
|
@ -73,7 +73,7 @@ msgstr "Конвейер заданий"
|
|||
#. module: board_project
|
||||
#: view:board.board:0
|
||||
msgid "My Planning"
|
||||
msgstr ""
|
||||
msgstr "Мой план"
|
||||
|
||||
#. module: board_project
|
||||
#: view:board.board:0
|
||||
|
@ -136,4 +136,4 @@ msgstr "Мои конвейеры пользователей"
|
|||
#. module: board_project
|
||||
#: view:board.board:0
|
||||
msgid "My Timesheet"
|
||||
msgstr ""
|
||||
msgstr "Мой табель"
|
||||
|
|
|
@ -45,13 +45,6 @@ AVAILABLE_PRIORITIES = [
|
|||
('1', 'Highest')
|
||||
]
|
||||
|
||||
icon_lst = {
|
||||
'form': 'STOCK_NEW',
|
||||
'tree': 'STOCK_JUSTIFY_FILL',
|
||||
'calendar': 'STOCK_SELECT_COLOR'
|
||||
}
|
||||
|
||||
|
||||
class crm_case_section(osv.osv):
|
||||
""" Cases Section"""
|
||||
|
||||
|
@ -510,34 +503,8 @@ class crm_case(osv.osv):
|
|||
s[section] = dict([(v, k) for (k, v) in s[section].iteritems()])
|
||||
if st in s[section]:
|
||||
self.write(cr, uid, [case.id], {'stage_id': s[section][st]})
|
||||
return True
|
||||
|
||||
def onchange_case_id(self, cr, uid, ids, case_id, name, partner_id, context={}):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of case’s IDs
|
||||
@partner_id: Get Partner Id
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
if not case_id:
|
||||
return {}
|
||||
case = self.browse(cr, uid, case_id, context=context)
|
||||
value = {}
|
||||
if not name:
|
||||
value['name'] = case.name
|
||||
|
||||
if (not partner_id) and case.partner_id:
|
||||
value['partner_id'] = case.partner_id.id
|
||||
|
||||
if case.partner_address_id:
|
||||
value['partner_address_id'] = case.partner_address_id.id
|
||||
if case.email_from:
|
||||
value['email_from'] = case.email_from
|
||||
return {'value': value}
|
||||
|
||||
return True
|
||||
|
||||
def history(self, cr, uid, ids, keyword, history=False, email=False, details=None, context={}):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
|
@ -551,7 +518,7 @@ class crm_case(osv.osv):
|
|||
history=history, email=email, details=details, \
|
||||
context=context)
|
||||
|
||||
def __history(self, cr, uid, cases, keyword, history=False, email=False, details=None, context={}):
|
||||
def __history(self, cr, uid, cases, keyword, history=False, email=False, details=None, email_from=False, context={}):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -577,10 +544,15 @@ class crm_case(osv.osv):
|
|||
if history:
|
||||
obj = self.pool.get('crm.case.history')
|
||||
data['description'] = details or case.description
|
||||
data['email'] = email or False
|
||||
data['email_from'] = (case.user_id and case.user_id.address_id and \
|
||||
data['email_to'] = email or \
|
||||
(case.section_id and case.section_id.reply_to) or \
|
||||
(case.user_id and case.user_id.address_id and \
|
||||
case.user_id.address_id.email) or tools.config.get('email_from',False)
|
||||
res = obj.create(cr, uid, data, context)
|
||||
data['email_from'] = email_from or \
|
||||
(case.section_id and case.section_id.reply_to) or \
|
||||
(case.user_id and case.user_id.address_id and \
|
||||
case.user_id.address_id.email) or tools.config.get('email_from',False)
|
||||
res = obj.create(cr, uid, data, context)
|
||||
return True
|
||||
_history = __history
|
||||
|
||||
|
@ -659,9 +631,7 @@ class crm_case(osv.osv):
|
|||
self.__history(cr, uid, cases, _('Send'), history=True, email=False)
|
||||
for case in cases:
|
||||
self.write(cr, uid, [case.id], {
|
||||
'description': False,
|
||||
'som': False,
|
||||
'canal_id': False,
|
||||
'description': False,
|
||||
})
|
||||
emails = [case.email_from] + (case.email_cc or '').split(',')
|
||||
emails = filter(None, emails)
|
||||
|
@ -682,6 +652,7 @@ class crm_case(osv.osv):
|
|||
reply_to = case.section_id.reply_to,
|
||||
openobject_id = str(case.id)
|
||||
)
|
||||
self.__history(cr, uid, [case], _('Send'), history=True, email=emails, details=body, email_from=emailfrom)
|
||||
return True
|
||||
|
||||
def onchange_partner_id(self, cr, uid, ids, part, email=False):
|
||||
|
@ -845,10 +816,8 @@ class crm_case_log(osv.osv):
|
|||
|
||||
_order = "id desc"
|
||||
_columns = {
|
||||
'name': fields.char('Status', size=64),
|
||||
'som': fields.many2one('res.partner.som', 'State of Mind'),
|
||||
'name': fields.char('Status', size=64),
|
||||
'date': fields.datetime('Date'),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel'),
|
||||
'section_id': fields.many2one('crm.case.section', 'Section'),
|
||||
'user_id': fields.many2one('res.users', 'User Responsible', readonly=True),
|
||||
'model_id': fields.many2one('ir.model', "Model"),
|
||||
|
@ -885,11 +854,11 @@ class crm_case_history(osv.osv):
|
|||
return res
|
||||
|
||||
_columns = {
|
||||
'description': fields.text('Description'),
|
||||
'note': fields.function(_note_get, method=True, string="Description", type="text"),
|
||||
'email': fields.char('Email', size=84),
|
||||
'email_from' : fields.char('From Email', size=84),
|
||||
'log_id': fields.many2one('crm.case.log', 'Log', ondelete='cascade'),
|
||||
'description': fields.text('Description'),
|
||||
'note': fields.function(_note_get, method=True, string="Description", type="text"),
|
||||
'email_to': fields.char('Email TO', size=84),
|
||||
'email_from' : fields.char('Email From', size=84),
|
||||
'log_id': fields.many2one('crm.case.log','Log',ondelete='cascade'),
|
||||
}
|
||||
|
||||
crm_case_history()
|
||||
|
|
|
@ -76,11 +76,14 @@ class case(osv.osv):
|
|||
if case.section_id.reply_to and case.email_from:
|
||||
src = case.email_from
|
||||
dest = case.section_id.reply_to
|
||||
body = case.email_last or case.description
|
||||
body = ""
|
||||
body = case.email_last or case.description
|
||||
if not destination:
|
||||
src, dest = dest, src
|
||||
if case.user_id.signature:
|
||||
body += '\n\n%s' % (case.user_id.signature or '')
|
||||
if body and case.user_id.signature:
|
||||
body += '\n\n%s' % (case.user_id.signature)
|
||||
|
||||
body = self.format_body(body)
|
||||
dest = [dest]
|
||||
|
||||
attach_to_send = None
|
||||
|
@ -95,16 +98,17 @@ class case(osv.osv):
|
|||
src,
|
||||
dest,
|
||||
"Reminder: [%s] %s" % (str(case.id), case.name, ),
|
||||
self.format_body(body),
|
||||
body,
|
||||
reply_to=case.section_id.reply_to,
|
||||
openobject_id=str(case.id),
|
||||
attach=attach_to_send
|
||||
)
|
||||
if flag:
|
||||
raise osv.except_osv(_('Email!'),("Email Successfully Sent"))
|
||||
else:
|
||||
raise osv.except_osv(_('Email Fail!'),("Email is not sent successfully"))
|
||||
return True
|
||||
self._history(cr, uid, [case], _('Send'), history=True, email=dest, details=body, email_from=src)
|
||||
#if flag:
|
||||
# raise osv.except_osv(_('Email!'),("Email Successfully Sent"))
|
||||
#else:
|
||||
# raise osv.except_osv(_('Email Fail!'),("Email is not sent successfully"))
|
||||
return True
|
||||
|
||||
def _check(self, cr, uid, ids=False, context={}):
|
||||
"""
|
||||
|
@ -149,6 +153,23 @@ class base_action_rule(osv.osv):
|
|||
_inherit = 'base.action.rule'
|
||||
_description = 'Action Rules'
|
||||
|
||||
def email_send(self, cr, uid, obj, emails, body, emailfrom=tools.config.get('email_from',False), context={}):
|
||||
body = self.format_mail(obj, body)
|
||||
if not emailfrom:
|
||||
if hasattr(obj, 'user_id') and obj.user_id and obj.user_id.address_id and obj.user_id.address_id.email:
|
||||
emailfrom = obj.user_id.address_id.email
|
||||
|
||||
name = '[%d] %s' % (obj.id, tools.ustr(obj.name))
|
||||
emailfrom = tools.ustr(emailfrom)
|
||||
if hasattr(obj, 'section_id') and obj.section_id and obj.section_id.reply_to:
|
||||
reply_to = obj.section_id.reply_to
|
||||
else:
|
||||
reply_to = emailfrom
|
||||
if not emailfrom:
|
||||
raise osv.except_osv(_('Error!'),
|
||||
_("No E-Mail ID Found for your Company address!"))
|
||||
return tools.email_send(emailfrom, emails, name, body, reply_to=reply_to, openobject_id=str(obj.id))
|
||||
|
||||
def do_check(self, cr, uid, action, obj, context={}):
|
||||
|
||||
""" @param self: The object pointer
|
||||
|
@ -185,8 +206,8 @@ class base_action_rule(osv.osv):
|
|||
|
||||
res = super(base_action_rule, self).do_action(cr, uid, action, model_obj, obj, context=context)
|
||||
write = {}
|
||||
|
||||
if action.act_section_id:
|
||||
|
||||
if hasattr(action, act_section_id) and action.act_section_id:
|
||||
obj.section_id = action.act_section_id
|
||||
write['section_id'] = action.act_section_id.id
|
||||
|
||||
|
|
|
@ -161,9 +161,7 @@
|
|||
<separator string="Action Information" colspan="4"/>
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="date"/>
|
||||
<field name="user_id"/>
|
||||
<field name="som"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="user_id"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
|
@ -175,33 +173,32 @@
|
|||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4"
|
||||
nolabel="1" widget="text_tag" readonly="1" />
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(crm.action_crm_reply_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.claim'}" icon="gtk-undo"
|
||||
type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.claim'}" icon="gtk-go-forward"
|
||||
type="action" />
|
||||
</page>
|
||||
<field name="email_to"/>
|
||||
<field name="email_from"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.claim'}"
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email_to"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.claim'}"
|
||||
icon="gtk-go-forward" type="action" />
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
</group>
|
||||
|
|
|
@ -169,9 +169,7 @@
|
|||
<separator string="Action Information" colspan="4"/>
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="date"/>
|
||||
<field name="user_id"/>
|
||||
<field name="som"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="user_id"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
|
@ -183,32 +181,31 @@
|
|||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="email_to"/>
|
||||
<field name="email_from"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4"
|
||||
nolabel="1" widget="text_tag" readonly="1" />
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(crm.action_crm_reply_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.fundraising'}" icon="gtk-undo"
|
||||
type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.fundraising'}" icon="gtk-go-forward"
|
||||
type="action" />
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.fundraising'}"
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email_to"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.fundraising'}"
|
||||
icon="gtk-go-forward" type="action" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
|
|
|
@ -104,9 +104,7 @@
|
|||
<separator colspan="4" string="Action Information"/>
|
||||
<field colspan="4" name="name"/>
|
||||
<field name="date" select="2"/>
|
||||
<field name="user_id" select="2"/>
|
||||
<field name="som" select="2"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="user_id" select="2"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
|
@ -118,31 +116,31 @@
|
|||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="email_to"/>
|
||||
<field name="email_from"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(crm.action_crm_reply_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.helpdesk'}"
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.helpdesk'}" icon="gtk-go-forward"
|
||||
type="action" />
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.helpdesk'}"
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email_to"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.helpdesk'}"
|
||||
icon="gtk-go-forward" type="action" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
|
|
|
@ -131,32 +131,31 @@
|
|||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="email_to"/>
|
||||
<field name="email_from"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4"
|
||||
nolabel="1" widget="text_tag" readonly="1" />
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(crm.action_crm_reply_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.lead'}"
|
||||
icon="gtk-go-forward" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.lead'}" icon="gtk-go-forward"
|
||||
type="action" />
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.lead'}"
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email_to"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.lead'}"
|
||||
icon="gtk-go-forward" type="action" />
|
||||
</page>
|
||||
<page string="Extra Info" groups="base.group_extended">
|
||||
<group colspan="2" col="2">
|
||||
|
|
|
@ -36,7 +36,7 @@ class crm_cases(osv.osv):
|
|||
""" crm cases """
|
||||
|
||||
_name = "crm.case"
|
||||
_inherit = "crm.case"
|
||||
_inherit = "crm.case"
|
||||
|
||||
def msg_new(self, cr, uid, msg):
|
||||
|
||||
|
@ -47,19 +47,23 @@ class crm_cases(osv.osv):
|
|||
|
||||
mailgate_obj = self.pool.get('mail.gateway')
|
||||
msg_body = mailgate_obj.msg_body_get(msg)
|
||||
data = {
|
||||
'name': msg['Subject'],
|
||||
'email_from': msg['From'],
|
||||
'email_cc': msg['Cc'],
|
||||
msg_subject = mailgate_obj._decode_header(msg['Subject'])
|
||||
msg_from = mailgate_obj._decode_header(msg['From'])
|
||||
msg_cc = mailgate_obj._decode_header(msg['Cc'])
|
||||
body = self.format_body(msg_body['body'])
|
||||
data = {
|
||||
'name': msg_subject,
|
||||
'email_from': msg_from,
|
||||
'email_cc': msg_cc,
|
||||
'user_id': False,
|
||||
'description': msg_body['body'],
|
||||
'description': body,
|
||||
}
|
||||
res = mailgate_obj.partner_get(cr, uid, msg['From'])
|
||||
res = mailgate_obj.partner_get(cr, uid, msg_from)
|
||||
if res:
|
||||
data.update(res)
|
||||
res = self.create(cr, uid, data)
|
||||
cases = self.browse(cr, uid, [res])
|
||||
self._history(cr, uid, cases, _('Receive'), history=True, email=msg['From'])
|
||||
res = self.create(cr, uid, data)
|
||||
cases = self.browse(cr, uid, [res])
|
||||
self._history(cr, uid, cases, _('Receive'), history=True, details=body, email_from=msg_from)
|
||||
return res
|
||||
|
||||
def msg_update(self, cr, uid, ids, msg, data={}, default_act='pending'):
|
||||
|
@ -92,11 +96,11 @@ class crm_cases(osv.osv):
|
|||
data['priority'] = msg_actions['priority']
|
||||
|
||||
if 'partner' in msg_actions:
|
||||
data['email_from'] = msg_actions['partner'][:128]
|
||||
|
||||
data['email_from'] = msg_actions['partner'][:128]
|
||||
msg_from = self._decode_header(msg['From'])
|
||||
res = self.write(cr, uid, select, data)
|
||||
cases = self.browse(cr, uid, select)
|
||||
self._history(cr, uid, cases, _('Receive'), history=True, email=msg['From'])
|
||||
cases = self.browse(cr, uid, select)
|
||||
self._history(cr, uid, cases, _('Receive'), history=True, details=body_data, email_from=msg['From'])
|
||||
getattr(self,act)(cr, uid, select)
|
||||
return res
|
||||
|
||||
|
|
|
@ -151,9 +151,7 @@
|
|||
<separator string="Action Information" colspan="4"/>
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="date"/>
|
||||
<field name="user_id"/>
|
||||
<field name="som"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="user_id"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
|
@ -165,32 +163,31 @@
|
|||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="email_to"/>
|
||||
<field name="email_from"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4"
|
||||
nolabel="1" widget="text_tag" readonly="1" />
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(crm.action_crm_reply_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.opportunity'}" icon="gtk-undo"
|
||||
type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.opportunity'}" icon="gtk-go-forward"
|
||||
type="action" />
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.opportunity'}"
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email_to"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.opportunity'}"
|
||||
icon="gtk-go-forward" type="action" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
|
|
|
@ -113,10 +113,8 @@ class crm_segmentation(osv.osv):
|
|||
for partner_id in partners:
|
||||
cr.execute('insert into res_partner_category_rel (category_id,partner_id) \
|
||||
values (%s,%s)', (categ['categ_id'][0], partner_id))
|
||||
cr.commit()
|
||||
|
||||
self.write(cr, uid, [id], {'state':'not running', 'partner_id':0})
|
||||
cr.commit()
|
||||
return True
|
||||
|
||||
def process_stop(self, cr, uid, ids, *args):
|
||||
|
|
|
@ -204,10 +204,12 @@
|
|||
<tree string="Case logs">
|
||||
<field name="date"/>
|
||||
<field name="name"/>
|
||||
<field name="som"/>
|
||||
<field name="user_id"/>
|
||||
<field name="section_id"/>
|
||||
<!--
|
||||
<field name="som"/>
|
||||
<field name="canal_id"/>
|
||||
-->
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -222,9 +224,11 @@
|
|||
<tree string="Case History">
|
||||
<field name="date"/>
|
||||
<field name="name"/>
|
||||
<field name="som"/>
|
||||
<field name="user_id"/>
|
||||
<!--
|
||||
<field name="som"/>
|
||||
<field name="canal_id"/>
|
||||
-->
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -359,9 +363,7 @@
|
|||
<separator colspan="4" string="Action Information"/>
|
||||
<field colspan="4" name="name"/>
|
||||
<field name="date" select="2"/>
|
||||
<field name="user_id" select="2"/>
|
||||
<field name="som" select="2"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="user_id" select="2"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
|
@ -373,8 +375,8 @@
|
|||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="email_to"/>
|
||||
<field name="email_from"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
|
@ -384,13 +386,13 @@
|
|||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(action_crm_reply_mail)d"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'reply', 'model': 'crm.case'}"
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="email_to"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
|
||||
"PO-Revision-Date: 2010-03-04 10:04+0000\n"
|
||||
"Last-Translator: xavi <xgilest@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-03-30 21:03+0000\n"
|
||||
"Last-Translator: Luis Gerardo Cruz Garcia <lgcruz@morfosys.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 03:59+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: crm
|
||||
|
@ -27,6 +27,8 @@ msgid ""
|
|||
"This property defines the list of date/time exceptions for "
|
||||
"arecurring calendar component."
|
||||
msgstr ""
|
||||
"Esta propiedad define la lista de excepciones (días/horas) para un evento de "
|
||||
"calendario recurrente"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.rule,act_mail_to_user:0
|
||||
|
@ -306,7 +308,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Exception Dates"
|
||||
msgstr ""
|
||||
msgstr "Fechas de excepción"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.case.rule,trg_date_type:0
|
||||
|
@ -400,17 +402,17 @@ msgstr "Próxima entrevista"
|
|||
#. module: crm
|
||||
#: field:crm.case.rule,regex_history:0
|
||||
msgid "Regular Expression on Case History"
|
||||
msgstr ""
|
||||
msgstr "Expresiones Regulares en el Historial del Caso"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_email_add_cc
|
||||
msgid "Email Add CC"
|
||||
msgstr ""
|
||||
msgstr "Email añadir CC"
|
||||
|
||||
#. module: crm
|
||||
#: model:process.transition,name:crm.process_transition_opportunitymeeting0
|
||||
msgid "Opportunity Meeting"
|
||||
msgstr ""
|
||||
msgstr "Oportunidad de Reunión"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case,canal_id:0
|
||||
|
@ -423,7 +425,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Exception Rules"
|
||||
msgstr ""
|
||||
msgstr "Reglas de Excepción"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.menu.config_wizard,opportunity:0
|
||||
|
@ -434,7 +436,7 @@ msgstr "Oportunidades de negocio"
|
|||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_claim1
|
||||
msgid "Accepted as Claim"
|
||||
msgstr ""
|
||||
msgstr "Aceptado como reclamación"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
|
@ -459,18 +461,18 @@ msgstr "%(email_from)s = Email empresa"
|
|||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_lead6
|
||||
msgid "Dead"
|
||||
msgstr ""
|
||||
msgstr "Muerto"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Confirm Meeting"
|
||||
msgstr ""
|
||||
msgstr "Confirmar reunión"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_lead1
|
||||
#: model:crm.case.categ,name:crm.categ_oppor1
|
||||
msgid "Existing Customer"
|
||||
msgstr ""
|
||||
msgstr "Cliente existente"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_meet2
|
||||
|
@ -494,7 +496,7 @@ msgstr "Categoría"
|
|||
#: model:ir.ui.menu,name:crm.menu_crm_case_section_categ_stage_tree
|
||||
#: view:report.crm.case.section.categ.stage:0
|
||||
msgid "Cases by Section, Category and Stage"
|
||||
msgstr ""
|
||||
msgstr "Casos por sección, categoría y fase"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.rule,act_mail_to_watchers:0
|
||||
|
@ -502,11 +504,13 @@ msgid ""
|
|||
"Check this if you want the rule to mark CC(mail to any other person defined "
|
||||
"in actions)."
|
||||
msgstr ""
|
||||
"Active esta casilla en caso que quiera que la regla sea marcada CC ( copia "
|
||||
"de email para cualquier otra persona definida en las acciones)"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,class:0
|
||||
msgid "Privacy"
|
||||
msgstr ""
|
||||
msgstr "Privada"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
|
@ -566,7 +570,7 @@ msgstr "Posición"
|
|||
#: model:ir.actions.wizard,name:crm.wizard_partner_create_opportunity
|
||||
#: model:ir.actions.wizard,name:crm.wizard_partner_create_opportunity1
|
||||
msgid "Create Opportunity"
|
||||
msgstr ""
|
||||
msgstr "Crear oportunidad"
|
||||
|
||||
#. module: crm
|
||||
#: selection:report.crm.case.section.categ.categ2,month:0
|
||||
|
@ -579,7 +583,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Meetings Tree"
|
||||
msgstr ""
|
||||
msgstr "Árbol de reuniones"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:0
|
||||
|
@ -596,7 +600,7 @@ msgstr "Escalado"
|
|||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_crm_case_categ_meet
|
||||
msgid "All Meetings"
|
||||
msgstr ""
|
||||
msgstr "Todas las reuniones"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.module.module,shortdesc:crm.module_meta_information
|
||||
|
@ -607,7 +611,7 @@ msgstr "Gestión de relaciones con clientes & proveedores"
|
|||
#: view:crm.email.add.cc:0
|
||||
#: model:ir.actions.act_window,name:crm.action_view_crm_email_add_cc_wizard
|
||||
msgid "Add CC"
|
||||
msgstr ""
|
||||
msgstr "Agregar CC"
|
||||
|
||||
#. module: crm
|
||||
#: selection:report.crm.case.section.categ.categ2,month:0
|
||||
|
@ -615,7 +619,7 @@ msgstr ""
|
|||
#: selection:report.crm.case.section.categ2,month:0
|
||||
#: selection:report.crm.case.section.stage,month:0
|
||||
msgid "June"
|
||||
msgstr ""
|
||||
msgstr "Junio"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.segmentation,som_interval_default:0
|
||||
|
@ -625,7 +629,7 @@ msgstr "Por defecto (0=Ninguno)"
|
|||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_job7
|
||||
msgid "Refused by Company"
|
||||
msgstr ""
|
||||
msgstr "Rechazado por la compañía"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case,planned_revenue:0
|
||||
|
@ -643,12 +647,12 @@ msgstr "Permitir eliminar"
|
|||
#: selection:report.crm.case.section.categ2,month:0
|
||||
#: selection:report.crm.case.section.stage,month:0
|
||||
msgid "October"
|
||||
msgstr ""
|
||||
msgstr "Octubre"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_oppor3
|
||||
msgid "Value Proposition"
|
||||
msgstr ""
|
||||
msgstr "Propuesta de valor"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
|
@ -658,17 +662,17 @@ msgstr "%(case_id)s = ID del caso"
|
|||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_oppor2
|
||||
msgid "New Business"
|
||||
msgstr ""
|
||||
msgstr "Nuevo negocio"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case,email_from:0
|
||||
msgid "These people will receive email."
|
||||
msgstr ""
|
||||
msgstr "Estas personas recibirán un email."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.section,calendar:0
|
||||
msgid "Allows to show calendar"
|
||||
msgstr ""
|
||||
msgstr "Permite mostrar el calendario"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
|
@ -676,13 +680,13 @@ msgstr ""
|
|||
#: view:crm.opportunity:0
|
||||
#: view:crm.phonecall:0
|
||||
msgid " Today "
|
||||
msgstr ""
|
||||
msgstr " Hoy "
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:crm.job.reschedule_phone_call,init:0
|
||||
#: wizard_view:crm.opportunity.reschedule_phone_call,init:0
|
||||
msgid "Phone Call Description"
|
||||
msgstr ""
|
||||
msgstr "Descripción de la llamada"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.categ:0
|
||||
|
@ -702,7 +706,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_claim3
|
||||
msgid "Policy Claims"
|
||||
msgstr ""
|
||||
msgstr "Política de reclamaciones"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:0
|
||||
|
@ -718,7 +722,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.phonecall:0
|
||||
msgid "Assigned to"
|
||||
msgstr ""
|
||||
msgstr "Asignada a"
|
||||
|
||||
#. module: crm
|
||||
#: view:res.partner.events:0
|
||||
|
@ -728,12 +732,12 @@ msgstr "Eventos empresa"
|
|||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_job4
|
||||
msgid "Contract Proposed"
|
||||
msgstr ""
|
||||
msgstr "Contrato propuesto"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_crm_case_job_req_main
|
||||
msgid "Jobs - Hiring Process"
|
||||
msgstr ""
|
||||
msgstr "Trabajos - Proceso de selección de personal"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
|
@ -741,7 +745,7 @@ msgstr ""
|
|||
#: view:crm.lead:0
|
||||
#: view:crm.opportunity:0
|
||||
msgid "Related Cases"
|
||||
msgstr ""
|
||||
msgstr "Casos Relacionados"
|
||||
|
||||
#. module: crm
|
||||
#: selection:report.crm.case.section.categ.categ2,month:0
|
||||
|
@ -749,7 +753,7 @@ msgstr ""
|
|||
#: selection:report.crm.case.section.categ2,month:0
|
||||
#: selection:report.crm.case.section.stage,month:0
|
||||
msgid "September"
|
||||
msgstr ""
|
||||
msgstr "Setiembre"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
|
@ -764,33 +768,33 @@ msgstr "Historial de comunicación"
|
|||
#. module: crm
|
||||
#: view:crm.claim:0
|
||||
msgid "New Claims"
|
||||
msgstr ""
|
||||
msgstr "Nuevas Reclamaciones"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Meetings Form"
|
||||
msgstr ""
|
||||
msgstr "Formulario de reuniones"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_oppor5
|
||||
msgid "Negotiation/Review"
|
||||
msgstr ""
|
||||
msgstr "Negociación/Revisión"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/wizard/crm_phonecall_wizard.py:0
|
||||
#, python-format
|
||||
msgid "A partner is already defined on this phonecall."
|
||||
msgstr ""
|
||||
msgstr "Una empresa ya esta definida para esta llamada."
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor_stage
|
||||
msgid "Cases by Opportunities and Stage"
|
||||
msgstr ""
|
||||
msgstr "Casos por oportunidades y fase"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.claim:0
|
||||
msgid "Date of Claim"
|
||||
msgstr ""
|
||||
msgstr "Fecha de reclamación"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation.line:0
|
||||
|
@ -800,12 +804,12 @@ msgstr "Líneas de segmentación de empresa"
|
|||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all
|
||||
msgid "All Leads"
|
||||
msgstr ""
|
||||
msgstr "Todas las iniciativas"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Leads Form"
|
||||
msgstr ""
|
||||
msgstr "Formulario de iniciativas"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
|
@ -816,17 +820,17 @@ msgstr "Segmentación de empresa"
|
|||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_job5
|
||||
msgid "Contract Signed"
|
||||
msgstr ""
|
||||
msgstr "Contrato firmado"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:caldav.crm.subscribe,init:0
|
||||
msgid "Subscribe to Remote ICS"
|
||||
msgstr ""
|
||||
msgstr "Subcribirse a ICS remotos"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_oppor1
|
||||
msgid "Existing Business"
|
||||
msgstr ""
|
||||
msgstr "Negocio existente"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case,probability:0
|
||||
|
@ -837,7 +841,7 @@ msgstr "Probabilidad (%)"
|
|||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_lead
|
||||
msgid "Leads Cases"
|
||||
msgstr ""
|
||||
msgstr "Casos Oportunidades"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.section,reply_to:0
|
||||
|
@ -864,7 +868,7 @@ msgstr "Regla del caso"
|
|||
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor
|
||||
#, python-format
|
||||
msgid "Opportunity"
|
||||
msgstr ""
|
||||
msgstr "Oportunidad"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
|
@ -874,12 +878,12 @@ msgstr ""
|
|||
#: view:crm.lead:0
|
||||
#: view:crm.opportunity:0
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
msgstr "Emails"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_lead7
|
||||
msgid "Television"
|
||||
msgstr ""
|
||||
msgstr "Televisión"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
|
@ -889,18 +893,18 @@ msgstr "Parar el proceso"
|
|||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_claim1
|
||||
msgid "Factual Claims"
|
||||
msgstr ""
|
||||
msgstr "Reclamaciones objetivas"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall:0
|
||||
msgid "Search Phonecalls"
|
||||
msgstr ""
|
||||
msgstr "Buscar llamadas"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_button:crm.lead.opportunity_set,create_partner,create:0
|
||||
#: wizard_button:crm.phonecall.opportunity_set,create_partner,create:0
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
msgstr "Continue"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.segmentation,som_interval:0
|
||||
|
@ -915,13 +919,13 @@ msgstr "Valor"
|
|||
#. module: crm
|
||||
#: help:caldav.crm.export,init,name:0
|
||||
msgid "Save in .ics format"
|
||||
msgstr ""
|
||||
msgstr "Salvar en formato .ics"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_field:crm.new.send.mail,init,text:0
|
||||
#: wizard_field:crm.send.mail,init,text:0
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
msgstr "Mensaje"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.segmentation,exclusif:0
|
||||
|
@ -960,7 +964,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_lead6
|
||||
msgid "Radio"
|
||||
msgstr ""
|
||||
msgstr "Radio"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_opportunity_assign_wizard
|
||||
|
@ -980,12 +984,13 @@ msgstr "Fecha del disparo"
|
|||
#. module: crm
|
||||
#: view:crm.case.history:0
|
||||
msgid "Search Histories"
|
||||
msgstr ""
|
||||
msgstr "Buscar en Historial"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.stage,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of case stages."
|
||||
msgstr ""
|
||||
"Da el orden de secuencia cuando se muestra un lista de etápas de caso."
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.section,name:crm.section_support3
|
||||
|
@ -993,7 +998,7 @@ msgstr ""
|
|||
#: model:ir.ui.menu,name:crm.menu_crm_case_opp
|
||||
#: model:process.node,name:crm.process_node_opportunities0
|
||||
msgid "Opportunities"
|
||||
msgstr ""
|
||||
msgstr "Oportunidades"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.segmentation,name:0
|
||||
|
@ -1028,6 +1033,8 @@ msgid ""
|
|||
"These people will receive a copy of the future communication between partner "
|
||||
"and users by email"
|
||||
msgstr ""
|
||||
"Estas personas recibirán una copia de toda comunicación entre el partner y "
|
||||
"los usuarios."
|
||||
|
||||
#. module: crm
|
||||
#: selection:report.crm.case.section.categ.categ2,month:0
|
||||
|
@ -1035,12 +1042,12 @@ msgstr ""
|
|||
#: selection:report.crm.case.section.categ2,month:0
|
||||
#: selection:report.crm.case.section.stage,month:0
|
||||
msgid "March"
|
||||
msgstr ""
|
||||
msgstr "Marzo"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
msgid "Server Action to be Triggered"
|
||||
msgstr ""
|
||||
msgstr "Acción del servidor a ser ejecutada"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.crm_case_rule-act
|
||||
|
@ -1057,13 +1064,13 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: wizard_field:crm.new.send.mail,init,state:0
|
||||
msgid "Set State to"
|
||||
msgstr ""
|
||||
msgstr "Establecer estado a"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/wizard/wizard_crm_send_email.py:0
|
||||
#, python-format
|
||||
msgid "There is no mail to reply!"
|
||||
msgstr ""
|
||||
msgstr "Este correo no puede ser contestado"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_button:crm.job.partner_create,init,confirm:0
|
||||
|
@ -1073,7 +1080,7 @@ msgstr ""
|
|||
#: model:ir.actions.wizard,name:crm.wizard_crm_lead_partner_create
|
||||
#: model:ir.actions.wizard,name:crm.wizard_crm_phonecall_partner_create
|
||||
msgid "Create Partner"
|
||||
msgstr ""
|
||||
msgstr "Crear empresa"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.segmentation.line,expr_operator:0
|
||||
|
@ -1088,12 +1095,12 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.fundraising:0
|
||||
msgid "My Funds"
|
||||
msgstr ""
|
||||
msgstr "Mis donaciones"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case,partner_mobile:0
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
msgstr "Móvil"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.rule,name:0
|
||||
|
@ -1114,12 +1121,12 @@ msgstr "Historial del caso"
|
|||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_job2
|
||||
msgid "Junior Developer"
|
||||
msgstr ""
|
||||
msgstr "Desarrollador junior"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "My Meetings"
|
||||
msgstr ""
|
||||
msgstr "Mis reuniones"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.categ,name:0
|
||||
|
@ -1129,7 +1136,7 @@ msgstr "Nombre de la categoría de casos"
|
|||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_claim2
|
||||
msgid "Preventive"
|
||||
msgstr ""
|
||||
msgstr "Preventivo"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.rule,act_email_cc:0
|
||||
|
@ -1139,7 +1146,7 @@ msgstr "Añadir observadores (CC)"
|
|||
#. module: crm
|
||||
#: wizard_view:caldav.crm.export,init:0
|
||||
msgid "Export ICS"
|
||||
msgstr ""
|
||||
msgstr "Exportar ICS"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_claim.py:0
|
||||
|
@ -1149,7 +1156,7 @@ msgstr ""
|
|||
#: code:addons/crm/crm_phonecall.py:0
|
||||
#, python-format
|
||||
msgid "You can not assign Closed Case."
|
||||
msgstr ""
|
||||
msgstr "No se puede asignar un caso cerrado."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.rule,act_remind_partner:0
|
||||
|
@ -1167,7 +1174,7 @@ msgstr ""
|
|||
#: view:crm.meeting:0
|
||||
#, python-format
|
||||
msgid "Meetings"
|
||||
msgstr ""
|
||||
msgstr "Reuniones"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
|
@ -1192,12 +1199,12 @@ msgstr "Fecha límite"
|
|||
#: wizard_button:caldav.crm.import,init,end:0
|
||||
#: wizard_button:caldav.crm.subscribe,init,end:0
|
||||
msgid "_Cancel"
|
||||
msgstr ""
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case,category2_id:0
|
||||
msgid "Category Name"
|
||||
msgstr ""
|
||||
msgstr "Nombre de Categoría"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
|
@ -1207,7 +1214,7 @@ msgstr "Segmentaciones de empresa"
|
|||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Recurrency Rule"
|
||||
msgstr ""
|
||||
msgstr "Regla concurrente"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_case_categ
|
||||
|
@ -1221,12 +1228,12 @@ msgstr "Categoría del caso"
|
|||
#: view:crm.phonecall:0
|
||||
#: wizard_field:crm.send.mail,init,subject:0
|
||||
msgid "Subject"
|
||||
msgstr ""
|
||||
msgstr "Asunto"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,attendees:0
|
||||
msgid "Attendees"
|
||||
msgstr ""
|
||||
msgstr "Asistentes"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.module.module,description:crm.module_meta_information
|
||||
|
@ -1281,7 +1288,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:process.transition,note:crm.process_transition_leadpartner0
|
||||
msgid "Prospect is converting to business partner"
|
||||
msgstr ""
|
||||
msgstr "El prospecto se convierte a partner"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
|
@ -1291,17 +1298,17 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.claim:0
|
||||
msgid "Pending Claims"
|
||||
msgstr ""
|
||||
msgstr "Reclamaciones Pendientes"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor_categ_stage
|
||||
msgid "Cases by Opportunities, Category and Stage"
|
||||
msgstr ""
|
||||
msgstr "Casos por oportunidades, categoría y etapa"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_lead4
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
msgstr "Imprimir"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case,som:0
|
||||
|
@ -1316,12 +1323,12 @@ msgstr "Grado de satisfacción"
|
|||
#: field:report.crm.case.section.categ.categ2,category2_id:0
|
||||
#: field:report.crm.case.section.categ2,category2_id:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
msgstr "Tipo"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
msgid "Candidate Refused"
|
||||
msgstr ""
|
||||
msgstr "Candidato rechazado"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
|
@ -1351,7 +1358,7 @@ msgstr "Fecha creación"
|
|||
#: view:crm.phonecall:0
|
||||
#: model:process.node,name:crm.process_node_meeting0
|
||||
msgid "Meeting"
|
||||
msgstr ""
|
||||
msgstr "Reunión"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
|
@ -1372,12 +1379,12 @@ msgstr "Cambiar a borrador"
|
|||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_report_crm_case_section_categ_categ2
|
||||
msgid "Cases by section, Category and Category2"
|
||||
msgstr ""
|
||||
msgstr "Casos por sección, categoría y categoría2"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_oppor6
|
||||
msgid "Closed Won"
|
||||
msgstr ""
|
||||
msgstr "Cerrado-Ganado"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.act_crm_case_categ_crm_case_opened
|
||||
|
@ -1396,7 +1403,7 @@ msgstr "Casos abiertos"
|
|||
#: field:report.crm.case.section.categ2,stage_id:0
|
||||
#: field:report.crm.case.section.stage,stage_id:0
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
msgstr "Fase"
|
||||
|
||||
#. module: crm
|
||||
#: constraint:ir.ui.view:0
|
||||
|
@ -1409,24 +1416,26 @@ msgid ""
|
|||
"If the active field is set to true, it will allow you to hide the case "
|
||||
"section without removing it."
|
||||
msgstr ""
|
||||
"Si el campo activo esta en verdadero, te permitira esconder la sección del "
|
||||
"caso sin removerla"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_fund2
|
||||
msgid "Learning And Education"
|
||||
msgstr ""
|
||||
msgstr "Aprendizaje y educación"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:crm.phonecall.opportunity_set,create_partner:0
|
||||
#: wizard_view:crm.phonecall.partner_create,init:0
|
||||
msgid "Are you sure you want to create a partner based on this phonecall ?"
|
||||
msgstr ""
|
||||
msgstr "Estas seguro que deseas crear una empresa basado en esta llamada?"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.stage:0
|
||||
#: model:ir.actions.act_window,name:crm.crm_case_stage_act
|
||||
#: model:ir.ui.menu,name:crm.menu_crm_case_stage_act
|
||||
msgid "Stages"
|
||||
msgstr ""
|
||||
msgstr "Etapas"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_field:crm.case.opportunity.partner_opportunity,init,planned_revenue:0
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
|
||||
"PO-Revision-Date: 2010-03-22 18:16+0000\n"
|
||||
"PO-Revision-Date: 2010-03-31 14:33+0000\n"
|
||||
"Last-Translator: smii <Unknown>\n"
|
||||
"Language-Team: Finnish <fi@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: 2010-03-30 03:58+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: crm
|
||||
|
@ -1942,7 +1942,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_job1
|
||||
msgid "Graduate"
|
||||
msgstr ""
|
||||
msgstr "Valmistua"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:crm.job.meeting_set,init:0
|
||||
|
@ -1951,11 +1951,13 @@ msgid ""
|
|||
"Note that you can also use the calendar view to graphically schedule your "
|
||||
"next meeting."
|
||||
msgstr ""
|
||||
"Huomaa, että voit käyttää kalenterinäkymää myös suunnitellaksesi graafisesti "
|
||||
"seuraavan kokouksesi."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Leads Tree"
|
||||
msgstr ""
|
||||
msgstr "Opaspuu"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,caldav_url:0
|
||||
|
@ -1965,7 +1967,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Attendee"
|
||||
msgstr ""
|
||||
msgstr "Osanottaja"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:0
|
||||
|
@ -1979,12 +1981,12 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_incoming0
|
||||
#: model:ir.ui.menu,name:crm.menu_crm_case_phone_inbound
|
||||
msgid "Inbound"
|
||||
msgstr ""
|
||||
msgstr "Saapuva"
|
||||
|
||||
#. module: crm
|
||||
#: constraint:crm.case.section:0
|
||||
msgid "Error ! You cannot create recursive sections."
|
||||
msgstr ""
|
||||
msgstr "Virhe! Et voi luoda rekursiivisia osioita."
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_crm
|
||||
|
@ -2004,7 +2006,7 @@ msgstr ""
|
|||
#: view:report.crm.case.section.categ2:0
|
||||
#: view:report.crm.case.section.stage:0
|
||||
msgid "This Year"
|
||||
msgstr ""
|
||||
msgstr "Tänä vuonna"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.rule,act_remind_partner:0
|
||||
|
@ -2022,7 +2024,7 @@ msgstr "Korkein"
|
|||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
msgid "Contract Data"
|
||||
msgstr ""
|
||||
msgstr "Sopimuksen tiedot (data)"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.case.rule,trg_date_range_type:0
|
||||
|
@ -2037,17 +2039,17 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: field:crm.menu.config_wizard,document_ics:0
|
||||
msgid "Shared Calendar"
|
||||
msgstr ""
|
||||
msgstr "Jaettu kalenteri"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.section,reply_to:0
|
||||
msgid "Reply-To"
|
||||
msgstr ""
|
||||
msgstr "Vastaus osoitteeseen"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_categ
|
||||
msgid "Cases by Leads and Type"
|
||||
msgstr ""
|
||||
msgstr "Tapahtumat johdon ja tyypin mukaan"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.case.rule,trg_date_range_type:0
|
||||
|
@ -2058,12 +2060,12 @@ msgstr "Minuuttia"
|
|||
#: field:report.crm.case.section.categ2,amount_revenue:0
|
||||
#: field:report.crm.case.section.stage,amount_revenue:0
|
||||
msgid "Est.Revenue"
|
||||
msgstr ""
|
||||
msgstr "Arvioitu tuotto"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_job1
|
||||
msgid "Initial Jobs Demand"
|
||||
msgstr ""
|
||||
msgstr "Alkutöiden tarve"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.rule,trg_priority_to:0
|
||||
|
@ -2078,12 +2080,12 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.claim:0
|
||||
msgid "Claims Info"
|
||||
msgstr ""
|
||||
msgstr "Vaade tiedot"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.category2,name:0
|
||||
msgid "Case Category2 Name"
|
||||
msgstr ""
|
||||
msgstr "Tapahtuma kategoria2 nimi"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:crm.lead.opportunity_set,opportunity:0
|
||||
|
@ -2091,13 +2093,13 @@ msgstr ""
|
|||
#: model:ir.actions.wizard,name:crm.wizard_crm_lead_opportunity_set
|
||||
#: model:ir.actions.wizard,name:crm.wizard_crm_phonecall_opportunity_set
|
||||
msgid "Convert To Opportunity"
|
||||
msgstr ""
|
||||
msgstr "Muunna mahdollisuudeksi"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_phone2
|
||||
#: view:crm.phonecall:0
|
||||
msgid "Held"
|
||||
msgstr ""
|
||||
msgstr "Pysäytetty"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
|
@ -2113,7 +2115,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: selection:crm.new.send.mail,init,state:0
|
||||
msgid "Unchanged"
|
||||
msgstr ""
|
||||
msgstr "Muuttamaton"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:crm.job.partner_create,init:0
|
||||
|
@ -2122,7 +2124,7 @@ msgstr ""
|
|||
#: wizard_view:crm.phonecall.opportunity_set,create_partner:0
|
||||
#: wizard_view:crm.phonecall.partner_create,init:0
|
||||
msgid "Convert To Partner"
|
||||
msgstr ""
|
||||
msgstr "Muunna kumppaniksi"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.rule,trg_state_from:0
|
||||
|
@ -2148,17 +2150,17 @@ msgstr "Prioriteetti"
|
|||
#. module: crm
|
||||
#: view:crm.opportunity:0
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
msgstr "Lähde"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,location:0
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
msgstr "Sijainti"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Payment Mode"
|
||||
msgstr ""
|
||||
msgstr "Maksutapa"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.rule,trg_date_range:0
|
||||
|
@ -2173,7 +2175,7 @@ msgstr ""
|
|||
#: view:crm.job:0
|
||||
#: view:crm.lead:0
|
||||
msgid "Stage: "
|
||||
msgstr ""
|
||||
msgstr "Vaihe: "
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.section:0
|
||||
|
@ -2183,7 +2185,7 @@ msgstr "Tapahtumaosio"
|
|||
#. module: crm
|
||||
#: model:process.node,note:crm.process_node_meeting0
|
||||
msgid "Schedule a normal or phone meeting"
|
||||
msgstr ""
|
||||
msgstr "Ajoita normaali puhelinkokous"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:0
|
||||
|
@ -2194,7 +2196,7 @@ msgstr ""
|
|||
#: code:addons/crm/crm_phonecall.py:0
|
||||
#, python-format
|
||||
msgid "Error !"
|
||||
msgstr ""
|
||||
msgstr "Virhe!"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
|
@ -2204,7 +2206,7 @@ msgstr "Muutettavat kentät"
|
|||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_lead1
|
||||
msgid "Telesales"
|
||||
msgstr ""
|
||||
msgstr "Puhelinmyynnit"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_crm_case_history-act_main
|
||||
|
@ -2214,7 +2216,7 @@ msgstr "Tapahtumahistoriat"
|
|||
#. module: crm
|
||||
#: field:crm.case,create_date:0
|
||||
msgid "Created"
|
||||
msgstr ""
|
||||
msgstr "Luotu"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
|
@ -2231,12 +2233,12 @@ msgstr "Segmentointirivi"
|
|||
#: wizard_field:crm.opportunity.reschedule_phone_call,init,deadline:0
|
||||
#: view:crm.phonecall:0
|
||||
msgid "Planned Date"
|
||||
msgstr ""
|
||||
msgstr "Suunniteltu päivämäärä"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.case.rule,trg_date_range_type:0
|
||||
msgid "Hours"
|
||||
msgstr ""
|
||||
msgstr "Tunnit"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.menu.config_wizard,phonecall:0
|
||||
|
@ -2266,7 +2268,7 @@ msgstr ""
|
|||
#: selection:report.crm.case.section.categ2,month:0
|
||||
#: selection:report.crm.case.section.stage,month:0
|
||||
msgid "July"
|
||||
msgstr ""
|
||||
msgstr "heinäkuu"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_oppor1
|
||||
|
@ -2276,7 +2278,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: field:crm.case,partner_name2:0
|
||||
msgid "Employee Email"
|
||||
msgstr ""
|
||||
msgstr "Työntekijän sähköposti"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_meeting
|
||||
|
@ -2286,17 +2288,17 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
msgid "Job Info"
|
||||
msgstr ""
|
||||
msgstr "Työtehtävän tiedot"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Cancel Meeting"
|
||||
msgstr ""
|
||||
msgstr "Peruuta kokous/tapaaminen"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.section,name:crm.section_support0
|
||||
msgid "Jobs"
|
||||
msgstr ""
|
||||
msgstr "Työpaikat"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
|
@ -2307,7 +2309,7 @@ msgstr ""
|
|||
#: model:crm.case.stage,name:crm.stage_phone3
|
||||
#: view:crm.phonecall:0
|
||||
msgid "Not Held"
|
||||
msgstr ""
|
||||
msgstr "Ei pidätetty"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.rule,act_mail_to_user:0
|
||||
|
@ -2317,12 +2319,12 @@ msgstr "Sähköposti vastaavalle"
|
|||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
msgid "Jobs - Recruitment Form"
|
||||
msgstr ""
|
||||
msgstr "Työpaikat - Rekrytointilomake"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.category_claim1
|
||||
msgid "Corrective"
|
||||
msgstr ""
|
||||
msgstr "Tarkennus"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_opportunity
|
||||
|
@ -2345,7 +2347,7 @@ msgstr "Lähetettävän sähköpostin malli"
|
|||
#: field:report.crm.case.section.categ2,month:0
|
||||
#: field:report.crm.case.section.stage,month:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "Kuukausi"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.section,name:crm.section_support2
|
||||
|
@ -2361,7 +2363,7 @@ msgstr ""
|
|||
#: wizard_button:crm.new.send.mail,init,send:0
|
||||
#: wizard_button:crm.send.mail,init,send:0
|
||||
msgid "Send Email"
|
||||
msgstr ""
|
||||
msgstr "Lähetä sähköpostia"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:crm.new.send.mail,init:0
|
||||
|
@ -2371,7 +2373,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.categ2_fund3
|
||||
msgid "Credit Card"
|
||||
msgstr ""
|
||||
msgstr "Luottokortti"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:0
|
||||
|
@ -2380,6 +2382,8 @@ msgid ""
|
|||
"No E-Mail ID Found for the Responsible Partner or missing reply address in "
|
||||
"section!"
|
||||
msgstr ""
|
||||
"Ei löydettyä sähköposti ID:tä vastaavalle kumppanille tai puuttuva "
|
||||
"vastausosoite tässä osiossa!"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
|
@ -2389,18 +2393,18 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: field:crm.case.history,log_id:0
|
||||
msgid "Log"
|
||||
msgstr ""
|
||||
msgstr "Loki"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.menu.config_wizard,fund:0
|
||||
msgid ""
|
||||
"This may help associations in their fund raising process and tracking."
|
||||
msgstr ""
|
||||
msgstr "Tämä saattaa auttaa yhteisöjä varainhankinnassa ja sen seurannassa."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Reset to Unconfirmed"
|
||||
msgstr ""
|
||||
msgstr "Palauta vahvistamattomaksi"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
|
@ -2415,7 +2419,7 @@ msgstr "Seuraajien Sähköpostit"
|
|||
#. module: crm
|
||||
#: view:crm.case.rule:0
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
msgstr "Huomautus"
|
||||
|
||||
#. module: crm
|
||||
#: field:report.crm.case.section.categ.categ2,delay_close:0
|
||||
|
@ -2423,7 +2427,7 @@ msgstr ""
|
|||
#: field:report.crm.case.section.categ2,delay_close:0
|
||||
#: field:report.crm.case.section.stage,delay_close:0
|
||||
msgid "Delay Close"
|
||||
msgstr ""
|
||||
msgstr "Viivytä sulkemista"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.case,priority:0
|
||||
|
@ -2431,7 +2435,7 @@ msgstr ""
|
|||
#: selection:crm.case.rule,trg_priority_from:0
|
||||
#: selection:crm.case.rule,trg_priority_to:0
|
||||
msgid "Low"
|
||||
msgstr ""
|
||||
msgstr "Matala"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case,date_closed:0
|
||||
|
@ -2444,23 +2448,23 @@ msgstr ""
|
|||
#: selection:report.crm.case.section.categ2,state:0
|
||||
#: selection:report.crm.case.section.stage,state:0
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
msgstr "Suljettu"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
msgid "Candidate Name2"
|
||||
msgstr ""
|
||||
msgstr "Ehdokasnimi 2"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:0
|
||||
#, python-format
|
||||
msgid "cancel"
|
||||
msgstr ""
|
||||
msgstr "Peruuta"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_meet2
|
||||
msgid "Internal Meeting"
|
||||
msgstr ""
|
||||
msgstr "Sisäinen kokous"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
|
@ -2469,7 +2473,7 @@ msgstr ""
|
|||
#: view:crm.lead:0
|
||||
#: view:crm.opportunity:0
|
||||
msgid "Events"
|
||||
msgstr ""
|
||||
msgstr "Tapahtumat"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.menu.config_wizard,lead:0
|
||||
|
@ -2477,6 +2481,8 @@ msgid ""
|
|||
"Allows you to track and manage leads which are pre-sales requests or "
|
||||
"contacts, the very first contact with a customer request."
|
||||
msgstr ""
|
||||
"Sallii sinun seuraavan ja hallinoimaan oppaita jotka ovat esi-myynti "
|
||||
"pyyntöjä tai yhteystietoja. Ensimmäinen yhteydenotto asiakkaan pyyntöön."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case,som:0
|
||||
|
@ -2494,7 +2500,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_meet1
|
||||
msgid "Customer Meeting"
|
||||
msgstr ""
|
||||
msgstr "Asiakastapaaminen"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_field:crm.new.send.mail,init,doc2:0
|
||||
|
@ -2509,7 +2515,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
msgid "Degree"
|
||||
msgstr ""
|
||||
msgstr "Tutkinto"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_field:crm.new.send.mail,init,doc1:0
|
||||
|
@ -2525,7 +2531,7 @@ msgstr ""
|
|||
#: model:ir.ui.menu,name:crm.menu_crm_case_phone
|
||||
#, python-format
|
||||
msgid "Phone Calls"
|
||||
msgstr ""
|
||||
msgstr "Puhelinsoitot"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case,active:0
|
||||
|
@ -2547,19 +2553,19 @@ msgstr "Asiahistoria"
|
|||
#. module: crm
|
||||
#: field:crm.case,partner_phone:0
|
||||
msgid "Phone"
|
||||
msgstr ""
|
||||
msgstr "Puhelin"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.category2,name:crm.categ2_fund2
|
||||
msgid "Cheque"
|
||||
msgstr ""
|
||||
msgstr "Šekki"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case,active:0
|
||||
#: field:crm.case.rule,active:0
|
||||
#: field:crm.case.section,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
msgstr "Aktiivinen"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.rule,act_remind_attach:0
|
||||
|
@ -2578,7 +2584,7 @@ msgstr "Pakollinen Määritelmä"
|
|||
#. module: crm
|
||||
#: selection:crm.segmentation.line,expr_operator:0
|
||||
msgid ">"
|
||||
msgstr ""
|
||||
msgstr ">"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
|
@ -2588,12 +2594,12 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:ir.actions.wizard,name:crm.wizard_crm_send_mail
|
||||
msgid "Send Mail"
|
||||
msgstr ""
|
||||
msgstr "Lähetä sähköpostia"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.case.rule,trg_date_range_type:0
|
||||
msgid "Months"
|
||||
msgstr ""
|
||||
msgstr "Kuukautta"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.claim.assign_wizard:0
|
||||
|
@ -2616,7 +2622,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:process.node,note:crm.process_node_opportunities0
|
||||
msgid "When a real project/opportunity is detected"
|
||||
msgstr ""
|
||||
msgstr "Kun todellinen projekti/mahdollisuus on löydetty"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:crm.job.partner_create,init:0
|
||||
|
@ -2627,7 +2633,7 @@ msgstr ""
|
|||
#: wizard_field:crm.lead.opportunity_set,create_partner,action:0
|
||||
#: wizard_field:crm.phonecall.opportunity_set,create_partner,action:0
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
msgstr "Toiminto"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_claim.py:0
|
||||
|
@ -2638,7 +2644,7 @@ msgstr ""
|
|||
#: model:ir.ui.menu,name:crm.menu_crm_case_claims
|
||||
#, python-format
|
||||
msgid "Claims"
|
||||
msgstr ""
|
||||
msgstr "Vaateet"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.segmentation,som_interval_decrease:0
|
||||
|
@ -2653,7 +2659,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_case_category2
|
||||
msgid "Category2 of case"
|
||||
msgstr ""
|
||||
msgstr "tapahtuman kategoria2"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_field:crm.new.send.mail,init,to:0
|
||||
|
@ -2669,29 +2675,29 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_presale
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
msgstr "Myynnit"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
#: view:crm.phonecall:0
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
msgstr "Yleiset"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_lead2
|
||||
msgid "Assigned"
|
||||
msgstr ""
|
||||
msgstr "Määrätty"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_lead5
|
||||
msgid "Recycled"
|
||||
msgstr ""
|
||||
msgstr "Kierrätetty"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.categ,name:crm.categ_lead8
|
||||
#: model:crm.case.categ,name:crm.categ_oppor8
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "Muu"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
|
@ -2701,7 +2707,7 @@ msgstr ""
|
|||
#: selection:crm.new.send.mail,init,state:0
|
||||
#: view:crm.opportunity:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
msgstr "Valmis"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.segmentation,som_interval_max:0
|
||||
|
@ -2732,7 +2738,7 @@ msgstr ""
|
|||
#: selection:report.crm.case.section.stage,state:0
|
||||
#, python-format
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
msgstr "Avoin"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.meeting,class:0
|
||||
|
@ -2776,29 +2782,29 @@ msgstr ""
|
|||
#: field:crm.opportunity.assign_wizard,user_id:0
|
||||
#: field:crm.phonecall.assign_wizard,user_id:0
|
||||
msgid "Responsible"
|
||||
msgstr ""
|
||||
msgstr "Vastuullinen"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_claim4
|
||||
#: model:crm.case.stage,name:crm.stage_meet3
|
||||
msgid "Invalid"
|
||||
msgstr ""
|
||||
msgstr "Virheellinen"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_button:crm.job.meeting_set,init,order:0
|
||||
#: wizard_button:crm.phonecall.meeting_set,init,order:0
|
||||
msgid "Set Meeting"
|
||||
msgstr ""
|
||||
msgstr "Aseta kokous"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.menu.config_wizard,meeting:0
|
||||
msgid "Calendar of Meetings"
|
||||
msgstr ""
|
||||
msgstr "Kokouskalenteri"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
msgid "Cases By Stage and Estimates"
|
||||
msgstr ""
|
||||
msgstr "Tapahtumat vaiheen ja arvioiden mukaan"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:0
|
||||
|
@ -2828,18 +2834,18 @@ msgstr "Suurin kommunikointihistoria"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Meeting For Leads Generation"
|
||||
msgstr ""
|
||||
msgstr "Kokous ohjausten luomiseksi"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:crm.lead.opportunity_set,create_partner:0
|
||||
#: wizard_view:crm.lead.partner_create,init:0
|
||||
msgid "Are you sure you want to create a partner based on this lead ?"
|
||||
msgstr ""
|
||||
msgstr "Oletko varma, että haluat luoda kumppanin perustuen tähän johtoon ?"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_job6
|
||||
msgid "Refused by Employee"
|
||||
msgstr ""
|
||||
msgstr "Hylätty työntekijän toimesta"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case,partner_name:0
|
||||
|
@ -2849,7 +2855,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_job2
|
||||
msgid "First Interview"
|
||||
msgstr ""
|
||||
msgstr "Ensimmäinen haastattelu"
|
||||
|
||||
#. module: crm
|
||||
#: view:report.crm.case.section.categ.categ2:0
|
||||
|
@ -2857,7 +2863,7 @@ msgstr ""
|
|||
#: view:report.crm.case.section.categ2:0
|
||||
#: view:report.crm.case.section.stage:0
|
||||
msgid "This Month"
|
||||
msgstr ""
|
||||
msgstr "Tässä kuussa"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.job:0
|
||||
|
|
|
@ -34,7 +34,7 @@ import time, socket
|
|||
email_re = re.compile(r"([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6})")
|
||||
case_re = re.compile(r"\[([0-9]+)\]", re.UNICODE)
|
||||
command_re = re.compile("^Set-([a-z]+) *: *(.+)$", re.I + re.UNICODE)
|
||||
reference_re = re.compile("<.*-tinycrm-(\\d+)@(.*)>", re.UNICODE)
|
||||
reference_re = re.compile("<.*-openobject-(\\d+)@(.*)>", re.UNICODE)
|
||||
|
||||
priorities = {
|
||||
'1': '1 (Highest)',
|
||||
|
@ -157,22 +157,37 @@ class email_parser(object):
|
|||
'partner_id': adr[0].get('partner_id', False) and adr[0]['partner_id'][0] or False
|
||||
}
|
||||
|
||||
def _to_decode(self, s, charsets):
|
||||
for charset in charsets:
|
||||
if charset:
|
||||
try:
|
||||
return s.decode(charset)
|
||||
except UnicodeError:
|
||||
pass
|
||||
try:
|
||||
return s.decode('ascii')
|
||||
except UnicodeError:
|
||||
return s
|
||||
|
||||
def _decode_header(self, s):
|
||||
from email.Header import decode_header
|
||||
s = decode_header(s)
|
||||
return ''.join(map(lambda x:x[0].decode(x[1] or 'ascii', 'replace'), s))
|
||||
s = decode_header(s)
|
||||
return ''.join(map(lambda x:self._to_decode(x[0], [x[1]]), s))
|
||||
|
||||
def msg_new(self, msg):
|
||||
message = self.msg_body_get(msg)
|
||||
msg_subject = self._decode_header(msg['Subject'])
|
||||
msg_from = self._decode_header(msg['From'])
|
||||
msg_cc = self._decode_header(msg['Cc'] or '')
|
||||
|
||||
data = {
|
||||
'name': self._decode_header(msg['Subject']),
|
||||
'email_from': self._decode_header(msg['From']),
|
||||
'email_cc': self._decode_header(msg['Cc'] or ''),
|
||||
'canal_id': self.canal_id,
|
||||
'name': msg_subject,
|
||||
'email_from': msg_from,
|
||||
'email_cc': msg_cc,
|
||||
'user_id': False,
|
||||
'description': message['body'],
|
||||
}
|
||||
data.update(self.partner_get(self._decode_header(msg['From'])))
|
||||
data.update(self.partner_get(msg_from))
|
||||
|
||||
try:
|
||||
id = self.rpc(self.model, 'create', data)
|
||||
|
@ -222,7 +237,7 @@ class email_parser(object):
|
|||
if part.get_content_maintype()=='text':
|
||||
buf = part.get_payload(decode=True)
|
||||
if buf:
|
||||
txt = buf.decode(part.get_charsets()[0] or 'ascii', 'replace')
|
||||
txt = self._to_decode(buf, part.get_charsets())
|
||||
txt = re.sub("<(\w)>", replace, txt)
|
||||
txt = re.sub("<\/(\w)>", replace, txt)
|
||||
if txt and part.get_content_subtype() == 'plain':
|
||||
|
|
|
@ -43,3 +43,4 @@
|
|||
"access_report_crm_helpdesk","report.crm.helpdesk","model_crm_helpdesk_report","crm.group_crm_user",1,1,1,1
|
||||
"access_crm_send_mail","crm.send.mail","model_crm_send_mail","crm.group_crm_user",1,1,1,1
|
||||
"access_crm_partner2opportunity","crm.partner2opportunity","model_crm_partner2opportunity","crm.group_crm_user",1,1,1,1
|
||||
"access_crm_lead2opportunity_partner","crm.lead2opportunity.partner","model_crm_lead2opportunity_partner","crm.group_crm_user",1,1,1,1
|
||||
|
|
|
|
@ -24,6 +24,7 @@ from osv import osv, fields
|
|||
from tools.translate import _
|
||||
import base64
|
||||
import tools
|
||||
from crm import crm
|
||||
|
||||
class crm_send_new_email(osv.osv_memory):
|
||||
""" Sends new email for the case"""
|
||||
|
@ -31,34 +32,24 @@ class crm_send_new_email(osv.osv_memory):
|
|||
_description = "Case Send new email"
|
||||
|
||||
_columns = {
|
||||
'to' : fields.char('To', size=64, required=True),
|
||||
'cc' : fields.char('CC', size=128),
|
||||
'subject': fields.char('Subject', size=128, required=True),
|
||||
'text': fields.text('Message', required=True),
|
||||
'state': fields.selection([('done', 'Done'), ('pending', 'Pending'), ('unchanged', 'Unchanged')], string='State', required=True),
|
||||
'doc1': fields.binary("Attachment1"),
|
||||
'doc2': fields.binary("Attachment2"),
|
||||
'doc3': fields.binary("Attachment3"),
|
||||
}
|
||||
'email_to' : fields.char('To', size=64, required=True),
|
||||
'email_from' : fields.char('From', size=64, required=True),
|
||||
'email_cc' : fields.char('CC', size=128),
|
||||
'subject': fields.char('Subject', size=128, required=True),
|
||||
'text': fields.text('Message', required=True),
|
||||
'state': fields.selection(crm.AVAILABLE_STATES, string='State'),
|
||||
'doc1': fields.binary("Attachment1"),
|
||||
'doc2': fields.binary("Attachment2"),
|
||||
'doc3': fields.binary("Attachment3"),
|
||||
}
|
||||
|
||||
def action_cancel(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Closes Phonecall to Opportunity form
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of Phonecall to Opportunity's IDs
|
||||
@param context: A standard dictionary for contextual values
|
||||
""" Closes Phonecall to Opportunity form
|
||||
"""
|
||||
return {'type':'ir.actions.act_window_close'}
|
||||
|
||||
def action_send(self, cr, uid, ids, context=None):
|
||||
""" This sends an email to ALL the addresses of the selected partners.
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of Phonecall to Opportunity's IDs
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
hist_obj = self.pool.get('crm.case.history')
|
||||
|
@ -84,50 +75,47 @@ class crm_send_new_email(osv.osv_memory):
|
|||
model = hist.log_id.model_id.model
|
||||
model_pool = self.pool.get(model)
|
||||
case = model_pool.browse(cr, uid, hist.log_id.res_id)
|
||||
emails = [data['to']] + (data['cc'] or '').split(',')
|
||||
emails = [data['email_to']] + (data['email_cc'] or '').split(',')
|
||||
emails = filter(None, emails)
|
||||
body = data['text']
|
||||
|
||||
if case.user_id.signature:
|
||||
body += '\n\n%s' % (case.user_id.signature)
|
||||
|
||||
case_pool._history(cr, uid, [case], _('Send'), history=True, email=data['to'], details=body)
|
||||
email_from = (case.user_id and case.user_id.address_id and \
|
||||
case.user_id.address_id.email) or tools.config.get('email_from',False)
|
||||
body = case_pool.format_body(body)
|
||||
email_from = data.get('email_from', False)
|
||||
case_pool._history(cr, uid, [case], _('Send'), history=True, email=data['email_to'], details=body, email_from=email_from)
|
||||
|
||||
flag = tools.email_send(
|
||||
email_from,
|
||||
emails,
|
||||
data['subject'],
|
||||
case_pool.format_body(body),
|
||||
body,
|
||||
attach=attach,
|
||||
reply_to=case.section_id.reply_to,
|
||||
openobject_id=str(case.id),
|
||||
)
|
||||
if flag:
|
||||
openobject_id=str(case.id),
|
||||
)
|
||||
if flag:
|
||||
if data['state'] == 'unchanged':
|
||||
pass
|
||||
elif data['state'] == 'done':
|
||||
case_pool.case_close(cr, uid, [case.id])
|
||||
elif data['state'] == 'pending':
|
||||
case_pool.case_pending(cr, uid, [case.id])
|
||||
elif data['state'] == 'draft':
|
||||
case_pool.case_reset(cr, uid, [case.id])
|
||||
elif data['state'] in ['cancel', 'open', 'pending']:
|
||||
act = 'case_' + data['state']
|
||||
getattr(case_pool, act)(cr, uid, [case.id])
|
||||
cr.commit()
|
||||
|
||||
# Commented because form does not close due to raise
|
||||
# raise osv.except_osv(_('Email!'), ("Email Successfully Sent"))
|
||||
# else:
|
||||
# raise osv.except_osv(_('Warning!'), _("Email not sent !"))
|
||||
|
||||
return {}
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
This function gets default values
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param fields: List of fields for default value
|
||||
@param context: A standard dictionary for contextual values
|
||||
|
||||
@return : default values of fields.
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
|
@ -146,12 +134,16 @@ class crm_send_new_email(osv.osv_memory):
|
|||
res_id = context and context.get('active_ids', []) or []
|
||||
|
||||
for case in mod_obj.browse(cr, uid, res_id):
|
||||
if 'to' in fields:
|
||||
res.update({'to': case.email_from})
|
||||
if 'email_to' in fields:
|
||||
res.update({'email_to': case.email_from})
|
||||
if 'email_from' in fields:
|
||||
res.update({'email_from': (case.section_id and case.section_id.reply_to) or \
|
||||
(case.user_id and case.user_id.address_id and \
|
||||
case.user_id.address_id.email) or tools.config.get('email_from',False)})
|
||||
if 'subject' in fields:
|
||||
res.update({'subject': '[%s] %s' %(str(case.id), case.name or '')})
|
||||
if 'cc' in fields:
|
||||
res.update({'cc': case.email_cc or ''})
|
||||
if 'email_cc' in fields:
|
||||
res.update({'email_cc': case.email_cc or ''})
|
||||
if 'text' in fields:
|
||||
res.update({'text': case.description or ''})
|
||||
if 'state' in fields:
|
||||
|
@ -161,13 +153,6 @@ class crm_send_new_email(osv.osv_memory):
|
|||
def get_reply_defaults(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
This function gets default values for reply mail
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param fields: List of fields for default value
|
||||
@param context: A standard dictionary for contextual values
|
||||
|
||||
@return : default values of fields.
|
||||
"""
|
||||
hist_obj = self.pool.get('crm.case.history')
|
||||
res_ids = context and context.get('active_ids', []) or []
|
||||
|
@ -176,21 +161,25 @@ class crm_send_new_email(osv.osv_memory):
|
|||
model = hist.log_id.model_id.model
|
||||
model_pool = self.pool.get(model)
|
||||
case = model_pool.browse(cr, uid, hist.log_id.res_id)
|
||||
if 'to' in fields and hist.email:
|
||||
res.update({'to': hist.email})
|
||||
if 'email_to' in fields:
|
||||
res.update({'email_to': case.email_from or hist.email_from or False})
|
||||
if 'email_from' in fields:
|
||||
res.update({'email_from': (case.section_id and case.section_id.reply_to) or \
|
||||
(case.user_id and case.user_id.address_id and \
|
||||
case.user_id.address_id.email) or hist.email_to or tools.config.get('email_from',False)})
|
||||
if 'text' in fields:
|
||||
header = '-------- Original Message --------'
|
||||
sender = 'From: %s' %(hist.email_from or tools.config.get('email_from',False))
|
||||
to = 'To: %s' % (hist.email)
|
||||
sentdate = 'Sent: %s' % (hist.date)
|
||||
sender = 'From: %s' %(hist.email_from or '')
|
||||
to = 'To: %s' % (hist.email_to or '')
|
||||
sentdate = 'Date: %s' % (hist.date)
|
||||
desc = '\n%s'%(hist.description)
|
||||
original = [header, sender, to, sentdate, desc]
|
||||
original = '\n'.join(original)
|
||||
res.update({'text': '\n\n%s'%(original)})
|
||||
res['text']=original
|
||||
if 'subject' in fields:
|
||||
res.update({'subject': '[%s] %s' %(str(case.id), case.name or '')})
|
||||
#if 'state' in fields:
|
||||
# res.update({'state': 'pending'})
|
||||
if 'state' in fields:
|
||||
res['state']='pending'
|
||||
return res
|
||||
|
||||
def view_init(self, cr, uid, fields_list, context=None):
|
||||
|
|
|
@ -10,8 +10,9 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send New Mail" col="2">
|
||||
<field name="to" />
|
||||
<field name="cc" />
|
||||
<field name="email_from" />
|
||||
<field name="email_to" />
|
||||
<field name="email_cc" />
|
||||
<field name="subject" />
|
||||
<field name="doc1" />
|
||||
<field name="doc2" />
|
||||
|
@ -50,8 +51,9 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Reply to last Mail" col="2">
|
||||
<field name="to" />
|
||||
<field name="cc" />
|
||||
<field name="email_from" />
|
||||
<field name="email_to" />
|
||||
<field name="email_cc" />
|
||||
<field name="subject" />
|
||||
<field name="doc1" />
|
||||
<field name="doc2" />
|
||||
|
|
|
@ -313,11 +313,9 @@ class crm_segmentation(osv.osv):
|
|||
partners.remove(pid)
|
||||
|
||||
for partner_id in partners:
|
||||
cr.execute('insert into res_partner_category_rel (category_id,partner_id) values (%s,%s)', (categ['categ_id'][0], partner_id))
|
||||
cr.commit()
|
||||
cr.execute('insert into res_partner_category_rel (category_id,partner_id) values (%s,%s)', (categ['categ_id'][0],partner_id))
|
||||
|
||||
self.write(cr, uid, [id], {'state':'not running', 'partner_id':0})
|
||||
cr.commit()
|
||||
return True
|
||||
|
||||
crm_segmentation()
|
||||
|
|
|
@ -148,32 +148,32 @@
|
|||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="email_to"/>
|
||||
<field name="email_from"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4"
|
||||
nolabel="1" widget="text_tag" readonly="1" />
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(crm.action_crm_reply_mail)d"
|
||||
context="{'mail':'reply', 'model': 'hr.applicant'}" icon="gtk-undo"
|
||||
type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'hr.applicant'}" icon="gtk-go-forward"
|
||||
type="action" />
|
||||
</page>
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'reply', 'model': 'hr.applicant'}"
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email_to"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'hr.applicant'}"
|
||||
icon="gtk-go-forward" type="action" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2008-11-01 16:03+0000\n"
|
||||
"Last-Translator: Sergei Kostigoff <sergei.kostigoff@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-03-30 10:33+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 04:05+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: idea
|
||||
|
@ -44,7 +44,7 @@ msgstr "Мои идеи"
|
|||
#. module: idea
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Недопустимое имя модели в определении действия"
|
||||
|
||||
#. module: idea
|
||||
#: selection:idea.idea,my_vote:0
|
||||
|
@ -119,7 +119,7 @@ msgstr "Категория идеи"
|
|||
#. module: idea
|
||||
#: model:ir.module.module,shortdesc:idea.module_meta_information
|
||||
msgid "Idea Manager"
|
||||
msgstr ""
|
||||
msgstr "Менеджер идеи"
|
||||
|
||||
#. module: idea
|
||||
#: model:ir.ui.menu,name:idea.menu_idea_vote_stat
|
||||
|
@ -222,6 +222,13 @@ msgid ""
|
|||
"managers can obtain an easy view on best ideas from all the users. Once "
|
||||
"installed, check the menu 'Ideas' in the 'Tools' main menu."
|
||||
msgstr ""
|
||||
"Этот модуль позволяет вашему пользователю легко и эффективно участвовать в "
|
||||
"инновациях бизнеса. Он позволяет каждому выразить идеи о различных вопросах. "
|
||||
"После этого, другие пользователи могут прокомментировать эти идеи и провести "
|
||||
"голосование за идеи. Каждая идея как счет основанный на различных "
|
||||
"голосованиях. Менеджеры могут получить легкий взгляд на самые лучшие идеии "
|
||||
"от всех пользователей. Как только установлено, проверите меню «идеи» в "
|
||||
"главном меню «Инструменты»."
|
||||
|
||||
#. module: idea
|
||||
#: field:idea.comment,create_date:0
|
||||
|
@ -242,7 +249,7 @@ msgstr "Кол-во голосов"
|
|||
#. module: idea
|
||||
#: model:ir.model,name:idea.model_idea_idea
|
||||
msgid "idea.idea"
|
||||
msgstr ""
|
||||
msgstr "идеи.идеи"
|
||||
|
||||
#. module: idea
|
||||
#: model:ir.actions.act_window,name:idea.action_idea_idea_draft_my
|
||||
|
@ -307,7 +314,7 @@ msgstr "Открытые идеи"
|
|||
#: view:idea.idea:0
|
||||
#: view:idea.vote.stat:0
|
||||
msgid "vote_stat of ideas"
|
||||
msgstr ""
|
||||
msgstr "Статистика голосования"
|
||||
|
||||
#. module: idea
|
||||
#: view:idea.comment:0
|
||||
|
|
|
@ -230,19 +230,19 @@ class wizard_vat(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [],
|
||||
'result': {'type':'form', 'arch':form, 'fields':fields, 'state':[('end','Cancel'),('go_step','View Clients')]},
|
||||
'result': {'type':'form', 'arch':form, 'fields':fields, 'state':[('end','Cancel', 'gtk-cancel'),('go_step','View Clients', 'gtk-ok')]},
|
||||
},
|
||||
'go_step': {
|
||||
'actions': [_get_partner],
|
||||
'result': {'type':'form', 'arch':client_form, 'fields':client_fields, 'state':[('end','Cancel'),('go','Create XML')]},
|
||||
'result': {'type':'form', 'arch':client_form, 'fields':client_fields, 'state':[('end','Cancel', 'gtk-cancel'),('go','Create XML', 'gtk-ok')]},
|
||||
},
|
||||
'go': {
|
||||
'actions': [_create_xml],
|
||||
'result': {'type':'form', 'arch':msg_form, 'fields':msg_fields, 'state':[('end','Ok')]},
|
||||
'result': {'type':'form', 'arch':msg_form, 'fields':msg_fields, 'state':[('end','Ok', 'gtk-cancel')]},
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
wizard_vat('list.vat.detail')
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -222,11 +222,11 @@ class parter_vat_intra(wizard.interface):
|
|||
states = {
|
||||
'init': {
|
||||
'actions': [_get_europe_country],
|
||||
'result': {'type': 'form', 'arch':form_intra, 'fields': fields_intra, 'state':[('end','Cancel'),('go','Create XML') ]}
|
||||
'result': {'type': 'form', 'arch':form_intra, 'fields': fields_intra, 'state':[('end','Cancel', 'gtk-cancel'),('go','Create XML', 'gtk-ok') ]}
|
||||
},
|
||||
'go': {
|
||||
'actions': [_create_xml],
|
||||
'result': {'type':'form', 'arch':msg_form, 'fields':msg_fields, 'state':[('end','Ok')]},
|
||||
'result': {'type':'form', 'arch':msg_form, 'fields':msg_fields, 'state':[('end','Ok', 'gtk-cancel')]},
|
||||
}
|
||||
}
|
||||
parter_vat_intra('vat.intra.xml')
|
||||
parter_vat_intra('vat.intra.xml')
|
||||
|
|
|
@ -210,10 +210,22 @@ class mail_gateway(osv.osv):
|
|||
}
|
||||
return res
|
||||
|
||||
def _decode_header(self, s):
|
||||
def _to_decode(self, s, charsets):
|
||||
for charset in charsets:
|
||||
if charset:
|
||||
try:
|
||||
return s.decode(charset)
|
||||
except UnicodeError:
|
||||
pass
|
||||
try:
|
||||
return s.decode('ascii')
|
||||
except UnicodeError:
|
||||
return s
|
||||
|
||||
def _decode_header(self, s):
|
||||
from email.Header import decode_header
|
||||
s = decode_header(s)
|
||||
return ''.join(map(lambda x:x[0].decode(x[1] or 'ascii', 'replace'), s))
|
||||
return ''.join(map(lambda x:self._to_decode(x[0], x[1]), s))
|
||||
|
||||
def msg_new(self, cr, uid, msg, model):
|
||||
message = self.msg_body_get(msg)
|
||||
|
@ -250,7 +262,7 @@ class mail_gateway(osv.osv):
|
|||
if part.get_content_maintype()=='text':
|
||||
buf = part.get_payload(decode=True)
|
||||
if buf:
|
||||
txt = buf.decode(part.get_charsets()[0] or 'ascii', 'replace')
|
||||
txt = self._to_decode(buf, part.get_charsets())
|
||||
txt = re.sub("<(\w)>", replace, txt)
|
||||
txt = re.sub("<\/(\w)>", replace, txt)
|
||||
if txt and part.get_content_subtype() == 'plain':
|
||||
|
@ -362,13 +374,11 @@ class mail_gateway(osv.osv):
|
|||
del msg['Subject']
|
||||
msg['Subject'] = '[%s] %s' %(str(res_id), subject)
|
||||
|
||||
em = [user_email, from_email] + (cc_email or '').split(',')
|
||||
em = [user_email or '', from_email] + (cc_email or '').split(',')
|
||||
emails = map(self.emails_get, filter(None, em))
|
||||
|
||||
mm = [self._decode_header(msg['From']), self._decode_header(msg['To'])]+self._decode_header(msg.get('Cc','')).split(',')
|
||||
msg_mails = map(self.emails_get, filter(None, mm))
|
||||
|
||||
emails = filter(lambda m: m and m not in msg_mails, emails)
|
||||
emails = filter(lambda m: m and m not in msg_mails, emails)
|
||||
try:
|
||||
self.msg_send(msg, mailgateway.reply_to, emails, priority, res_id)
|
||||
if hasattr(self.pool.get(res_model), 'msg_send'):
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-01-15 20:33+0000\n"
|
||||
"Last-Translator: lem0na <nickyk@gmx.net>\n"
|
||||
"PO-Revision-Date: 2010-03-31 09:02+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 03:54+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: mrp
|
||||
|
@ -1889,7 +1889,7 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: model:ir.ui.menu,name:mrp.menu_mrp_root
|
||||
msgid "Manufacturing"
|
||||
msgstr ""
|
||||
msgstr "Производство"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.mrp_procurement_action3
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.1\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-01-11 20:49+0000\n"
|
||||
"PO-Revision-Date: 2010-03-30 14:06+0000\n"
|
||||
"Last-Translator: TeMPO <info@tempo-consulting.fr>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 03:54+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: mrp
|
||||
|
@ -853,7 +853,7 @@ msgstr "Machine"
|
|||
#. module: mrp
|
||||
#: model:process.node,name:mrp.process_node_servicemts0
|
||||
msgid "Make to stock"
|
||||
msgstr "Production sur stock"
|
||||
msgstr "Sur stock"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.workcenter,name:0
|
||||
|
@ -1088,7 +1088,7 @@ msgstr "Rendement produit"
|
|||
#. module: mrp
|
||||
#: model:ir.model,name:mrp.model_stock_warehouse_orderpoint
|
||||
msgid "Orderpoint minimum rule"
|
||||
msgstr "Règle de point de commande minimum"
|
||||
msgstr "Règle de stock minimum"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,name:mrp.process_transition_servicemts0
|
||||
|
|
|
@ -7,24 +7,24 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 15:56+0000\n"
|
||||
"Last-Translator: Sergei Kostigoff <sergei.kostigoff@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-03-30 10:42+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 03:55+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.production,move_created_ids:0
|
||||
msgid "Moves Created"
|
||||
msgstr ""
|
||||
msgstr "Перемещение создано"
|
||||
|
||||
#. module: mrp
|
||||
#: rml:mrp.production.order:0
|
||||
msgid "No. Of Cycles"
|
||||
msgstr ""
|
||||
msgstr "№ цикла"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.procurement.compute.all,init,automatic:0
|
||||
|
@ -37,34 +37,34 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: model:ir.module.module,shortdesc:mrp.module_meta_information
|
||||
msgid "Manufacturing Resource Planning"
|
||||
msgstr ""
|
||||
msgstr "Планирование материальных ресурсов"
|
||||
|
||||
#. module: mrp
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Недопустимое имя модели в определении действия"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.bom.revision,indice:0
|
||||
msgid "Revision"
|
||||
msgstr ""
|
||||
msgstr "Ревизия"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.wizard,name:mrp.wiz_mrp_proc2
|
||||
#: model:ir.ui.menu,name:mrp.menu_wiz_mrp_proc2
|
||||
msgid "Compute Stock Minimum Rules Only"
|
||||
msgstr ""
|
||||
msgstr "Правила вычисления минимального запаса"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.mrp_procurement_action5
|
||||
#: model:ir.ui.menu,name:mrp.menu_mrp_procurement_action5
|
||||
msgid "Exceptions Procurements"
|
||||
msgstr ""
|
||||
msgstr "Исключения поставок"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.routing.workcenter:0
|
||||
msgid "Routing Workcenters"
|
||||
msgstr ""
|
||||
msgstr "Используемые мощности маршрута"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.property,composition:0
|
||||
|
@ -75,7 +75,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:mrp.mrp_routing_action
|
||||
#: model:ir.ui.menu,name:mrp.menu_mrp_routing_action
|
||||
msgid "Routings"
|
||||
msgstr ""
|
||||
msgstr "Маршруты"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.production,picking_id:0
|
||||
|
@ -85,7 +85,7 @@ msgstr "Упаковочный лист"
|
|||
#. module: mrp
|
||||
#: model:process.node,name:mrp.process_node_stock0
|
||||
msgid "Stockable Stock"
|
||||
msgstr ""
|
||||
msgstr "Склад для складирования"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.procurement,origin:0
|
||||
|
@ -107,7 +107,7 @@ msgstr "Ссылка"
|
|||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
msgid "Finished Products"
|
||||
msgstr ""
|
||||
msgstr "Конечный продукт"
|
||||
|
||||
#. module: mrp
|
||||
#: wizard_field:mrp.procurement.compute.all,init,automatic:0
|
||||
|
@ -118,7 +118,7 @@ msgstr ""
|
|||
#. module: mrp
|
||||
#: selection:mrp.bom,method:0
|
||||
msgid "Set / Pack"
|
||||
msgstr ""
|
||||
msgstr "Установить / Упаковать"
|
||||
|
||||
#. module: mrp
|
||||
#: constraint:ir.ui.view:0
|
||||
|
@ -149,7 +149,7 @@ msgstr "Продукция и местоположения"
|
|||
#. module: mrp
|
||||
#: view:res.company:0
|
||||
msgid "MRP & Logistic Scheduler"
|
||||
msgstr ""
|
||||
msgstr "ПМР и Логистическое планирование"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.workcenter,capacity_per_cycle:0
|
||||
|
|
|
@ -144,8 +144,7 @@ class mrp_bom(osv.osv):
|
|||
|
||||
@return: True
|
||||
|
||||
"""
|
||||
|
||||
"""
|
||||
result = {}
|
||||
for bom in self.browse(cr, uid, ids, context=context):
|
||||
result[bom.id] = map(lambda x: x.id, bom.bom_lines)
|
||||
|
@ -156,10 +155,7 @@ class mrp_bom(osv.osv):
|
|||
sids = self.pool.get('mrp.bom').search(cr, uid, [('bom_id','=',False),('product_id','=',bom.product_id.id)])
|
||||
if sids:
|
||||
bom2 = self.pool.get('mrp.bom').browse(cr, uid, sids[0], context=context)
|
||||
result[bom.id] += map(lambda x: x.id, bom2.bom_lines)
|
||||
print "name",name
|
||||
print "arg",arg
|
||||
print "result",result
|
||||
result[bom.id] += map(lambda x: x.id, bom2.bom_lines)
|
||||
return result
|
||||
def _compute_type(self, cr, uid, ids, field_name, arg, context):
|
||||
res = dict(map(lambda x: (x,''), ids))
|
||||
|
|
|
@ -158,28 +158,8 @@ class pos_order(osv.osv):
|
|||
if val<o.date_created:
|
||||
val=o.date_created
|
||||
if val:
|
||||
# cr.execute("Update pos_order set date_payment='%s' where id = %d"%(val, order.id))
|
||||
# cr.commit()
|
||||
res[order.id]=val
|
||||
return res
|
||||
# tax_obj = self.pool.get('account.tax')
|
||||
# pay_obj = self.pool.get('pos.payment')
|
||||
# for order in self.browse(cr, uid, ids):
|
||||
# val = 0.0
|
||||
# tot =0.0
|
||||
# for pay in order.payments:
|
||||
# tot+= pay.amount
|
||||
# if order.amount_total==tot:
|
||||
# res[order.id]=time.strftime('%Y-%m-%d')
|
||||
# for line in order.lines:
|
||||
|
||||
# val = reduce(lambda x, y: x+round(y['amount'], 2),
|
||||
# tax_obj.compute_inv(cr, uid, line.product_id.taxes_id,
|
||||
# line.price_unit * \
|
||||
# (1-(line.discount or 0.0)/100.0), line.qty),
|
||||
# val)
|
||||
|
||||
# res[order.id] = val
|
||||
|
||||
def _amount_tax(self, cr, uid, ids, field_name, arg, context):
|
||||
res = {}
|
||||
|
@ -565,7 +545,6 @@ class pos_order(osv.osv):
|
|||
val=val and val[0] or None
|
||||
if val:
|
||||
cr.execute("Update pos_order set date_payment='%s' where id = %d"%(val, order.id))
|
||||
cr.commit()
|
||||
return True
|
||||
|
||||
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2008-10-01 22:00+0000\n"
|
||||
"Last-Translator: Tsvetin Vasilev <cecipv@yahoo.com>\n"
|
||||
"PO-Revision-Date: 2010-03-31 08:41+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 03:51+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: project
|
||||
|
@ -559,7 +559,7 @@ msgstr "Невалиден XML за преглед на архитектурат
|
|||
#: model:ir.ui.menu,name:project.menu_main
|
||||
#: view:res.company:0
|
||||
msgid "Project Management"
|
||||
msgstr "Управление на проекти"
|
||||
msgstr "Проекти"
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,effective_hours:0
|
||||
|
|
|
@ -88,8 +88,7 @@
|
|||
<separator string="Action Information" colspan="4"/>
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="date" />
|
||||
<field name="user_id" />
|
||||
<field name="canal_id"/>
|
||||
<field name="user_id" />
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
|
@ -101,8 +100,8 @@
|
|||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="email_to"/>
|
||||
<field name="email_from"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
|
@ -112,13 +111,13 @@
|
|||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4"
|
||||
string="Reply to Last Email"
|
||||
name="%(crm.action_crm_reply_mail)d"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'reply', 'model': 'project.issue'}"
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="email_to"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
|
|
@ -35,11 +35,7 @@ class project_issue_report(osv.osv):
|
|||
c.priority as priority,
|
||||
c.project_id as project_id,
|
||||
c.type_id as type_id,
|
||||
count(*) as nbr,
|
||||
sum(planned_revenue) as amount_revenue,
|
||||
sum(planned_cost) as amount_costs,
|
||||
sum(planned_revenue*probability/100)::decimal(16,2) as amount_revenue_prob,
|
||||
avg(probability)::decimal(16,2) as probability,
|
||||
count(*) as nbr,
|
||||
to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
|
||||
from
|
||||
project_issue c
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-02-22 21:23+0000\n"
|
||||
"Last-Translator: lem0na <nickyk@gmx.net>\n"
|
||||
"PO-Revision-Date: 2010-03-31 08:57+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 03:55+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: purchase
|
||||
|
@ -482,7 +482,7 @@ msgstr ""
|
|||
#: model:ir.module.module,shortdesc:purchase.module_meta_information
|
||||
#: model:ir.ui.menu,name:purchase.menu_purchase_root
|
||||
msgid "Purchase Management"
|
||||
msgstr ""
|
||||
msgstr "Поръчки"
|
||||
|
||||
#. module: purchase
|
||||
#: field:purchase.order,partner_ref:0
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0_rc3\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-12-26 09:01+0000\n"
|
||||
"Last-Translator: lem0na <nickyk@gmx.net>\n"
|
||||
"PO-Revision-Date: 2010-03-31 08:48+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-30 04:05+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: sale
|
||||
|
@ -599,7 +599,7 @@ msgstr "Опаковане"
|
|||
#: model:ir.module.module,shortdesc:sale.module_meta_information
|
||||
#: model:ir.ui.menu,name:sale.menu_sale_root
|
||||
msgid "Sales Management"
|
||||
msgstr "Управление на продажби"
|
||||
msgstr "Продажби"
|
||||
|
||||
#. module: sale
|
||||
#: field:sale.order.line,order_id:0
|
||||
|
@ -1174,7 +1174,7 @@ msgstr "Фактура за"
|
|||
#: model:ir.actions.act_window,name:sale.action_order_tree_new
|
||||
#: model:ir.ui.menu,name:sale.menu_action_order_tree_new
|
||||
msgid "New Quotation"
|
||||
msgstr "Ново запитване"
|
||||
msgstr "Нова оферта"
|
||||
|
||||
#. module: sale
|
||||
#: view:sale.order:0
|
||||
|
|
|
@ -85,7 +85,6 @@
|
|||
<field name="invoiced_rate" widget="progressbar"/>
|
||||
<field name="amount_untaxed" sum="Total Untaxed amount"/>
|
||||
<field name="amount_total" sum="Total amount"/>
|
||||
<field name="user_id"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
|
|
@ -48,10 +48,11 @@ Thanks to the double entry management, the inventory controlling is powerful and
|
|||
"wizard/stock_inventory_set_stock_zero_view.xml",
|
||||
"wizard/stock_fill_inventory_view.xml",
|
||||
"wizard/stock_invoice_onshipping_view.xml",
|
||||
"wizard/stock_inventory_merge_view.xml",
|
||||
"wizard/stock_location_product_view.xml",
|
||||
"wizard/stock_inventory_line_split_view.xml",
|
||||
"wizard/stock_change_standard_price_view.xml",
|
||||
|
||||
"wizard/stock_picking_make_view.xml",
|
||||
"wizard/stock_traceability_view.xml",
|
||||
"stock_workflow.xml",
|
||||
"stock_incoterms.xml",
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
</record>
|
||||
<record model="ir.rule" id="stock_picking_rule">
|
||||
<field model="ir.model.fields" name="field_id" search="[('model','=','stock.picking'),('name','=','company_id')]"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),,('company_id','=',False)]</field>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','=',False)]</field>
|
||||
<field name="operator">child_of</field>
|
||||
<field name="operand">user.company_id.id</field>
|
||||
<field name="rule_group" ref="stock_picking_rule_group"/>
|
||||
|
@ -41,7 +41,7 @@
|
|||
<record model="ir.rule" id="stock_warehouse_comp_rule">
|
||||
<field name="field_id" search="[('model','=','stock.warehouse'),('name','=','company_id')]" model="ir.model.fields"/>
|
||||
<field name="rule_group" ref="stock_warehouse_comp_rule_group"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),,('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule.group" id="stock_location_comp_rule_group">
|
||||
|
@ -52,7 +52,7 @@
|
|||
<record model="ir.rule" id="stock_location_comp_rule">
|
||||
<field name="field_id" search="[('model','=','stock.location'),('name','=','company_id')]" model="ir.model.fields"/>
|
||||
<field name="rule_group" ref="stock_location_comp_rule_group"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),,('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule.group" id="stock_move_rule_group">
|
||||
|
@ -76,7 +76,7 @@
|
|||
<record model="ir.rule" id="stock_inventory_line_comp_rule">
|
||||
<field name="field_id" search="[('model','=','stock.inventory.line'),('name','=','company_id')]" model="ir.model.fields"/>
|
||||
<field name="rule_group" ref="stock_inventory_line_comp_rule_group"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),,('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule.group" id="stock_inventory_comp_rule_group">
|
||||
|
|
|
@ -543,12 +543,12 @@ class stock_picking(osv.osv):
|
|||
# TODO: Check locations to see if in the same location ?
|
||||
return True
|
||||
|
||||
def button_confirm(self, cr, uid, ids, *args):
|
||||
for id in ids:
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'stock.picking', id, 'button_confirm', cr)
|
||||
self.force_assign(cr, uid, ids, *args)
|
||||
return True
|
||||
# def button_confirm(self, cr, uid, ids, *args):
|
||||
# for id in ids:
|
||||
# wf_service = netsvc.LocalService("workflow")
|
||||
# wf_service.trg_validate(uid, 'stock.picking', id, 'button_confirm', cr)
|
||||
# self.force_assign(cr, uid, ids, *args)
|
||||
# return True
|
||||
|
||||
def action_assign(self, cr, uid, ids, *args):
|
||||
for pick in self.browse(cr, uid, ids):
|
||||
|
@ -2095,7 +2095,6 @@ class stock_picking_move_wizard(osv.osv_memory):
|
|||
if line.picking_id:
|
||||
picking_obj.write(cr, uid, [line.picking_id.id], {'move_lines': [(1, line.id, {'picking_id': act['picking_id']})]})
|
||||
picking_obj.write(cr, uid, [act['picking_id']], {'move_lines': [(1, line.id, {'picking_id': act['picking_id']})]})
|
||||
cr.commit()
|
||||
old_picking = picking_obj.read(cr, uid, [line.picking_id.id])[0]
|
||||
if not len(old_picking['move_lines']):
|
||||
picking_obj.write(cr, uid, [old_picking['id']], {'state': 'done'})
|
||||
|
|
|
@ -585,7 +585,7 @@
|
|||
<field name="min_date" select="1"/>
|
||||
<field name="type"/>
|
||||
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
|
||||
<button name="%(make_picking)d"
|
||||
<button name="%(act_stock_make_picking_wizard)d"
|
||||
states="confirmed,assigned"
|
||||
string="Make Picking"
|
||||
type="action"
|
||||
|
@ -752,7 +752,7 @@
|
|||
<field name="min_date" select="1"/>
|
||||
<field name="type"/>
|
||||
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
|
||||
<button name="%(make_picking)d"
|
||||
<button name="%(act_stock_make_picking_wizard)d"
|
||||
states="assigned"
|
||||
string="Make Picking"
|
||||
type="action"
|
||||
|
@ -946,7 +946,7 @@
|
|||
<field name="backorder_id" select="2" readonly="1"/>
|
||||
<field name="origin" select="2" readonly="1"/>
|
||||
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
|
||||
<button name="%(make_picking)d"
|
||||
<button name="%(act_stock_make_picking_wizard)d"
|
||||
states="assigned"
|
||||
string="Make Picking"
|
||||
type="action"
|
||||
|
@ -1141,7 +1141,7 @@
|
|||
<field name="invoice_state" select="2" string="Invoice Control"/>
|
||||
<field name="type"/>
|
||||
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
|
||||
<button name="%(make_picking)d"
|
||||
<button name="%(act_stock_make_picking_wizard)d"
|
||||
states="confirmed,assigned"
|
||||
string="Make Picking"
|
||||
type="action"
|
||||
|
|
|
@ -12,16 +12,9 @@
|
|||
model="stock.picking"
|
||||
multi="True"
|
||||
name="stock.move.split"
|
||||
string="Split move line"/>
|
||||
|
||||
string="Split move line"/>
|
||||
|
||||
<wizard
|
||||
id="make_picking"
|
||||
model="stock.picking"
|
||||
menu="False"
|
||||
keyword="client_action_multi"
|
||||
name="stock.picking.make"
|
||||
string="Make Picking"/>
|
||||
|
||||
|
||||
<wizard
|
||||
id="return_picking"
|
||||
|
@ -31,20 +24,11 @@
|
|||
name="stock.return.picking"
|
||||
string="Return picking"/>
|
||||
|
||||
<wizard
|
||||
id="split_inventory_lots"
|
||||
model="stock.inventory.line"
|
||||
multi="True"
|
||||
name="stock.inventory.line.split"
|
||||
string="Split inventory lines"/>
|
||||
|
||||
<!--wizard
|
||||
string="Merge inventories"
|
||||
model="stock.inventory"
|
||||
name="inventory.merge"
|
||||
keyword="client_action_multi"
|
||||
multi="True"
|
||||
id="wizard_merge_inventory"/-->
|
||||
|
||||
<wizard
|
||||
id="split_inventory_lots"
|
||||
model="stock.inventory.line"
|
||||
multi="True"
|
||||
name="stock.inventory.line.split"
|
||||
string="Split inventory lines"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -23,7 +23,7 @@ import stock_traceability
|
|||
import stock_move
|
||||
import stock_partial_picking
|
||||
import stock_partial_move
|
||||
#import stock_picking_make
|
||||
import stock_picking_make
|
||||
import wizard_replacement
|
||||
import wizard_return
|
||||
import wizard_split_lot_line
|
||||
|
|
|
@ -36,7 +36,18 @@ class stock_inventory_merge(osv.osv_memory):
|
|||
}
|
||||
|
||||
def do_merge(self, cr, uid, ids, context):
|
||||
|
||||
"""
|
||||
To merge selected Inventories.
|
||||
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param ids: List of IDs selected
|
||||
@param context: A standard dictionary
|
||||
|
||||
@return:
|
||||
|
||||
"""
|
||||
invent_obj = self.pool.get('stock.inventory')
|
||||
invent_line_obj = self.pool.get('stock.inventory.line')
|
||||
|
||||
|
@ -46,10 +57,7 @@ class stock_inventory_merge(osv.osv_memory):
|
|||
raise osv.except_osv(_('Warning'),
|
||||
_('Please select at least two inventories.'))
|
||||
|
||||
|
||||
|
||||
for inventory in invent_obj.browse(cr, uid, context['active_ids'], context=context):
|
||||
print"-------active-ids----",context['active_ids']
|
||||
if inventory.state == "done":
|
||||
raise osv.except_osv(_('Warning'),
|
||||
_('Merging is only allowed on draft inventories.'))
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="name_form" model="ir.ui.view">
|
||||
<field name="name">stock.inventory.merge.form</field>
|
||||
<field name="model">stock.inventory.merge</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Merge inventories">
|
||||
<separator colspan="4" string="Merge inventories" />
|
||||
<label string="Do you want to merge theses inventories ?"/>
|
||||
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
|
||||
<button name="do_merge" string="Yes" type="object" icon="gtk-apply"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<act_window name="Merge inventories"
|
||||
res_model="stock.inventory.merge"
|
||||
src_model="stock.inventory"
|
||||
view_mode="form"
|
||||
target="new"
|
||||
key2="client_action_multi"
|
||||
id="action_view_stock_merge_inventories"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -20,83 +20,60 @@
|
|||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
from service import web_services
|
||||
from tools.misc import UpdateableStr, UpdateableDict
|
||||
from tools.translate import _
|
||||
import netsvc
|
||||
import pooler
|
||||
import time
|
||||
import wizard
|
||||
|
||||
class stock_picking_make(osv.osv_memory):
|
||||
_name = "stock.picking.make"
|
||||
_description = "Make picking"
|
||||
_name = 'stock.picking.make'
|
||||
_description = "Make Picking"
|
||||
|
||||
_columns = {
|
||||
'pickings': fields.many2many('stock.picking', 'Picking', required=True),
|
||||
}
|
||||
|
||||
ARCH = '''<?xml version="1.0"?>
|
||||
<form string="Make picking">
|
||||
<field name="pickings" nolabel="1" colspan="4"
|
||||
width="600" height="300"/>
|
||||
</form>'''
|
||||
|
||||
FIELDS = {
|
||||
'pickings': {
|
||||
'string': 'Picking',
|
||||
'type': 'many2many',
|
||||
'relation': 'stock.picking',
|
||||
'readonly': True,
|
||||
},
|
||||
}
|
||||
|
||||
def _get_value(obj, cursor, user, data, context):
|
||||
pool = pooler.get_pool(cursor.dbname)
|
||||
picking_obj = pool.get('stock.picking')
|
||||
|
||||
picking_ids = picking_obj.search(cursor, user, [
|
||||
('id', 'in', data['ids']),
|
||||
('state', '<>', 'done'),
|
||||
('state', '<>', 'cancel')], context=context)
|
||||
return {'pickings': picking_ids}
|
||||
|
||||
def _make_packing(obj, cursor, user, data, context):
|
||||
wkf_service = netsvc.LocalService('workflow')
|
||||
pool = pooler.get_pool(cursor.dbname)
|
||||
picking_obj = pool.get('stock.picking')
|
||||
ids = data['form']['pickings'][0][2]
|
||||
print"-------ids--------",ids
|
||||
picking_obj.force_assign(cursor, user, ids)
|
||||
picking_obj.action_move(cursor, user, ids)
|
||||
for picking_id in ids:
|
||||
wkf_service.trg_validate(user, 'stock.picking', picking_id,
|
||||
'button_done', cursor)
|
||||
return {}
|
||||
|
||||
class stock_picking_make(wizard.interface):
|
||||
states = {
|
||||
'init': {
|
||||
'actions': [_get_value],
|
||||
'result': {
|
||||
'type': 'form',
|
||||
'arch': ARCH,
|
||||
'fields': FIELDS,
|
||||
'state': [
|
||||
('end', 'Cancel', 'gtk-cancel'),
|
||||
('make', 'Ok', 'gtk-apply', True)
|
||||
],
|
||||
},
|
||||
},
|
||||
'make': {
|
||||
'actions': [_make_packing],
|
||||
'result': {
|
||||
'type': 'state',
|
||||
'state':'end',
|
||||
},
|
||||
},
|
||||
'picking_ids': fields.many2many('stock.picking', 'stock_picking_ids', 'parent_id', 'child_id', 'Pickings'),
|
||||
}
|
||||
|
||||
stock_picking_make('stock.picking.make')
|
||||
def default_get(self, cursor, user, fields, context):
|
||||
"""
|
||||
To get default values for the object.
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param fields: List of fields for which we want default values
|
||||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
res = super(stock_picking_make, self).default_get(cursor, user, fields, context=context)
|
||||
record_ids = context and context.get('active_ids',False) or False
|
||||
if record_ids:
|
||||
picking_obj = self.pool.get('stock.picking')
|
||||
picking_ids = picking_obj.search(cursor, user, [
|
||||
('id', 'in', record_ids),
|
||||
('state', '<>', 'done'),
|
||||
('state', '<>', 'cancel')], context=context)
|
||||
res['picking_ids'] = picking_ids
|
||||
return res
|
||||
|
||||
def make_packing(self, cursor, user, ids, context):
|
||||
"""
|
||||
Make Picking.
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param fields: List of fields for which we want default values
|
||||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
record_ids = context and context.get('active_ids',False) or False
|
||||
wkf_service = netsvc.LocalService('workflow')
|
||||
picking_obj = self.pool.get('stock.picking')
|
||||
data = self.read(cursor, user, ids[0])
|
||||
pick_ids = data['picking_ids']
|
||||
picking_obj.force_assign(cursor, user, pick_ids)
|
||||
picking_obj.action_move(cursor, user, pick_ids)
|
||||
for picking_id in ids:
|
||||
wkf_service.trg_validate(user, 'stock.picking', picking_id,
|
||||
'button_done', cursor)
|
||||
return {}
|
||||
|
||||
stock_picking_make()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_stock_make_picking_wizard" model="ir.ui.view">
|
||||
<field name="name">Make Picking</field>
|
||||
<field name="model">stock.picking.make</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Make Picking">
|
||||
<field name="picking_ids" nolabel="1" colspan="4"
|
||||
width="600" height="300"/>
|
||||
<separator string="" colspan="4" />
|
||||
<button icon='gtk-cancel' special="cancel"
|
||||
string="Cancel" />
|
||||
<button name="make_packing" string="Ok"
|
||||
type="object" icon="gtk-apply" />
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="act_stock_make_picking_wizard" model="ir.actions.act_window">
|
||||
<field name="name">Make Picking</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">stock.picking.make</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,697 @@
|
|||
# German translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-11-26 06:01+0000\n"
|
||||
"PO-Revision-Date: 2010-03-31 21:32+0000\n"
|
||||
"Last-Translator: Ferdinand @ ChriCar <Unknown>\n"
|
||||
"Language-Team: German <de@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: 2010-04-01 03:41+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.ui.menu,name:survey.menu_survey_form
|
||||
msgid "Surveys"
|
||||
msgstr "Umfragen"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.report.xml,name:survey.survey
|
||||
msgid "Survey Analysis Report"
|
||||
msgstr "Umfrage Analyse Report"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.act_survey_page_question
|
||||
#: model:ir.ui.menu,name:survey.menu_survey_question_form1
|
||||
msgid "Survey Questions"
|
||||
msgstr "Umfrage Fragen"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: view:survey.response:0
|
||||
msgid "Set to draft"
|
||||
msgstr "Setze auf Entwurf"
|
||||
|
||||
#. module: survey
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Ungültiger Modellname in der Aktionsdefinition."
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.history,date:0
|
||||
msgid "Date started"
|
||||
msgstr "Startdatum"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,history:0
|
||||
msgid "History Lines"
|
||||
msgstr "Historie"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_field:wizard.send.invitation,init,mail:0
|
||||
msgid "Body"
|
||||
msgstr "Hauptteil"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.action_view_survey_name
|
||||
#: model:ir.ui.menu,name:survey.menu_run_survey_form
|
||||
msgid "Give Survey Response"
|
||||
msgstr "Gib Umfrage Antworten"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.act_survey_question
|
||||
msgid "All Questions"
|
||||
msgstr "Alle Fragen"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,date_open:0
|
||||
msgid "Survey Open Date"
|
||||
msgstr "Umfrage Start Datum"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.model,name:survey.model_survey_name_wiz
|
||||
msgid "survey.name.wiz"
|
||||
msgstr "survey.name.wiz"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
msgid "Users Details"
|
||||
msgstr "Benutzer Details"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.action_view_survey_question_message
|
||||
#: model:ir.model,name:survey.model_survey_question
|
||||
#: view:survey:0
|
||||
#: view:survey.page:0
|
||||
#: view:survey.question:0
|
||||
msgid "Survey Question"
|
||||
msgstr "Umfrage Frage"
|
||||
|
||||
#. module: survey
|
||||
#: help:survey,response_user:0
|
||||
msgid "Set to one if you require only one response per user"
|
||||
msgstr "Setze auf eins, wenn nur eine Antwort je Benutzer benötigt wird"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.page,title:0
|
||||
msgid "Page Title"
|
||||
msgstr "Seitentitel"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.model,name:survey.model_survey_history
|
||||
msgid "Survey History"
|
||||
msgstr "Umfrage Geschichte"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.response,comment:0
|
||||
#: field:survey.response.answer,comment:0
|
||||
msgid "Notes"
|
||||
msgstr "Bemerkung"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.question,tot_resp:0
|
||||
msgid "Total Response"
|
||||
msgstr "Gesamt Antworten"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey.question.wiz:0
|
||||
msgid "Your Messages"
|
||||
msgstr "Ihre Mitteilung"
|
||||
|
||||
#. module: survey
|
||||
#: selection:survey,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr "Abgebrochen"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.question,allow_comment:0
|
||||
msgid "Allow Comment Field"
|
||||
msgstr "Kommentarfeld erlauben"
|
||||
|
||||
#. module: survey
|
||||
#: code:addons/survey/survey.py:0
|
||||
#, python-format
|
||||
msgid "Warning !"
|
||||
msgstr "Warnung!"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_view:wizard.send.invitation,init:0
|
||||
#: wizard_field:wizard.send.invitation,init,send_mail_existing:0
|
||||
msgid "Send reminder for existing user"
|
||||
msgstr "Setze Erinnerung für bestehend Benutzer"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.action_new_survey_question_form
|
||||
#: model:ir.ui.menu,name:survey.menu_new_survey_question_form1
|
||||
msgid "New Survey Question"
|
||||
msgstr "Neue Umfrage Frage"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey.response:0
|
||||
msgid "Skip"
|
||||
msgstr "Überspringe"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_field:wizard.send.invitation,init,partner_ids:0
|
||||
msgid "Partner"
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_field:wizard.send.invitation,init,mail_subject:0
|
||||
#: wizard_field:wizard.send.invitation,init,mail_subject_existing:0
|
||||
msgid "Subject"
|
||||
msgstr "Betrifft"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,max_response_limit:0
|
||||
msgid "Maximum Response Limit"
|
||||
msgstr "Maximale Anworten Grenze"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_field:wizard.send.invitation,init,mail_from:0
|
||||
msgid "From"
|
||||
msgstr "Von"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.response,response_type:0
|
||||
msgid "Response Type"
|
||||
msgstr "Antwort Typ"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.name.wiz,transfer:0
|
||||
msgid "Page Transfer"
|
||||
msgstr "Seite Übertragung"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.answer,question_id:0
|
||||
#: field:survey.page,question_ids:0
|
||||
#: field:survey.question,question:0
|
||||
#: field:survey.response,question_id:0
|
||||
msgid "Question"
|
||||
msgstr "Frage"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_button:wizard.send.invitation,init,send:0
|
||||
msgid "Send"
|
||||
msgstr "Absenden"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.answer,response:0
|
||||
msgid "#Response"
|
||||
msgstr "# Antwort"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.response,response_answer_ids:0
|
||||
msgid "Response Answer"
|
||||
msgstr "Antwort"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Response Summary"
|
||||
msgstr "Antwort Zusammenfassung"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_view:wizard.send.invitation,init:0
|
||||
#: wizard_field:wizard.send.invitation,init,send_mail:0
|
||||
msgid "Send mail for new user"
|
||||
msgstr "Mail an neuen Benutzer senden"
|
||||
|
||||
#. module: survey
|
||||
#: code:addons/survey/survey.py:0
|
||||
#, python-format
|
||||
msgid "Error !"
|
||||
msgstr "Fehler !"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Skipped Question"
|
||||
msgstr "Übersprungene Frage"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_button:wizard.send.invitation,send,end:0
|
||||
msgid "_Ok"
|
||||
msgstr "_OK"
|
||||
|
||||
#. module: survey
|
||||
#: selection:survey.response,response_type:0
|
||||
msgid "Link"
|
||||
msgstr "Link"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.ui.menu,name:survey.menu_survey_config
|
||||
msgid "Configuration"
|
||||
msgstr "Konfiguration"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.model,name:survey.model_survey_question_wiz
|
||||
msgid "survey.question.wiz"
|
||||
msgstr "survey.question.wiz"
|
||||
|
||||
#. module: survey
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Fehlerhafter XML Code für diese Ansicht!"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.model,name:survey.model_survey_response_answer
|
||||
#: view:survey.response.answer:0
|
||||
msgid "Survey Response Answer"
|
||||
msgstr ""
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Page :-"
|
||||
msgstr "Seite :-"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,response_user:0
|
||||
msgid "Maximum Response per User"
|
||||
msgstr "Maximale Antworten je Benutzer"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Total Started Survey :-"
|
||||
msgstr "Gesamt gestartete Umfrage :-"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey.response:0
|
||||
msgid "Comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.response,date_modify:0
|
||||
msgid "Modify Date"
|
||||
msgstr "Datum ändern"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Answered Question"
|
||||
msgstr "Beantwortete Frage"
|
||||
|
||||
#. module: survey
|
||||
#: code:addons/survey/survey.py:0
|
||||
#, python-format
|
||||
msgid "You can not give response for this survey more than %s times"
|
||||
msgstr "Sie können diese Umfrage nicht öfter als %s Mal beantworten"
|
||||
|
||||
#. module: survey
|
||||
#: selection:survey.response,response_type:0
|
||||
msgid "Manually"
|
||||
msgstr "Manuell"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.action_survey_form1
|
||||
msgid "All Surveys"
|
||||
msgstr "Alle Umfragen"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: field:survey,users:0
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_view:wizard.send.invitation,init:0
|
||||
msgid "Message"
|
||||
msgstr "Nachricht"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.name.wiz,page_no:0
|
||||
msgid "Page Number"
|
||||
msgstr "Seitennummer"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_field:wizard.send.invitation,send,note:0
|
||||
msgid "Log"
|
||||
msgstr "Protokoll"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.action_survey_question_form
|
||||
msgid "All Survey Questions"
|
||||
msgstr "Alle Umfrage Fragen"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,date_close:0
|
||||
msgid "Survey Close Date"
|
||||
msgstr "Umfrage Enddatum"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey.name.wiz:0
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#. module: survey
|
||||
#: selection:survey,state:0
|
||||
#: selection:survey.response,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Entwurf"
|
||||
|
||||
#. module: survey
|
||||
#: selection:survey,state:0
|
||||
msgid "Closed"
|
||||
msgstr "Abgeschlossen"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: field:survey.answer,answer:0
|
||||
#: view:survey.page:0
|
||||
#: view:survey.question:0
|
||||
#: field:survey.question,answer_choice_ids:0
|
||||
#: field:survey.response.answer,answer_id:0
|
||||
msgid "Answer"
|
||||
msgstr "Antwort"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.action_survey_page_form
|
||||
msgid "All Survey Pages"
|
||||
msgstr "Alle Umfrage Seiten"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.name.wiz,store_ans:0
|
||||
msgid "Store Answer"
|
||||
msgstr "Speichere Antwort"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,state:0
|
||||
#: field:survey.response,state:0
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.module.module,shortdesc:survey.module_meta_information
|
||||
msgid "Survey Module"
|
||||
msgstr "Umfrage Modul"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.module.module,description:survey.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
" This module is used for surveing. It depends on the answers or reviews "
|
||||
"of some questions by different users.\n"
|
||||
" A survey may have multiple pages. Each page may contain multiple "
|
||||
"questions and each question may have multiple answers.\n"
|
||||
" Different users may give different answers of question and according to "
|
||||
"that survey is done. \n"
|
||||
" Partners are also sent mails with user name and password for the "
|
||||
"invitation of the survey\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: view:survey.name.wiz:0
|
||||
msgid "Survey Details"
|
||||
msgstr "Umfrage Details"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.question,is_require_answer:0
|
||||
msgid "Required Answer"
|
||||
msgstr "zwingend notwendige Anwort"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.history,user_id:0
|
||||
#: field:survey.response,response_id:0
|
||||
msgid "User"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#. module: survey
|
||||
#: field:res.users,survey_id:0
|
||||
msgid "Groups"
|
||||
msgstr "Gruppen"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: view:survey.page:0
|
||||
#: view:survey.question:0
|
||||
#: field:survey.question,response_ids:0
|
||||
#: view:survey.response:0
|
||||
#: field:survey.response.answer,response_id:0
|
||||
msgid "Response"
|
||||
msgstr "Antwort"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.action_new_survey_form1
|
||||
#: model:ir.ui.menu,name:survey.menu_new_survey_form
|
||||
msgid "New Survey"
|
||||
msgstr "Neue Umfrage"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.ui.menu,name:survey.main_menu_survey
|
||||
msgid "Survey Management"
|
||||
msgstr "Umfrage Management"
|
||||
|
||||
#. module: survey
|
||||
#: selection:survey.response,state:0
|
||||
msgid "Skiped"
|
||||
msgstr "Übersprungen"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.model,name:survey.model_survey_answer
|
||||
#: view:survey.answer:0
|
||||
msgid "Survey Answer"
|
||||
msgstr "Umfrage Antwort"
|
||||
|
||||
#. module: survey
|
||||
#: code:addons/survey/wizard/wizard_survey.py:0
|
||||
#, python-format
|
||||
msgid "Attention!"
|
||||
msgstr "Achtung!"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.model,name:survey.model_survey
|
||||
#: view:res.users:0
|
||||
#: view:survey:0
|
||||
#: field:survey.history,survey_id:0
|
||||
#: view:survey.name.wiz:0
|
||||
#: field:survey.name.wiz,survey_id:0
|
||||
#: field:survey.page,survey_id:0
|
||||
#: field:survey.question,survey:0
|
||||
msgid "Survey"
|
||||
msgstr "Umfrage"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Total Completed Survey :-"
|
||||
msgstr "Gesamt abgeschlossene Umfrage :-"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
msgid "History"
|
||||
msgstr "Verlauf"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: view:survey.answer:0
|
||||
#: view:survey.page:0
|
||||
#: view:survey.question:0
|
||||
msgid "Seq"
|
||||
msgstr "Seq"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,tot_comp_survey:0
|
||||
msgid "Total Completed Survey"
|
||||
msgstr "Gesamt abgeschlossene Umfrage"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Response Percentage"
|
||||
msgstr "Antwort Prozente"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.question.wiz,name:0
|
||||
msgid "Number"
|
||||
msgstr "Anzahl"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Survey Title :-"
|
||||
msgstr "Umfrage Titel"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey.response:0
|
||||
msgid "Done"
|
||||
msgstr "Fertig"
|
||||
|
||||
#. module: survey
|
||||
#: code:addons/survey/survey.py:0
|
||||
#, python-format
|
||||
msgid "'\" + que_rec[0]['question'] + \"' This question requires an answer."
|
||||
msgstr ""
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: view:survey.name.wiz:0
|
||||
#: wizard_button:wizard.send.invitation,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: selection:survey,state:0
|
||||
msgid "Open"
|
||||
msgstr "Öffnen"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,tot_start_survey:0
|
||||
msgid "Total Started Survey"
|
||||
msgstr "Gesamt gestartete Umfrage"
|
||||
|
||||
#. module: survey
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Der Objekt Name muss mit einem x_ starten und darf keine Sonderzeichen "
|
||||
"beinhalten"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.model,name:survey.model_survey_response
|
||||
#: view:survey.response:0
|
||||
msgid "Survey Response"
|
||||
msgstr "Umfrage Antwort"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.answer,average:0
|
||||
msgid "#Avg"
|
||||
msgstr "# Mittel"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,responsible_id:0
|
||||
msgid "Responsible"
|
||||
msgstr "Verantwortlich"
|
||||
|
||||
#. module: survey
|
||||
#: selection:survey.response,state:0
|
||||
msgid "Answered"
|
||||
msgstr "Beantwortet"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
msgid "Other"
|
||||
msgstr "Andere"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.wizard,name:survey.wizard_send_invitation
|
||||
#: wizard_view:wizard.send.invitation,init:0
|
||||
msgid "Send Invitation"
|
||||
msgstr "Einladung verschicken"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,title:0
|
||||
msgid "Survey Title"
|
||||
msgstr "Umfragetitel"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "%"
|
||||
msgstr "%"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: field:survey,note:0
|
||||
#: field:survey.name.wiz,note:0
|
||||
#: view:survey.page:0
|
||||
#: field:survey.page,note:0
|
||||
#: view:survey.response:0
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey.name.wiz:0
|
||||
msgid "Select Survey"
|
||||
msgstr "Auswahl Umfrage"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.action_new_survey_page_form
|
||||
#: model:ir.ui.menu,name:survey.menu_new_survey_page_form1
|
||||
msgid "New Survey Page"
|
||||
msgstr "Neue Umfrage Seite"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey:0
|
||||
#: view:survey.page:0
|
||||
#: field:survey.question,page_id:0
|
||||
msgid "Survey Page"
|
||||
msgstr "Umfrage Seite"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.act_survey_answer
|
||||
msgid "Survey Answers"
|
||||
msgstr "Umfrage Antworten"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey.page:0
|
||||
msgid "#Questions"
|
||||
msgstr "# Fragen"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Que:"
|
||||
msgstr ""
|
||||
|
||||
#. module: survey
|
||||
#: field:survey,page_ids:0
|
||||
msgid "Page"
|
||||
msgstr "Seite"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_view:wizard.send.invitation,send:0
|
||||
msgid "User creation"
|
||||
msgstr "Benutzer anlegen"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.answer,sequence:0
|
||||
#: field:survey.page,sequence:0
|
||||
#: field:survey.question,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Sequenz"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_view:wizard.send.invitation,send:0
|
||||
msgid "Results :"
|
||||
msgstr "Ergebnisse:"
|
||||
|
||||
#. module: survey
|
||||
#: code:addons/survey/wizard/wizard_survey.py:0
|
||||
#, python-format
|
||||
msgid "%sSurvey is not in open state"
|
||||
msgstr "%s Umfrage ist nicht im Status Offen"
|
||||
|
||||
#. module: survey
|
||||
#: wizard_view:wizard.send.invitation,init:0
|
||||
msgid "Select Partner"
|
||||
msgstr "Wähle Partner"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.response,date_create:0
|
||||
msgid "Create Date"
|
||||
msgstr "Erstellungsdatum"
|
||||
|
||||
#. module: survey
|
||||
#: model:ir.actions.act_window,name:survey.act_survey_pages
|
||||
#: model:ir.model,name:survey.model_survey_page
|
||||
#: model:ir.ui.menu,name:survey.menu_survey_page_form1
|
||||
msgid "Survey Pages"
|
||||
msgstr "Umfrage Seiten"
|
||||
|
||||
#. module: survey
|
||||
#: rml:survey_analysis_report:0
|
||||
msgid "Response Count"
|
||||
msgstr "Umfrage Anzahl"
|
||||
|
||||
#. module: survey
|
||||
#: field:survey.name.wiz,page:0
|
||||
msgid "Page Position"
|
||||
msgstr "Seitenposition"
|
Loading…
Reference in New Issue