[Merge] MERGED lp:openobject-addons.

bzr revid: psa@tinyerp.com-20130215055401-jh0fjm5j4jd67pvr
This commit is contained in:
Paramjit Singh Sahota
2013-02-15 11:24:01 +05:30
32 changed files with 510 additions and 132 deletions
@@ -39,6 +39,8 @@ class account_financial_report(osv.osv):
_description = "Account Report"
def _get_level(self, cr, uid, ids, field_name, arg, context=None):
'''Returns a dictionary with key=the ID of a record and value = the level of this
record in the tree structure.'''
res = {}
for report in self.browse(cr, uid, ids, context=context):
level = 0
@@ -48,6 +50,8 @@ class account_financial_report(osv.osv):
return res
def _get_children_by_order(self, cr, uid, ids, context=None):
'''returns a dictionary with the key= the ID of a record and value = all its children,
computed recursively, and sorted by sequence. Ready for the printing'''
res = []
for id in ids:
res.append(id)
@@ -56,6 +60,12 @@ class account_financial_report(osv.osv):
return res
def _get_balance(self, cr, uid, ids, field_names, args, context=None):
'''returns a dictionary with key=the ID of a record and value=the balance amount
computed for this record. If the record is of type :
'accounts' : it's the sum of the linked accounts
'account_type' : it's the sum of leaf accoutns with such an account_type
'account_report' : it's the amount of the related report
'sum' : it's the sum of the children of this record (aka a 'view' record)'''
account_obj = self.pool.get('account.account')
res = {}
for report in self.browse(cr, uid, ids, context=context):
+6 -1
View File
@@ -1390,7 +1390,12 @@ class account_invoice_line(osv.osv):
# XXX this gets the default account for the user's company,
# it should get the default account for the invoice's company
# however, the invoice's company does not reach this point
prop = self.pool.get('ir.property').get(cr, uid, 'property_account_income_categ', 'product.category', context=context)
if context is None:
context = {}
if context.get('type') in ('out_invoice','out_refund'):
prop = self.pool.get('ir.property').get(cr, uid, 'property_account_income_categ', 'product.category', context=context)
else:
prop = self.pool.get('ir.property').get(cr, uid, 'property_account_expense_categ', 'product.category', context=context)
return prop and prop.id or False
_defaults = {
+2 -2
View File
@@ -151,12 +151,12 @@ class account_config_settings(osv.osv_memory):
self.write(cr, uid, [id], vals, context)
return id
def onchange_company_id(self, cr, uid, ids, company_id):
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
# update related fields
values = {}
values['currency_id'] = False
if company_id:
company = self.pool.get('res.company').browse(cr, uid, company_id)
company = self.pool.get('res.company').browse(cr, uid, company_id, context=context)
has_chart_of_accounts = company_id not in self.pool.get('account.installer').get_unconfigured_cmp(cr, uid)
fiscalyear_count = self.pool.get('account.fiscalyear').search_count(cr, uid,
[('date_start', '<=', time.strftime('%Y-%m-%d')), ('date_stop', '>=', time.strftime('%Y-%m-%d')),
+1 -1
View File
@@ -33,7 +33,7 @@
<label for="company_id" string="Select Company"/>
<field name="company_id"
widget="selection"
on_change="onchange_company_id(company_id)"
on_change="onchange_company_id(company_id, context)"
class="oe_inline"/>
</div>
<div>
+4 -1
View File
@@ -331,6 +331,9 @@ class account_asset_asset(osv.osv):
depreciation_obj = self.pool.get('account.asset.depreciation.line')
period = period_obj.browse(cr, uid, period_id, context=context)
depreciation_ids = depreciation_obj.search(cr, uid, [('asset_id', 'in', ids), ('depreciation_date', '<=', period.date_stop), ('depreciation_date', '>=', period.date_start), ('move_check', '=', False)], context=context)
if context is None:
context = {}
context.update({'depreciation_date':period.date_stop})
return depreciation_obj.create_move(cr, uid, depreciation_ids, context=context)
def create(self, cr, uid, vals, context=None):
@@ -388,7 +391,7 @@ class account_asset_depreciation_line(osv.osv):
created_move_ids = []
asset_ids = []
for line in self.browse(cr, uid, ids, context=context):
depreciation_date = time.strftime('%Y-%m-%d')
depreciation_date = context.get('depreciation_date') or time.strftime('%Y-%m-%d')
period_ids = period_obj.find(cr, uid, depreciation_date, context=context)
company_currency = line.asset_id.company_id.currency_id.id
current_currency = line.asset_id.currency_id.id
+36 -12
View File
@@ -238,7 +238,12 @@ class res_partner(osv.osv):
from report import account_followup_print
assert len(ids) == 1
if context is None:
context = {}
partner = self.browse(cr, uid, ids[0], context=context)
#copy the context to not change global context. Overwrite it because _() looks for the lang in local variable 'context'.
#Set the language to use = the partner language
context = dict(context, lang=partner.lang)
followup_table = ''
if partner.unreconciled_aml_ids:
company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
@@ -251,13 +256,14 @@ class res_partner(osv.osv):
followup_table += '''
<table border="2" width=100%%>
<tr>
<td>Invoice date</td>
<td>Reference</td>
<td>Due date</td>
<td>Amount (%s)</td>
<td>Lit.</td>
<td>''' + _("Invoice Date") + '''</td>
<td>''' + _("Description") + '''</td>
<td>''' + _("Reference") + '''</td>
<td>''' + _("Due Date") + '''</td>
<td>''' + _("Amount") + " (%s)" % (currency.symbol) + '''</td>
<td>''' + _("Lit.") + '''</td>
</tr>
''' % (currency.symbol)
'''
total = 0
for aml in currency_dict['line']:
block = aml['blocked'] and 'X' or ' '
@@ -268,13 +274,28 @@ class res_partner(osv.osv):
if date <= current_date and aml['balance'] > 0:
strbegin = "<TD><B>"
strend = "</B></TD>"
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['name'] + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
total = rml_parse.formatLang(total, dp='Account', currency_obj=currency)
followup_table += '''<tr> </tr>
</table>
<center>Amount due: %s </center>''' % (total)
<center>''' + _("Amount due") + ''' : %s </center>''' % (total)
return followup_table
def write(self, cr, uid, ids, vals, context=None):
if vals.get("payment_responsible_id", False):
for part in self.browse(cr, uid, ids, context=context):
if part.payment_responsible_id <> vals["payment_responsible_id"]:
#Find partner_id of user put as responsible
responsible_partner_id = self.pool.get("res.users").browse(cr, uid, vals['payment_responsible_id'], context=context).partner_id.id
self.pool.get("mail.thread").message_post(cr, uid, 0,
body = _("You became responsible to do the next action for the payment follow-up of") + " <b><a href='#id=" + str(part.id) + "&view_type=form&model=res.partner'> " + part.name + " </a></b>",
type = 'comment',
subtype = "mail.mt_comment", context = context,
model = 'res.partner', res_id = part.id,
notified_partner_ids = [(6, 0, [responsible_partner_id])],
partner_ids = [(6, 0, [responsible_partner_id])])
return super(res_partner, self).write(cr, uid, ids, vals, context=context)
def action_done(self, cr, uid, ids, context=None):
return self.write(cr, uid, ids, {'payment_next_action_date': False, 'payment_next_action':'', 'payment_responsible_id': False}, context=context)
@@ -408,13 +429,16 @@ class res_partner(osv.osv):
_inherit = "res.partner"
_columns = {
'payment_responsible_id':fields.many2one('res.users', ondelete='set null', string='Follow-up Responsible',
help="Optionally you can assign a user to this field, which will make him responsible for the action."),
'payment_note':fields.text('Customer Payment Promise', help="Payment Note"),
help="Optionally you can assign a user to this field, which will make him responsible for the action.",
track_visibility="onchange"),
'payment_note':fields.text('Customer Payment Promise', help="Payment Note", track_visibility="onchange"),
'payment_next_action':fields.text('Next Action',
help="This is the next action to be taken. It will automatically be set when the partner gets a follow-up level that requires a manual action. "),
help="This is the next action to be taken. It will automatically be set when the partner gets a follow-up level that requires a manual action. ",
track_visibility="onchange"),
'payment_next_action_date':fields.date('Next Action Date',
help="This is when the manual follow-up is needed. " \
"The date will be set to the current date when the partner gets a follow-up level that requires a manual action. Can be practical to set manually e.g. to see if he keeps his promises."),
"The date will be set to the current date when the partner gets a follow-up level that requires a manual action. "\
"Can be practical to set manually e.g. to see if he keeps his promises."),
'unreconciled_aml_ids':fields.one2many('account.move.line', 'partner_id', domain=['&', ('reconcile_id', '=', False), '&',
('account_id.active','=', True), '&', ('account_id.type', '=', 'receivable'), ('state', '!=', 'draft')]),
'latest_followup_date':fields.function(_get_latest, method=True, type='date', string="Latest Follow-up Date",
@@ -35,10 +35,10 @@
<filter string="Follow-ups To Do" domain="[('payment_next_action_date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('payment_amount_overdue', '>', 0.0)]" name="todo"/>
<separator/>
<filter string="No Responsible" domain="[('payment_responsible_id', '=', False)]"/>
<filter string="My Follow-ups" domain="[('payment_responsible_id','=', uid)]"/>
<filter string="My Follow-ups" domain="[('payment_responsible_id','=', uid)]" name="my"/>
</group>
<group expand="1" string="Group By...">
<filter string="Responsible" context="{'group_by':'payment_responsible_id'}"/>
<filter string="Follow-up Responsible" context="{'group_by':'payment_responsible_id'}"/>
</group>
</search>
</field>
@@ -132,6 +132,18 @@
<!-- Menus about followup of customers -->
<menuitem id="account_followup_s" action="action_customer_followup"
parent="menu_finance_followup" name="Do Manual Follow-Ups" sequence="3"/>
<record id="action_customer_my_followup" model="ir.actions.act_window">
<field name="name">My Follow-Ups</field>
<field name="view_id" ref="customer_followup_tree"/>
<field name="res_model">res.partner</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('payment_amount_due', '>', 0.0)]</field>
<field name="context">{'Followupfirst':True, 'search_default_todo': True, 'search_default_my': True} </field>
<field name="search_view_id" ref="customer_followup_search_view"/>
</record>
<menuitem id="base.menu_sales_followup" parent="base.menu_base_partner" name="Payment Follow-up" groups="account.group_account_invoice" sequence="2"/>
<menuitem id="menu_sale_followup" parent="base.menu_sales_followup" sequence="10"
action="action_customer_my_followup" groups="account.group_account_invoice"/>
</data>
</openerp>
@@ -26,6 +26,8 @@ from openerp import tools
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp import SUPERUSER_ID
class account_followup_stat_by_partner(osv.osv):
_name = "account_followup.stat.by.partner"
_description = "Follow-up Statistics by Partner"
@@ -127,7 +129,7 @@ class account_followup_print(osv.osv_memory):
'email_body': fields.text('Email Body'),
'summary': fields.text('Summary', readonly=True),
'test_print': fields.boolean('Test Print',
help='Check if you want to print follow-ups without changing follow-ups level.'),
help='Check if you want to print follow-ups without changing follow-up level.'),
}
def _get_followup(self, cr, uid, context=None):
@@ -204,7 +206,7 @@ class account_followup_print(osv.osv_memory):
if not part.unreconciled_aml_ids:
partners_to_clear.append(part.id)
self.pool.get('res.partner').action_done(cr, uid, partners_to_clear, context=context)
return len(ids)
return len(partners_to_clear)
def do_process(self, cr, uid, ids, context=None):
if context is None:
@@ -313,6 +315,13 @@ class account_followup_print(osv.osv_memory):
if stat_line_id not in partner_list:
partner_list.append(stat_line_id)
to_update[str(id)]= {'level': fups[followup_line_id][1], 'partner_id': stat_line_id}
#Remove partners that are other companies in OpenERP
comp_obj = self.pool.get("res.company")
comp_ids = comp_obj.search(cr, SUPERUSER_ID, [], context=context)
for comp in comp_obj.browse(cr, SUPERUSER_ID, comp_ids, context=context):
company_partner_wiz_id = comp.partner_id.id * 10000 + company_id
if company_partner_wiz_id in partner_list:
partner_list.remove(company_partner_wiz_id)
return {'partner_ids': partner_list, 'to_update': to_update}
account_followup_print()
+14 -2
View File
@@ -49,13 +49,25 @@ class account_config_settings(osv.osv_memory):
'company_id', 'income_currency_exchange_account_id',
type='many2one',
relation='account.account',
string="Gain Exchange Rate Account"),
string="Gain Exchange Rate Account",
domain="[('type', '=', 'other')]"),
'expense_currency_exchange_account_id': fields.related(
'company_id', 'expense_currency_exchange_account_id',
type="many2one",
relation='account.account',
string="Loss Exchange Rate Account"),
string="Loss Exchange Rate Account",
domain="[('type', '=', 'other')]"),
}
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
res = super(account_config_settings, self).onchange_company_id(cr, uid, ids, company_id, context=context)
if company_id:
company = self.pool.get('res.company').browse(cr, uid, company_id, context=context)
res['value'].update({'income_currency_exchange_account_id': company.income_currency_exchange_account_id and company.income_currency_exchange_account_id.id or False,
'expense_currency_exchange_account_id': company.expense_currency_exchange_account_id and company.expense_currency_exchange_account_id.id or False})
else:
res['value'].update({'income_currency_exchange_account_id': False,
'expense_currency_exchange_account_id': False})
return res
class account_voucher(osv.osv):
def _check_paid(self, cr, uid, ids, name, args, context=None):
@@ -307,8 +307,9 @@
</group>
<group>
<field name="date" invisible="context.get('line_type', False)" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id, context)"/>
<field name="period_id"/>
<field name="reference" invisible="context.get('line_type', False)" string="Payment Ref" placeholder="e.g. 003/10"/>
<field name="name" colspan="2" invisible="context.get('line_type', False)" placeholder="e.g. Invoice SAJ/0042"/>
<field name="name" invisible="context.get('line_type', False)" placeholder="e.g. Invoice SAJ/0042"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="account_id"
+9
View File
@@ -2,8 +2,10 @@ import functools
import logging
import simplejson
import werkzeug.utils
from werkzeug.exceptions import BadRequest
import openerp
from openerp import SUPERUSER_ID
import openerp.addons.web.http as oeweb
from openerp.addons.web.controllers.main import db_monodb, set_cookie_and_redirect, login_and_redirect
@@ -69,6 +71,13 @@ class OAuthController(oeweb.Controller):
# auth_signup is not installed
_logger.error("auth_signup not installed on database %s: oauth sign up cancelled." % (dbname,))
url = "/#action=login&oauth_error=1"
except openerp.exceptions.AccessDenied:
# oauth credentials not valid, user could be on a temporary session
_logger.info('OAuth2: access denied, redirect to main page in case a valid session exists, without setting cookies')
url = "/#action=login&oauth_error=3"
redirect = werkzeug.utils.redirect(url, 303)
redirect.autocorrect_location_header = False
return redirect
except Exception, e:
# signup error
_logger.exception("OAuth2: %s" % str(e))
+2
View File
@@ -36,6 +36,8 @@ class res_users(osv.Model):
login = super(res_users, self)._auth_oauth_signin(cr, uid, provider, validation, params, context=context)
except openerp.exceptions.AccessDenied:
if context and context.get('no_user_creation'):
return None
state = simplejson.loads(params['state'])
token = state.get('t')
oauth_uid = validation['user_id']
+4 -3
View File
@@ -234,11 +234,12 @@
<field name="arch" type="xml">
<search string="Search Meetings">
<field name="name" string="Meeting" filter_domain="[('name','ilike',self)]"/>
<filter string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
<field name="partner_ids"/>
<field name="categ_ids"/>
<field name="user_id"/>
<separator/>
<filter string="My Meetings" help="My Meetings" domain="[('user_id','=',uid)]"/>
<field name="user_id"/>
<field name="partner_ids"/>
<filter string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
</search>
</field>
</record>
+9 -4
View File
@@ -567,7 +567,8 @@ class crm_lead(base_stage, format_address, osv.osv):
for opportunity in opportunities:
subject.append(opportunity.name)
title = "%s : %s" % (opportunity.type == 'opportunity' and _('Merged opportunity') or _('Merged lead'), opportunity.name)
details.append(self._mail_body(cr, uid, opportunity, CRM_LEAD_FIELDS_TO_MERGE, title=title, context=context))
fields = list(CRM_LEAD_FIELDS_TO_MERGE)
details.append(self._mail_body(cr, uid, opportunity, fields, title=title, context=context))
# Chatter message's subject
subject = subject[0] + ": " + ", ".join(subject[1:])
@@ -627,7 +628,10 @@ class crm_lead(base_stage, format_address, osv.osv):
opportunities = self.browse(cr, uid, ids, context=context)
sequenced_opps = []
for opportunity in opportunities:
sequenced_opps.append((opportunity.stage_id and opportunity.stage_id.state != 'cancel' and opportunity.stage_id.sequence or 0, opportunity))
if opportunity.stage_id and opportunity.stage_id.state != 'cancel':
sequenced_opps.append((opportunity.stage_id.sequence, opportunity))
else:
sequenced_opps.append((-1, opportunity))
sequenced_opps.sort(key=lambda tup: tup[0], reverse=True)
opportunities = [opportunity for sequence, opportunity in sequenced_opps]
ids = [opportunity.id for opportunity in opportunities]
@@ -636,7 +640,8 @@ class crm_lead(base_stage, format_address, osv.osv):
tail_opportunities = opportunities_rest
merged_data = self._merge_data(cr, uid, ids, highest, CRM_LEAD_FIELDS_TO_MERGE, context=context)
fields = list(CRM_LEAD_FIELDS_TO_MERGE)
merged_data = self._merge_data(cr, uid, ids, highest, fields, context=context)
# Merge messages and attachements into the first opportunity
self._merge_opportunity_history(cr, uid, highest.id, tail_opportunities, context=context)
@@ -651,7 +656,7 @@ class crm_lead(base_stage, format_address, osv.osv):
section_stages = self.pool.get('crm.case.section').read(cr, uid, merged_data['section_id'], ['stage_ids'], context=context)
if merged_data.get('stage_id') not in section_stages['stage_ids']:
stages_sequences = self.pool.get('crm.case.stage').search(cr, uid, [('id','in',section_stages['stage_ids'])], order='sequence', limit=1, context=context)
merged_data['stage_id'] = stages_sequences[0]
merged_data['stage_id'] = stages_sequences and stages_sequences[0] or False
# Write merged data into first opportunity
self.write(cr, uid, [highest.id], merged_data, context=context)
# Delete tail opportunities
+1
View File
@@ -327,6 +327,7 @@
<field name="categ_ids" string="Category" filter_domain="[('categ_ids','ilike',self)]"/>
<field name="section_id" context="{'invisible_section': False, 'default_section_id': self}"/>
<field name="user_id"/>
<field name="partner_id"/>
<field name="create_date"/>
<field name="country_id" context="{'invisible_country': False}"/>
<separator/>
+2 -2
View File
@@ -58,11 +58,11 @@ class crm_lead2opportunity_partner(osv.osv_memory):
if partner_id:
# Search for opportunities that have the same partner and that arent done or cancelled
ids = lead_obj.search(cr, uid, [('partner_id', '=', partner_id)])
ids = lead_obj.search(cr, uid, [('partner_id', '=', partner_id), ('state', '!=', 'done')])
for id in ids:
tomerge.add(id)
if email:
ids = lead_obj.search(cr, uid, [('email_from', 'ilike', email[0])])
ids = lead_obj.search(cr, uid, [('email_from', 'ilike', email[0]), ('state', '!=', 'done')])
for id in ids:
tomerge.add(id)
@@ -21,7 +21,7 @@
<field name="email_from"/>
<field name="phone"/>
<field name="stage_id"/>
<field name="user_id" invisible="1"/>
<field name="user_id"/>
<field name="section_id"/>
</tree>
</field>
@@ -67,7 +67,7 @@
<field name="email_from"/>
<field name="phone"/>
<field name="stage_id"/>
<field name="user_id" invisible="1"/>
<field name="user_id"/>
<field name="section_id"/>
</tree>
</field>
@@ -18,7 +18,7 @@
<field name="email_from"/>
<field name="phone"/>
<field name="stage_id"/>
<field name="user_id" invisible="1"/>
<field name="user_id"/>
<field name="section_id"/>
</tree>
</field>
@@ -62,5 +62,66 @@
</field>
</record>
<record id="view_crm_lead_geo_assign_form" model="ir.ui.view">
<field name="name">crm.lead.lead.geo_assign.inherit</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_form_view_leads"/>
<field name="arch" type="xml">
<data>
<xpath expr="//notebook/page[@string='Extra Info']" position="after">
<page string="Assignation">
<group name="partner_assign_group">
<group string="Partner Assignation">
<field name="partner_assigned_id" on_change="onchange_assign_id(partner_assigned_id)" domain="[('grade_id','&lt;&gt;',False)]"/>
<label for="date_assign"/>
<div>
<field name="date_assign"/>
<button string="Forward"
attrs="{'invisible':[('partner_assigned_id','=',False)]}"
name="%(crm_lead_forward_to_partner_act)d"
icon="terp-mail-forward" type="action"
context="{'default_composition_mode': 'forward', 'default_partner_ids': [partner_assigned_id]}"/>
</div>
</group>
<group string="Geo Assignation">
<field name="partner_latitude"/>
<field name="partner_longitude"/>
<span/>
<button string="Geo Assign" name="action_assign_partner" type="object" colspan="1"
icon="gtk-apply"/>
</group>
</group>
</page>
</xpath>
</data>
</field>
</record>
<record id="view_crm_lead_geo_assign_tree" model="ir.ui.view">
<field name="name">crm.lead.lead.geo_assign.tree.inherit</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_tree_view_leads"/>
<field name="arch" type="xml">
<field name="partner_id" position="after">
<field name="partner_assigned_id"/>
</field>
</field>
</record>
<record model="ir.ui.view" id="crm_lead_partner_filter">
<field name="name">crm.lead.partner.filter.assigned</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.view_crm_case_leads_filter"/>
<field name="arch" type="xml">
<filter string="Team" position="after">
<filter string="Assigned Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_assigned_id'}"/>
</filter>
<field name="partner_id" position="after">
<field name="partner_assigned_id"/>
</field>
</field>
</record>
</data>
</openerp>
+6 -1
View File
@@ -1,4 +1,5 @@
import simplejson
import urllib
import openerp.addons.web.http as openerpweb
import openerp.addons.web.controllers.main as webmain
@@ -14,11 +15,15 @@ class EDI(openerpweb.Controller):
modules_json = simplejson.dumps(modules)
js = "\n ".join('<script type="text/javascript" src="%s"></script>' % i for i in webmain.manifest_list(req, modules_str, 'js'))
css = "\n ".join('<link rel="stylesheet" href="%s">' % i for i in webmain.manifest_list(req, modules_str, 'css'))
# `url` may contain a full URL with a valid query string, we basically want to watch out for XML brackets and double-quotes
safe_url = urllib.quote_plus(url,':/?&;=')
return webmain.html_template % {
'js': js,
'css': css,
'modules': modules_json,
'init': 's.edi.edi_import("%s");' % url,
'init': 's.edi.edi_import("%s");' % safe_url,
}
@openerpweb.jsonrequest
-1
View File
@@ -371,7 +371,6 @@ class hr_applicant(base_stage, osv.Model):
update_vals = {}
update_vals.update({
'description': msg.get('body'),
'email_from': msg.get('from'),
'email_cc': msg.get('cc'),
})
@@ -187,6 +187,8 @@
domain="[('date_action','&lt;&gt;',False)]" help="Filter and view on next actions and date"/>
<field name="job_id"/>
<field name="user_id"/>
<separator/>
<field name="categ_ids"/>
<group expand="0" string="Group By...">
<filter string="Responsible" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Department" domain="[]" context="{'group_by':'department_id'}"/>
+25 -16
View File
@@ -7,24 +7,24 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-02-01 10:13+0000\n"
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
"PO-Revision-Date: 2013-02-14 15:58+0000\n"
"Last-Translator: krnkris <Unknown>\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: 2012-12-22 05:59+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-15 04:38+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Documents"
msgstr ""
msgstr "Dokumentumok"
#. module: knowledge
#: model:ir.model,name:knowledge.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
msgstr "knowledge.config.settings"
#. module: knowledge
#: help:knowledge.config.settings,module_document_webdav:0
@@ -32,11 +32,13 @@ msgid ""
"Access your documents in OpenERP through WebDAV.\n"
" This installs the module document_webdav."
msgstr ""
"Az OpenERP dokumentumok WebDAV-on keresztüli elérése.\n"
" Ez a document_webdav modult telepíti."
#. module: knowledge
#: help:knowledge.config.settings,module_document_page:0
msgid "This installs the module document_page."
msgstr ""
msgstr "Ez a document_page modult telepíti."
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document2
@@ -47,12 +49,12 @@ msgstr "Csoportmunában készült tartalom"
#: model:ir.actions.act_window,name:knowledge.action_knowledge_configuration
#: view:knowledge.config.settings:0
msgid "Configure Knowledge"
msgstr ""
msgstr "Tudástár beállítása"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Knowledge and Documents Management"
msgstr ""
msgstr "Tudástár és dokumentum kezelés"
#. module: knowledge
#: help:knowledge.config.settings,module_document:0
@@ -62,31 +64,36 @@ msgid ""
"and a document dashboard.\n"
" This installs the module document."
msgstr ""
"Ez egy komplett dokumentum kezelő rendszer, beleértve: felhasználó "
"hitelesítást,\n"
" teljes dokumentum keresőt (de a pptx és docx nem "
"támogatott), és egy dokumentum vezérlőpultot.\n"
" Ez a document modult telepíti."
#. module: knowledge
#: field:knowledge.config.settings,module_document_page:0
msgid "Create static web pages"
msgstr ""
msgstr "Statikus weboldalak készítése"
#. module: knowledge
#: field:knowledge.config.settings,module_document_ftp:0
msgid "Share repositories (FTP)"
msgstr ""
msgstr "Elérési út (FTP) megosztás"
#. module: knowledge
#: field:knowledge.config.settings,module_document:0
msgid "Manage documents"
msgstr ""
msgstr "Dokumentum kezelés"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Cancel"
msgstr ""
msgstr "Mégsem"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Apply"
msgstr ""
msgstr "Alkalmaz"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document_configuration
@@ -99,16 +106,18 @@ msgid ""
"Access your documents in OpenERP through an FTP interface.\n"
" This installs the module document_ftp."
msgstr ""
"Az OpenERP dokumentumok elérése egy FTP csatolón keresztül.\n"
" Ez a document_ftp modult telepíti."
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "or"
msgstr ""
msgstr "vagy"
#. module: knowledge
#: field:knowledge.config.settings,module_document_webdav:0
msgid "Share repositories (WebDAV)"
msgstr ""
msgstr "Elérési útvonal (webDAV) megosztás"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document
+174
View File
@@ -0,0 +1,174 @@
# Hungarian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:06+0000\n"
"PO-Revision-Date: 2013-02-14 16:15+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: Hungarian <hu@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: 2013-02-15 04:38+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template
msgid "Template for Fiscal Position"
msgstr "ÁFA pozíció sablon"
#. module: l10n_multilang
#: sql_constraint:account.account:0
msgid "The code of the account must be unique per company !"
msgstr "A főkönyvi számla számának egyedinek kell lennie!"
#. module: l10n_multilang
#: constraint:account.account.template:0
msgid ""
"Configuration Error!\n"
"You can not define children to an account with internal type different of "
"\"View\"! "
msgstr ""
"Beállítási hiba!\n"
"Nem tud al-számlát létrehozni egy számlához, melynek a belső \"Nézet\" "
"típusa különböző! "
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_analytic_journal
msgid "Analytic Journal"
msgstr "Analitikus/Gyüjtő napló"
#. module: l10n_multilang
#: constraint:account.account.template:0
msgid "Error ! You can not create recursive account templates."
msgstr "Hiba! Nem hozhat létre rekurzív főkönyvi számla sablonokat."
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_journal
msgid "Journal"
msgstr "Napló"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_chart_template
msgid "Templates for Account Chart"
msgstr "Számlatükör sablonok"
#. module: l10n_multilang
#: sql_constraint:account.tax:0
msgid "The description must be unique per company!"
msgstr "A leírás egyedi kell legyen minden vállalathoz!"
#. module: l10n_multilang
#: constraint:account.tax.code.template:0
msgid "Error ! You can not create recursive Tax Codes."
msgstr "Hiba! Nem hozhat létre rekurzív adógyűjtőket."
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_tax_template
msgid "account.tax.template"
msgstr "account.tax.template"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_tax
msgid "account.tax"
msgstr "account.tax"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_account
msgid "Account"
msgstr "Főkönyvi számla"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_wizard_multi_charts_accounts
msgid "wizard.multi.charts.accounts"
msgstr "wizard.multi.charts.accounts"
#. module: l10n_multilang
#: constraint:account.journal:0
msgid ""
"Configuration error! The currency chosen should be shared by the default "
"accounts too."
msgstr ""
"Beállítási hiba! A választott pénznemet meg kell osztani az alapértelmezett "
"főkönyvi számlával is."
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_account_template
msgid "Templates for Accounts"
msgstr "Főkönyvi számla sablonok"
#. module: l10n_multilang
#: help:account.chart.template,spoken_languages:0
msgid ""
"State here the languages for which the translations of templates could be "
"loaded at the time of installation of this localization module and copied in "
"the final object when generating them from templates. You must provide the "
"language codes separated by ';'"
msgstr ""
"Adja meg itt a nyelvet amelyen a sablon be fog töltődni a lokalizációs modul "
"telepítése után és az át lesz másolva a végső objektumba a sablonokból való "
"létrehozás után. A nyelvi kódot ';' kell elválasztani."
#. module: l10n_multilang
#: constraint:account.account:0
msgid "Error ! You can not create recursive accounts."
msgstr "Hiba! Nem hozhat létre rekurzív számlákat."
#. module: l10n_multilang
#: constraint:account.account:0
msgid ""
"Configuration Error! \n"
"You can not select an account type with a deferral method different of "
"\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! "
msgstr ""
#. module: l10n_multilang
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
msgstr "A napló nevének egyedinek kell lennie mindegyik vállalatra!"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analitikus/elemző könyvelés"
#. module: l10n_multilang
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
msgstr "A napló kódjának egyedinek kell lennie mindegyik vállalathoz!"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_fiscal_position
msgid "Fiscal Position"
msgstr "Költségvetési pozíció"
#. module: l10n_multilang
#: constraint:account.account:0
msgid ""
"Configuration Error! \n"
"You can not define children to an account with internal type different of "
"\"View\"! "
msgstr ""
"Beállítási hiba! \n"
"Nem tud al-számlát létrehozni egy számlához, melynek a belső \"Nézet\" "
"típusa különböző! "
#. module: l10n_multilang
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr "Hiba! Nem hozhat létre rekurzív gyűjtőkódokat."
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_tax_code_template
msgid "Tax Code Template"
msgstr ""
#. module: l10n_multilang
#: field:account.chart.template,spoken_languages:0
msgid "Spoken Languages"
msgstr "Beszélt nyelvek"
+80 -50
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
"PO-Revision-Date: 2013-02-13 13:32+0000\n"
"PO-Revision-Date: 2013-02-14 16:43+0000\n"
"Last-Translator: krnkris <Unknown>\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: 2013-02-14 04:37+0000\n"
"X-Launchpad-Export-Date: 2013-02-15 04:38+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: mail
@@ -1340,7 +1340,7 @@ msgstr "Megbeszélés csoport"
#: code:addons/mail/static/src/xml/mail.xml:224
#, python-format
msgid "Done"
msgstr ""
msgstr "Kész"
#. module: mail
#: model:mail.message.subtype,name:mail.mt_comment
@@ -1357,7 +1357,7 @@ msgstr "Követ"
#. module: mail
#: field:mail.group,name:0
msgid "Name"
msgstr ""
msgstr "Név"
#. module: mail
#: model:mail.group,name:mail.group_all_employees
@@ -1370,45 +1370,45 @@ msgstr "Teljes vállalat"
#: view:mail.compose.message:0
#, python-format
msgid "and"
msgstr ""
msgstr "és"
#. module: mail
#: help:mail.mail,body_html:0
msgid "Rich-text/HTML message"
msgstr ""
msgstr "Rich-text/HTML üzenet"
#. module: mail
#: view:mail.mail:0
msgid "Creation Month"
msgstr ""
msgstr "Létrehozás hónapja"
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/xml/mail.xml:272
#, python-format
msgid "Compose new Message"
msgstr ""
msgstr "Új üzenet létrehozása"
#. module: mail
#: field:mail.group,menu_id:0
msgid "Related Menu"
msgstr ""
msgstr "Kapcsolódó menü"
#. module: mail
#: view:mail.message:0
msgid "Content"
msgstr ""
msgstr "Tartalom"
#. module: mail
#: field:mail.mail,email_to:0
msgid "To"
msgstr ""
msgstr "Címzett"
#. module: mail
#: field:mail.compose.message,notified_partner_ids:0
#: field:mail.message,notified_partner_ids:0
msgid "Notified partners"
msgstr ""
msgstr "Értesített partnerek"
#. module: mail
#: help:mail.group,public:0
@@ -1416,11 +1416,13 @@ msgid ""
"This group is visible by non members. Invisible groups can add "
"members through the invite button."
msgstr ""
"Ez a csoport azoknak is látható akik nem tagok. A nem látható csoportok "
"tagokat adhatnak a meghívó gombbal."
#. module: mail
#: model:mail.group,name:mail.group_board
msgid "Board meetings"
msgstr ""
msgstr "Tanácskozás"
#. module: mail
#: constraint:mail.alias:0
@@ -1428,40 +1430,42 @@ msgid ""
"Invalid expression, it must be a literal python dictionary definition e.g. "
"\"{'field': 'value'}\""
msgstr ""
"Nem érvényes kifejezés, ennek python szótár kifejezésnek kell lennie pl.: "
"\"{'field': 'value'}\""
#. module: mail
#: field:mail.alias,alias_model_id:0
msgid "Aliased Model"
msgstr ""
msgstr "Minta álnév"
#. module: mail
#: help:mail.compose.message,message_id:0
#: help:mail.message,message_id:0
msgid "Message unique identifier"
msgstr ""
msgstr "Üzenet egyedi azonosító"
#. module: mail
#: field:mail.group,description:0
#: field:mail.message.subtype,description:0
msgid "Description"
msgstr ""
msgstr "Leírás"
#. module: mail
#: model:ir.model,name:mail.model_mail_followers
msgid "Document Followers"
msgstr ""
msgstr "Követők dokumentuma"
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/xml/mail_followers.xml:35
#, python-format
msgid "Remove this follower"
msgstr ""
msgstr "Követő eltávolítása"
#. module: mail
#: selection:res.partner,notification_email_send:0
msgid "Never"
msgstr ""
msgstr "Soha"
#. module: mail
#: field:mail.mail,mail_server_id:0
@@ -1472,7 +1476,7 @@ msgstr "Kimenő levelező szerver"
#: code:addons/mail/mail_message.py:920
#, python-format
msgid "Partners email addresses not found"
msgstr ""
msgstr "A partnerek e-mail címei nem találhatóak"
#. module: mail
#: view:mail.mail:0
@@ -1483,19 +1487,21 @@ msgstr "Elküldött"
#. module: mail
#: field:mail.mail,body_html:0
msgid "Rich-text Contents"
msgstr ""
msgstr "Rich-text tartalmak"
#. module: mail
#: help:mail.compose.message,to_read:0
#: help:mail.message,to_read:0
msgid "Current user has an unread notification linked to this message"
msgstr ""
"A jelenlegi felhasználónak van egy olvasatlan értesítése ehhez az üzenethez "
"csatolva"
#. module: mail
#: help:res.partner,notification_email_send:0
msgid ""
"Choose in which case you want to receive an email when you receive new feeds."
msgstr ""
msgstr "Válassza ki milyen esetekben kíván e-mail kapni az új bevitelekből."
#. module: mail
#: model:ir.actions.act_window,name:mail.action_view_groups
@@ -1511,13 +1517,17 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p>\n"
" nincs üzenete ebben a csoportban.\n"
" </p>\n"
" "
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/xml/mail.xml:195
#, python-format
msgid "Please, wait while the file is uploading."
msgstr ""
msgstr "Kérem várjon amíg a fájl feltöltődik."
#. module: mail
#: view:mail.group:0
@@ -1527,6 +1537,9 @@ msgid ""
"installed\n"
" the portal module."
msgstr ""
"Ez a csoport mindenki számára látható,\n"
" az ügyfeleinek is, ha telepítette a\n"
" portal modult."
#. module: mail
#. openerp-web
@@ -1540,17 +1553,17 @@ msgstr "Visszahelyezés a feladatokhoz"
#: code:addons/mail/static/src/xml/mail.xml:113
#, python-format
msgid "this document"
msgstr ""
msgstr "ez a dokumentum"
#. module: mail
#: field:mail.compose.message,filter_id:0
msgid "Filters"
msgstr ""
msgstr "Szűrők"
#. module: mail
#: field:res.partner,notification_email_send:0
msgid "Receive Feeds by Email"
msgstr ""
msgstr "Új hozzászólások e-mailen fogadva"
#. module: mail
#: help:base.config.settings,alias_domain:0
@@ -1558,6 +1571,8 @@ msgid ""
"If you have setup a catch-all email domain redirected to the OpenERP server, "
"enter the domain name here."
msgstr ""
"Ha be állítja az összes e-mail fogadása domain átirányítás az openERP "
"szerverre, akkor írja ide a domain nevet."
#. module: mail
#: model:ir.actions.act_window,name:mail.action_view_mail_message
@@ -1574,7 +1589,7 @@ msgstr "Üzenetek"
#: code:addons/mail/static/src/xml/mail.xml:126
#, python-format
msgid "others..."
msgstr ""
msgstr "mások..."
#. module: mail
#: model:ir.actions.client,name:mail.action_mail_star_feeds
@@ -1588,12 +1603,12 @@ msgstr "Feladat"
#: field:mail.group,alias_id:0
#: field:res.users,alias_id:0
msgid "Alias"
msgstr ""
msgstr "Álnév"
#. module: mail
#: model:ir.model,name:mail.model_mail_mail
msgid "Outgoing Mails"
msgstr ""
msgstr "Elküldött levelek"
#. module: mail
#: help:mail.compose.message,notification_ids:0
@@ -1602,6 +1617,8 @@ msgid ""
"Technical field holding the message notifications. Use notified_partner_ids "
"to access notified partners."
msgstr ""
"Technikai mező a értesítés üzenetek tárolásához. Használja a "
"notified_partner_ids az értesített partnerek eléréséhez."
#. module: mail
#: model:ir.ui.menu,name:mail.mail_feeds
@@ -1613,12 +1630,12 @@ msgstr "Üzenetek"
#: view:mail.alias:0
#: field:mail.message.subtype,res_model:0
msgid "Model"
msgstr ""
msgstr "Modell"
#. module: mail
#: view:mail.message:0
msgid "Unread"
msgstr ""
msgstr "Olvasatlan"
#. module: mail
#: help:mail.followers,subtype_ids:0
@@ -1626,23 +1643,25 @@ msgid ""
"Message subtypes followed, meaning subtypes that will be pushed onto the "
"user's Wall."
msgstr ""
"Üzenet altípus követve, azt jelenti, hogy az altípus ki lesz rakva a "
"felhasználó üzenőfalára."
#. module: mail
#: help:mail.group,message_ids:0
#: help:mail.thread,message_ids:0
#: help:res.partner,message_ids:0
msgid "Messages and communication history"
msgstr ""
msgstr "Üzenetek és kommunikáció történet"
#. module: mail
#: help:mail.mail,references:0
msgid "Message references, such as identifiers of previous messages"
msgstr ""
msgstr "Üzenet hivatkozások, mint előző üzenetek azonosítói"
#. module: mail
#: field:mail.compose.message,composition_mode:0
msgid "Composition mode"
msgstr ""
msgstr "Összeállítási mód"
#. module: mail
#: field:mail.compose.message,model:0
@@ -1650,14 +1669,14 @@ msgstr ""
#: field:mail.message,model:0
#: field:mail.wizard.invite,res_model:0
msgid "Related Document Model"
msgstr ""
msgstr "Ide vonatkozó dokumentum modell"
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/xml/mail.xml:287
#, python-format
msgid "unlike"
msgstr ""
msgstr "nem valószínű"
#. module: mail
#: help:mail.compose.message,author_id:0
@@ -1666,22 +1685,24 @@ msgid ""
"Author of the message. If not set, email_from may hold an email address that "
"did not match any partner."
msgstr ""
"Az üzenet szerzője. Ha nincs beállítva, az e-mail ettől, egy címet "
"tartalmaz ami nem mutat egyik partnerre sem."
#. module: mail
#: help:mail.mail,email_cc:0
msgid "Carbon copy message recipients"
msgstr ""
msgstr "Üzenet másolat címzettjei"
#. module: mail
#: field:mail.alias,alias_domain:0
msgid "Alias domain"
msgstr ""
msgstr "Álénév domain"
#. module: mail
#: code:addons/mail/update.py:93
#, python-format
msgid "Error during communication with the publisher warranty server."
msgstr ""
msgstr "Hiba a kiadó garancia szerverével történő kommunikációval."
#. module: mail
#: selection:mail.group,public:0
@@ -1701,32 +1722,41 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p>\n"
" <b>Nincs teendő.</b>\n"
" </p><p>\n"
" Ha a Beérkezett üzeneteinél végez műveletet, "
"megjelölheti\n"
" mint <i>teendő</i>. Ebből a menüből, minden teendőjét "
"elvégezheti.\n"
" </p>\n"
" "
#. module: mail
#: selection:mail.mail,state:0
msgid "Delivery Failed"
msgstr ""
msgstr "Küldés sikertelen"
#. module: mail
#: field:mail.compose.message,partner_ids:0
msgid "Additional contacts"
msgstr ""
msgstr "További kapcsolatok"
#. module: mail
#: help:mail.compose.message,parent_id:0
#: help:mail.message,parent_id:0
msgid "Initial thread message."
msgstr ""
msgstr "Elsődleges összefűzött üzenet."
#. module: mail
#: model:mail.group,name:mail.group_hr_policies
msgid "HR Policies"
msgstr ""
msgstr "HR Emberi erőforrás menedzsment házirend"
#. module: mail
#: selection:res.partner,notification_email_send:0
msgid "Emails only"
msgstr ""
msgstr "Kizárólag e-mailek"
#. module: mail
#: model:ir.actions.client,name:mail.action_mail_inbox_feeds
@@ -1739,35 +1769,35 @@ msgstr "Beérkezett üzenetek"
#: code:addons/mail/static/src/xml/mail.xml:58
#, python-format
msgid "File"
msgstr ""
msgstr "Fájl"
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/js/many2many_tags_email.js:63
#, python-format
msgid "Please complete partner's informations and Email"
msgstr ""
msgstr "Kérem egészítse ki a partner információkat és e-mailjét"
#. module: mail
#: model:ir.actions.act_window,name:mail.action_view_message_subtype
#: model:ir.ui.menu,name:mail.menu_message_subtype
msgid "Subtypes"
msgstr ""
msgstr "Altípusok"
#. module: mail
#: model:ir.model,name:mail.model_mail_alias
msgid "Email Aliases"
msgstr ""
msgstr "e-amil álnevek"
#. module: mail
#: field:mail.group,image_small:0
msgid "Small-sized photo"
msgstr ""
msgstr "Kis-méretű fotó"
#. module: mail
#: help:mail.mail,reply_to:0
msgid "Preferred response address for the message"
msgstr ""
msgstr "Előnyben részesített válasz cím ehhez az üzenethez"
#~ msgid "Open Attachments"
#~ msgstr "Mellékletek megnyitása"
+2 -2
View File
@@ -310,8 +310,8 @@ class mail_message(osv.Model):
partner_tree = dict((partner[0], partner) for partner in partners)
# 2. Attachments as SUPERUSER, because could receive msg and attachments for doc uid cannot see
attachments = ir_attachment_obj.read(cr, SUPERUSER_ID, list(attachment_ids), ['id', 'datas_fname'], context=context)
attachments_tree = dict((attachment['id'], {'id': attachment['id'], 'filename': attachment['datas_fname']}) for attachment in attachments)
attachments = ir_attachment_obj.read(cr, SUPERUSER_ID, list(attachment_ids), ['id', 'datas_fname', 'name'], context=context)
attachments_tree = dict((attachment['id'], {'id': attachment['id'], 'filename': attachment['datas_fname'], 'name': attachment['name']}) for attachment in attachments)
# 3. Update message dictionaries
for message_dict in messages:
+1 -1
View File
@@ -773,7 +773,7 @@ class mail_thread(osv.AbstractModel):
msg_dict['author_id'] = author_ids[0]
else:
msg_dict['email_from'] = message.get('from')
partner_ids = self._message_find_partners(cr, uid, message, ['From', 'To', 'Cc'], context=context)
partner_ids = self._message_find_partners(cr, uid, message, ['To', 'Cc'], context=context)
msg_dict['partner_ids'] = [(4, partner_id) for partner_id in partner_ids]
if 'Date' in message:
+2 -2
View File
@@ -104,8 +104,8 @@ openerp.mail = function (session) {
// returns the file type of a file based on its extension
// As it only looks at the extension it is quite approximative.
filetype: function(url){
url = url.filename || url;
var tokens = (url+'').split('.');
var url = url && url.filename || url;
var tokens = typeof url == 'string' ? url.split('.') : [];
if(tokens.length <= 1){
return 'unknown';
}
+18 -16
View File
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-01-31 14:00+0000\n"
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
"PO-Revision-Date: 2013-02-14 16:51+0000\n"
"Last-Translator: krnkris <Unknown>\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: 2012-12-22 05:59+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-15 04:38+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: marketing
#: model:ir.model,name:marketing.model_marketing_config_settings
msgid "marketing.config.settings"
msgstr ""
msgstr "marketing.config.settings"
#. module: marketing
#: help:marketing.config.settings,module_marketing_campaign_crm_demo:0
@@ -33,7 +33,7 @@ msgstr ""
#: model:ir.actions.act_window,name:marketing.action_marketing_configuration
#: view:marketing.config.settings:0
msgid "Configure Marketing"
msgstr ""
msgstr "Értékesítés beállítás"
#. module: marketing
#: view:crm.lead:0
@@ -44,47 +44,47 @@ msgstr "Marketing"
#. module: marketing
#: field:marketing.config.settings,module_marketing_campaign:0
msgid "Marketing campaigns"
msgstr ""
msgstr "Értékesítési kampány"
#. module: marketing
#: view:marketing.config.settings:0
msgid "or"
msgstr ""
msgstr "vagy"
#. module: marketing
#: view:marketing.config.settings:0
msgid "Campaigns"
msgstr ""
msgstr "Kampányok"
#. module: marketing
#: model:res.groups,name:marketing.group_marketing_manager
msgid "Manager"
msgstr ""
msgstr "Igazgató"
#. module: marketing
#: model:res.groups,name:marketing.group_marketing_user
msgid "User"
msgstr ""
msgstr "Felhasználó"
#. module: marketing
#: view:marketing.config.settings:0
msgid "Campaigns Settings"
msgstr ""
msgstr "Kampány beállítások"
#. module: marketing
#: field:marketing.config.settings,module_crm_profiling:0
msgid "Track customer profile to focus your campaigns"
msgstr ""
msgstr "Vevő profil nyomonkövetése a kampányra összpontosítva"
#. module: marketing
#: view:marketing.config.settings:0
msgid "Cancel"
msgstr ""
msgstr "Mégsem"
#. module: marketing
#: view:marketing.config.settings:0
msgid "Apply"
msgstr ""
msgstr "Alkalmaz"
#. module: marketing
#: help:marketing.config.settings,module_marketing_campaign:0
@@ -101,11 +101,13 @@ msgid ""
"Allows users to perform segmentation within partners.\n"
" This installs the module crm_profiling."
msgstr ""
"A felhasználóknak engedélyezi a partnerek kiválogatását.\n"
" Ez telepíti a crm_profiling modult."
#. module: marketing
#: field:marketing.config.settings,module_marketing_campaign_crm_demo:0
msgid "Demo data for marketing campaigns"
msgstr ""
msgstr "Demo adatok a merketing kampányhoz"
#~ msgid "Configure Your Marketing Application"
#~ msgstr "Marketing alkalmazásainak beállítása"
+1 -1
View File
@@ -102,7 +102,7 @@ class procurement_order(osv.osv):
readonly=True, required=True, help="If you encode manually a Procurement, you probably want to use" \
" a make to order method."),
'note': fields.text('Note'),
'message': fields.char('Latest error', help="Exception occurred while computing procurement orders."),
'message': fields.text('Latest error', help="Exception occurred while computing procurement orders."),
'state': fields.selection([
('draft','Draft'),
('cancel','Cancelled'),
+1 -1
View File
@@ -875,7 +875,7 @@ class sale_order_line(osv.osv):
date_order = time.strftime(DEFAULT_SERVER_DATE_FORMAT)
result = {}
warning_msgs = {}
warning_msgs = ''
product_obj = product_obj.browse(cr, uid, product, context=context_partner)
uom2 = False
+6 -4
View File
@@ -21,6 +21,7 @@
import base64
import urllib2
from urlparse import urlparse, urlunparse
import openerp
from openerp.osv import fields, osv
@@ -30,11 +31,12 @@ class Binary(openerp.addons.web.http.Controller):
@openerp.addons.web.http.jsonrequest
def url2binary(self, req, url):
if not url.startswith("http"):
raise Exception("Not allowed to load a file using this protocol")
if url.count("?") > 0 or url.count("&") > 0 or url.count("=") > 0:
raise Exception("Not allowed to use GET parameters")
"""Used exclusively to load images from LinkedIn profiles, must not be used for anything else."""
req.session.assert_valid(force=True)
_scheme, _netloc, path, params, query, fragment = urlparse(url)
# media.linkedin.com is the master domain for LinkedIn media (replicated to CDNs),
# so forcing it should always work and prevents abusing this method to load arbitrary URLs
url = urlunparse(('http', 'media.linkedin.com', path, params, query, fragment))
bfile = urllib2.urlopen(url)
return base64.b64encode(bfile.read())