[MERGE] Merge from trunk-wms

bzr revid: jco@openerp.com-20140326155150-4y47ny5gyvjezlm9
This commit is contained in:
Josse Colpaert 2014-03-26 16:51:50 +01:00
commit af1d4acba3
359 changed files with 8404 additions and 26209 deletions

View File

@ -30,7 +30,7 @@ from openerp import SUPERUSER_ID
from openerp import tools
from openerp.osv import fields, osv, expression
from openerp.tools.translate import _
from openerp.tools.float_utils import float_round
from openerp.tools.float_utils import float_round as round
import openerp.addons.decimal_precision as dp
@ -1937,15 +1937,15 @@ class account_tax(osv.osv):
#
'base_code_id': fields.many2one('account.tax.code', 'Account Base Code', help="Use this code for the tax declaration."),
'tax_code_id': fields.many2one('account.tax.code', 'Account Tax Code', help="Use this code for the tax declaration."),
'base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."),
'tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."),
'base_sign': fields.float('Base Code Sign', help="Usually 1 or -1.", digits_compute=get_precision_tax()),
'tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1.", digits_compute=get_precision_tax()),
# Same fields for refund invoices
'ref_base_code_id': fields.many2one('account.tax.code', 'Refund Base Code', help="Use this code for the tax declaration."),
'ref_tax_code_id': fields.many2one('account.tax.code', 'Refund Tax Code', help="Use this code for the tax declaration."),
'ref_base_sign': fields.float('Refund Base Code Sign', help="Usually 1 or -1."),
'ref_tax_sign': fields.float('Refund Tax Code Sign', help="Usually 1 or -1."),
'ref_base_sign': fields.float('Refund Base Code Sign', help="Usually 1 or -1.", digits_compute=get_precision_tax()),
'ref_tax_sign': fields.float('Refund Tax Code Sign', help="Usually 1 or -1.", digits_compute=get_precision_tax()),
'include_base_amount': fields.boolean('Included in base amount', help="Indicates if the amount of tax must be included in the base amount for the computation of the next taxes"),
'company_id': fields.many2one('res.company', 'Company', required=True),
'description': fields.char('Tax Code'),
@ -2143,7 +2143,7 @@ class account_tax(osv.osv):
tax_compute_precision = precision
if taxes and taxes[0].company_id.tax_calculation_rounding_method == 'round_globally':
tax_compute_precision += 5
totalin = totalex = float_round(price_unit * quantity, precision)
totalin = totalex = round(price_unit * quantity, precision)
tin = []
tex = []
for tax in taxes:

View File

@ -168,7 +168,7 @@
on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)"
context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}"
domain="[('supplier', '=', True)]"/>
<field name="fiscal_position" widget="selection"/>
<field name="fiscal_position" options="{'no_create': True}"/>
<field name="origin"/>
<field name="supplier_invoice_number"/>
<label for="reference_type"/>
@ -183,7 +183,7 @@
<field domain="[('company_id', '=', company_id), ('type', '=', 'payable')]"
name="account_id" groups="account.group_account_user"/>
<field name="journal_id" groups="account.group_account_user"
on_change="onchange_journal_id(journal_id, context)" widget="selection"/>
on_change="onchange_journal_id(journal_id, context)" options="{'no_create': True}"/>
<field name="currency_id" groups="base.group_multi_currency"/>
<field name="check_total" groups="account.group_supplier_inv_check_total"/>
</group>
@ -253,7 +253,7 @@
<field domain="[('partner_id', '=', partner_id)]" name="partner_bank_id" on_change="onchange_partner_bank(partner_bank_id)"/>
<field name="user_id" string="Responsible" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'account.group_account_invoice']}"/>
<field name="name" invisible="1"/>
<field name="payment_term" widget="selection"/>
<field name="payment_term" options="{'no_create': True}"/>
</group>
<group>
<field name="move_id" groups="account.group_account_user"/>
@ -324,12 +324,12 @@
context="{'search_default_customer':1, 'show_address': 1}"
options='{"always_reload": True}'
domain="[('customer', '=', True)]"/>
<field name="fiscal_position" widget="selection" />
<field name="fiscal_position" options="{'no_create': True}" />
</group>
<group>
<field name="date_invoice"/>
<field name="journal_id" groups="account.group_account_user"
on_change="onchange_journal_id(journal_id, context)" widget="selection"/>
on_change="onchange_journal_id(journal_id, context)" options="{'no_create': True}"/>
<field domain="[('company_id', '=', company_id),('type','=', 'receivable')]"
name="account_id" groups="account.group_account_user"/>

View File

@ -25,7 +25,7 @@
<separator/>
<filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help = "Draft Invoices"/>
<filter string="Pro-forma" icon="terp-gtk-media-pause" domain="['|', ('state','=','proforma'),('state','=','proforma2')]" help = "Pro-forma Invoices"/>
<filter string="Invoiced" name="current" icon="terp-check" domain="[('state','not in', ('draft','cancel'))]" help = "Open and Paid Invoices"/>
<filter string="Invoiced" name="current" icon="terp-check" domain="[('state','not in', ('draft','cancel','proforma','proforma2'))]" help = "Open and Paid Invoices"/>
<separator/>
<filter icon="terp-personal" string="Customer" name="customer" domain="['|', ('type','=','out_invoice'),('type','=','out_refund')]" help="Customer Invoices And Refunds"/>
<filter icon="terp-personal" string="Supplier" domain="['|', ('type','=','in_invoice'),('type','=','in_refund')]" help="Supplier Invoices And Refunds"/>

View File

@ -19,6 +19,7 @@
#
##############################################################################
from openerp.osv import osv
from openerp.addons.web import http
from openerp.addons.web.http import request
from common_report_header import common_report_header
@ -29,14 +30,12 @@ except ImportError:
import xlwt
class tax_report(http.Controller, common_report_header):
class tax_report(osv.AbstractModel, common_report_header):
_name = 'report.account.report_vat'
@http.route(['/report/account.report_vat'], type='http', auth='user', website=True, multilang=True)
def report_account_tax(self, **data):
def render_html(self, cr, uid, ids, data=None, context=None):
report_obj = request.registry['report']
self.cr, self.uid, self.pool = request.cr, request.uid, request.registry
data = report_obj.eval_params(data)
self.cr, self.uid, self.context = cr, uid, context
res = {}
self.period_ids = []
@ -54,23 +53,23 @@ class tax_report(http.Controller, common_report_header):
'based_on': self._get_basedon(data),
'period_from': self.get_start_period(data),
'period_to': self.get_end_period(data),
'taxlines': self._get_lines(self._get_basedon(data), company_id=data['form']['company_id']),
'taxlines': self._get_lines(self._get_basedon(data), company_id=data['form']['company_id'], cr=cr, uid=uid),
}
return request.registry['report'].render(self.cr, self.uid, [], 'account.report_vat', docargs)
return report_obj.render(self.cr, self.uid, [], 'account.report_vat', docargs, context=context)
def _get_basedon(self, form):
return form['form']['based_on']
def _get_lines(self, based_on, company_id=False, parent=False, level=0, context=None):
def _get_lines(self, based_on, company_id=False, parent=False, level=0, context=None, cr=None, uid=None):
period_list = self.period_ids
res = self._get_codes(based_on, company_id, parent, level, period_list, context=context)
res = self._get_codes(based_on, company_id, parent, level, period_list, cr=cr, uid=uid, context=context)
if period_list:
res = self._add_codes(based_on, res, period_list, context=context)
else:
self.cr.execute ("select id from account_fiscalyear")
fy = self.cr.fetchall()
self.cr.execute ("select id from account_period where fiscalyear_id = %s",(fy[0][0],))
periods = self.cr.fetchall()
cr.execute ("select id from account_fiscalyear")
fy = cr.fetchall()
cr.execute ("select id from account_period where fiscalyear_id = %s",(fy[0][0],))
periods = cr.fetchall()
for p in periods:
period_list.append(p[0])
res = self._add_codes(based_on, res, period_list, context=context)
@ -90,7 +89,7 @@ class tax_report(http.Controller, common_report_header):
}
top_result.append(res_dict)
res_general = self._get_general(res[i][1].id, period_list, company_id, based_on, context=context)
res_general = self._get_general(res[i][1].id, period_list, company_id, based_on, cr=cr, uid=uid, context=context)
ind_general = 0
while ind_general < len(res_general):
res_general[ind_general]['type'] = 2
@ -101,14 +100,14 @@ class tax_report(http.Controller, common_report_header):
i+=1
return top_result
def _get_general(self, tax_code_id, period_list, company_id, based_on, context=None):
def _get_general(self, tax_code_id, period_list, company_id, based_on, cr=None, uid=None, context=None):
if not self.display_detail:
return []
res = []
obj_account = self.pool.get('account.account')
periods_ids = tuple(period_list)
if based_on == 'payments':
self.cr.execute('SELECT SUM(line.tax_amount) AS tax_amount, \
cr.execute('SELECT SUM(line.tax_amount) AS tax_amount, \
SUM(line.debit) AS debit, \
SUM(line.credit) AS credit, \
COUNT(*) AS count, \
@ -132,7 +131,7 @@ class tax_report(http.Controller, common_report_header):
company_id, periods_ids, 'paid',))
else:
self.cr.execute('SELECT SUM(line.tax_amount) AS tax_amount, \
cr.execute('SELECT SUM(line.tax_amount) AS tax_amount, \
SUM(line.debit) AS debit, \
SUM(line.credit) AS credit, \
COUNT(*) AS count, \
@ -149,23 +148,21 @@ class tax_report(http.Controller, common_report_header):
AND account.active \
GROUP BY account.id,account.name,account.code', ('draft', tax_code_id,
company_id, periods_ids,))
res = self.cr.dictfetchall()
res = cr.dictfetchall()
i = 0
while i<len(res):
res[i]['account'] = obj_account.browse(self.cr, self.uid, res[i]['account_id'], context=context)
res[i]['account'] = obj_account.browse(cr, uid, res[i]['account_id'], context=context)
i+=1
return res
def _get_codes(self, based_on, company_id, parent=False, level=0, period_list=None, context=None):
def _get_codes(self, based_on, company_id, parent=False, level=0, period_list=None, cr=None, uid=None, context=None):
obj_tc = self.pool.get('account.tax.code')
ids = obj_tc.search(self.cr, self.uid, [('parent_id','=',parent),('company_id','=',company_id)], order='sequence', context=context)
ids = obj_tc.search(cr, uid, [('parent_id', '=', parent), ('company_id', '=', company_id)], order='sequence', context=context)
res = []
for code in obj_tc.browse(self.cr, self.uid, ids, {'based_on': based_on}):
for code in obj_tc.browse(cr, uid, ids, {'based_on': based_on}):
res.append(('.'*2*level, code))
res += self._get_codes(based_on, company_id, code.id, level+1, context=context)
res += self._get_codes(based_on, company_id, code.id, level+1, cr=cr, uid=uid, context=context)
return res
def _add_codes(self, based_on, account_list=None, period_list=None, context=None):
@ -187,9 +184,6 @@ class tax_report(http.Controller, common_report_header):
res.append((account[0], code))
return res
def _get_currency(self, form, context=None):
return self.pool.get('res.company').browse(self.cr, self.uid, form['company_id'], context=context).currency_id.name
def sort_result(self, accounts, context=None):
result_accounts = []
ind=0
@ -206,7 +200,8 @@ class tax_report(http.Controller, common_report_header):
bcl_rup_ind = ind - 1
while (bcl_current_level >= int(accounts[bcl_rup_ind]['level']) and bcl_rup_ind >= 0 ):
res_tot = { 'code': accounts[bcl_rup_ind]['code'],
res_tot = {
'code': accounts[bcl_rup_ind]['code'],
'name': '',
'debit': 0,
'credit': 0,
@ -229,25 +224,23 @@ class tax_report(http.Controller, common_report_header):
return result_accounts
class tax_report_xls(http.Controller):
@http.route(['/report/account.report_vat_xls'], type='http', auth='user', website=True, multilang=True)
def report_account_tax_xls(self, **data):
report_obj = request.registry['report']
self.cr, self.uid, self.pool = request.cr, request.uid, request.registry
data = report_obj.eval_params(data)
# Very ugly lines, only for the proof of concept of 'controller' report
taxreport_obj = request.registry['report.account.report_vat']
from openerp.addons.report.controllers.main import ReportController
eval_params = ReportController()._eval_params
res = {}
self.period_ids = []
period_obj = self.pool.get('account.period')
self.display_detail = data['form']['display_detail']
res['periods'] = ''
res['fiscalyear'] = data['form'].get('fiscalyear_id', False)
cr, uid = request.cr, request.uid
data = eval_params(data)
data = {'form': data}
if data['form'].get('period_from', False) and data['form'].get('period_to', False):
self.period_ids = period_obj.build_ctx_periods(self.cr, self.uid, data['form']['period_from'], data['form']['period_to'])
content = ''
lines = self._get_lines(self._get_basedon(data), company_id=data['form']['company_id'])
taxreport_obj.render_html(cr, uid, [], data=data)
lines = taxreport_obj._get_lines(taxreport_obj._get_basedon(data), company_id=data['form']['company_id'], cr=cr, uid=uid)
if lines:
xls = StringIO.StringIO()

View File

@ -19,6 +19,7 @@
<newline/>
<field name="result_selection"/>
<field name="direction_selection"/>
<field name="target_move"/>
</group>
<field name="journal_ids" required="0" invisible="1"/>
<footer>

View File

@ -41,6 +41,23 @@ class account_voucher(osv.osv):
'number': fields.char('Number', size=32),
}
def _amount_to_text(self, cr, uid, amount, currency_id, context=None):
# Currency complete name is not available in res.currency model
# Exceptions done here (EUR, USD, BRL) cover 75% of cases
# For other currencies, display the currency code
currency = self.pool['res.currency'].browse(cr, uid, currency_id, context=context)
if currency.name.upper() == 'EUR':
currency_name = 'Euro'
elif currency.name.upper() == 'USD':
currency_name = 'Dollars'
elif currency.name.upper() == 'BRL':
currency_name = 'reais'
else:
currency_name = currency.name
#TODO : generic amount_to_text is not ready yet, otherwise language (and country) and currency can be passed
#amount_in_word = amount_to_text(amount, context=context)
return amount_to_text(amount, currency=currency_name)
def onchange_amount(self, cr, uid, ids, amount, rate, partner_id, journal_id, currency_id, ttype, date, payment_rate_currency_id, company_id, context=None):
""" Inherited - add amount_in_word and allow_check_writting in returned value dictionary """
if not context:
@ -48,22 +65,7 @@ class account_voucher(osv.osv):
default = super(account_voucher, self).onchange_amount(cr, uid, ids, amount, rate, partner_id, journal_id, currency_id, ttype, date, payment_rate_currency_id, company_id, context=context)
if 'value' in default:
amount = 'amount' in default['value'] and default['value']['amount'] or amount
# Currency complete name is not available in res.currency model
# Exceptions done here (EUR, USD, BRL) cover 75% of cases
# For other currencies, display the currency code
currency = self.pool['res.currency'].browse(cr, uid, currency_id, context=context)
if currency.name.upper() == 'EUR':
currency_name = 'Euro'
elif currency.name.upper() == 'USD':
currency_name = 'Dollars'
elif currency.name.upper() == 'BRL':
currency_name = 'reais'
else:
currency_name = currency.name
#TODO : generic amount_to_text is not ready yet, otherwise language (and country) and currency can be passed
#amount_in_word = amount_to_text(amount, context=context)
amount_in_word = amount_to_text(amount, currency=currency_name)
amount_in_word = self._amount_to_text(cr, uid, amount, currency_id, context=context)
default['value'].update({'amount_in_word':amount_in_word})
if journal_id:
allow_check_writing = self.pool.get('account.journal').browse(cr, uid, journal_id, context=context).allow_check_writing
@ -92,6 +94,19 @@ class account_voucher(osv.osv):
},
'nodestroy': True
}
def create(self, cr, uid, vals, context=None):
if vals.get('amount') and vals.get('journal_id') and 'amount_in_word' not in vals:
vals['amount_in_word'] = self._amount_to_text(cr, uid, vals['amount'], vals.get('currency_id') or \
self.pool['account.journal'].browse(cr, uid, vals['journal_id'], context=context).currency.id or \
self.pool['res.company'].browse(cr, uid, vals['company_id']).currency_id.id, context=context)
return super(account_voucher, self).create(cr, uid, vals, context=context)
def write(self, cr, uid, ids, vals, context=None):
if vals.get('amount') and vals.get('journal_id') and 'amount_in_word' not in vals:
vals['amount_in_word'] = self._amount_to_text(cr, uid, vals['amount'], vals.get('currency_id') or \
self.pool['account.journal'].browse(cr, uid, vals['journal_id'], context=context).currency.id or \
self.pool['res.company'].browse(cr, uid, vals['company_id']).currency_id.id, context=context)
return super(account_voucher, self).write(cr, uid, ids, vals, context=context)
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
"""

View File

@ -149,7 +149,7 @@
<para style="terp_default_8">
<font color="white"> </font>
</para>
<pre style="terp_default_9_followup_id">[[ format(get_text(o,data['form']['followup_id'])) ]]</pre>
<para style="terp_default_9"><pre style="terp_default_9_followup_id">[[ format(get_text(o,data['form']['followup_id'])) ]]</pre></para>
<para style="terp_default_9">
<font color="white"> </font>
</para>

View File

@ -463,14 +463,12 @@ def process_data(cr, uid, pool, res_ids, model, method, old_values=None, new_val
# if at least one modification has been found
for model_id, resource_id in lines:
line_model = pool.get('ir.model').browse(cr, SUPERUSER_ID, model_id).model
name = pool.get(line_model).name_get(cr, uid, [resource_id])[0][1]
vals = {
'method': method,
'object_id': model_id,
'user_id': uid,
'res_id': resource_id,
'name': name,
}
if (model_id, resource_id) not in old_values and method not in ('copy', 'read'):
# the resource was not existing so we are forcing the method to 'create'
@ -481,7 +479,11 @@ def process_data(cr, uid, pool, res_ids, model, method, old_values=None, new_val
# the resource is not existing anymore so we are forcing the method to 'unlink'
# (because it could also come with the value 'write' if we are deleting the
# record through a one2many field)
name = old_values[(model_id, resource_id)]['value'].get('name',False)
vals.update({'method': 'unlink'})
else :
name = pool[line_model].name_get(cr, uid, [resource_id])[0][1]
vals.update({'name': name})
# create the audittrail log in super admin mode, only if a change has been detected
if lines[(model_id, resource_id)]:
log_id = pool.get('audittrail.log').create(cr, SUPERUSER_ID, vals)

View File

@ -2,3 +2,4 @@ import controllers
import auth_oauth
import res_users
import res_config
import ir_configparameter

View File

@ -15,6 +15,7 @@ from openerp.tools.translate import _
_logger = logging.getLogger(__name__)
#----------------------------------------------------------
# helpers
#----------------------------------------------------------
@ -30,11 +31,15 @@ def fragment_to_query_string(func):
var s = l.search ? (l.search === '?' ? '' : '&') : '?';
r = l.pathname + l.search + s + q;
}
if (r == l.pathname) {
r = '/';
}
window.location = r;
</script></head><body></body></html>"""
return func(self, *a, **kw)
return wrapper
#----------------------------------------------------------
# Controller
#----------------------------------------------------------
@ -73,6 +78,9 @@ class OAuthLogin(openerp.addons.web.controllers.main.Home):
@http.route()
def web_login(self, *args, **kw):
ensure_db()
if request.httprequest.method == 'GET' and request.session.uid and request.params.get('redirect'):
# Redirect if already logged in and redirect param is present
return http.redirect_with_hash(request.params.get('redirect'))
providers = self.list_providers()
response = super(OAuthLogin, self).web_login(*args, **kw)
@ -111,6 +119,7 @@ class OAuthLogin(openerp.addons.web.controllers.main.Home):
response.qcontext.update(providers=providers)
return response
class OAuthController(http.Controller):
@http.route('/auth_oauth/signin', type='http', auth='none')

View File

@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
from openerp import SUPERUSER_ID
from openerp.osv import osv
class ir_configparameter(osv.Model):
_inherit = 'ir.config_parameter'
def init(self, cr, force=False):
super(ir_configparameter, self).init(cr, force=force)
if force:
IMD = self.pool['ir.model.data']
oauth_oe = IMD.xmlid_to_object(cr, SUPERUSER_ID, 'auth_oauth.provider_openerp')
dbuuid = self.get_param(cr, SUPERUSER_ID, 'database.uuid')
oauth_oe.write({'client_id': dbuuid})

View File

@ -37,6 +37,9 @@ class AuthSignupHome(openerp.addons.web.controllers.main.Home):
ensure_db()
response = super(AuthSignupHome, self).web_login(*args, **kw)
response.qcontext.update(self.get_auth_signup_config())
if request.httprequest.method == 'GET' and request.session.uid and request.params.get('redirect'):
# Redirect if already logged in and redirect param is present
return http.redirect_with_hash(request.params.get('redirect'))
return response
@http.route('/web/signup', type='http', auth='public', website=True, multilang=True)

View File

@ -20,8 +20,8 @@
##############################################################################
from datetime import datetime, timedelta
import random
from urllib import urlencode
from urlparse import urljoin
import werkzeug
from openerp.addons.base.ir.ir_mail_server import MailDeliveryException
from openerp.osv import osv, fields
@ -53,7 +53,7 @@ class res_partner(osv.Model):
(not partner.signup_expiration or dt <= partner.signup_expiration)
return res
def _get_signup_url_for_action(self, cr, uid, ids, action='login', view_type=None, menu_id=None, res_id=None, model=None, context=None):
def _get_signup_url_for_action(self, cr, uid, ids, action=None, view_type=None, menu_id=None, res_id=None, model=None, context=None):
""" generate a signup url for the given partner ids and action, possibly overriding
the url state components (menu_id, id, view_type) """
if context is None:
@ -81,6 +81,8 @@ class res_partner(osv.Model):
continue # no signup token, no user, thus no signup url!
fragment = dict()
if action:
fragment['action'] = action
if view_type:
fragment['view_type'] = view_type
if menu_id:
@ -90,7 +92,10 @@ class res_partner(osv.Model):
if res_id:
fragment['id'] = res_id
res[partner.id] = urljoin(base_url, "/web/%s?%s#%s" % (route, urlencode(query), urlencode(fragment)))
if fragment:
query['redirect'] = '/web#' + werkzeug.url_encode(fragment)
res[partner.id] = urljoin(base_url, "/web/%s?%s" % (route, werkzeug.url_encode(query)))
return res

View File

@ -13,15 +13,15 @@
<template id="auth_signup.fields" name="Auth Signup/ResetPassword form fields">
<t t-call="web.database_select"/>
<div class="form-group field-login">
<label for="login" class="control-label">Your Email</label>
<input type="text" name="login" t-att-value="login" id="login" class="form-control" autofocus="autofocus"
required="required" t-att-readonly="'readonly' if only_passwords else None"/>
</div>
<div class="form-group field-name">
<label for="name" class="control-label">Your Name</label>
<input type="text" name="name" t-att-value="name" id="name" class="form-control" placeholder="e.g. John Doe"
required="required" t-att-autofocus="'autofocus' if not only_passwords else None" t-att-readonly="'readonly' if only_passwords else None"/>
</div>
<div class="form-group field-login">
<label for="login" class="control-label">Your Email</label>
<input type="text" name="login" t-att-value="login" id="login" class="form-control"
required="required" t-att-readonly="'readonly' if only_passwords else None"/>
</div>

View File

@ -114,6 +114,8 @@ class ir_import(orm.TransientModel):
elif field['type'] == 'one2many' and depth:
f['fields'] = self.get_fields(
cr, uid, field['relation'], context=context, depth=depth-1)
if self.pool['res.users'].has_group(cr, uid, 'base.group_no_one'):
f['fields'].append({'id' : '.id', 'name': '.id', 'string': _("Database ID"), 'required': False, 'fields': []})
fields.append(f)

View File

@ -37,8 +37,6 @@ from openerp.tools.translate import _
from openerp.http import request
from operator import itemgetter
from werkzeug.exceptions import BadRequest
import logging
_logger = logging.getLogger(__name__)
@ -63,6 +61,7 @@ def calendar_id2real_id(calendar_id=None, with_date=False):
return int(real_id)
return calendar_id and int(calendar_id) or calendar_id
def get_real_ids(ids):
if isinstance(ids, (str, int, long)):
return calendar_id2real_id(ids)
@ -76,6 +75,7 @@ class calendar_attendee(osv.Model):
Calendar Attendee Information
"""
_name = 'calendar.attendee'
_rec_name = 'cn'
_description = 'Attendee information'
def _compute_data(self, cr, uid, ids, name, arg, context=None):
@ -223,7 +223,7 @@ class calendar_attendee(osv.Model):
})
for attendee in self.browse(cr, uid, ids, context=context):
if attendee.email and email_from:
if attendee.email and email_from and attendee.email != email_from:
ics_file = self.get_ics_file(cr, uid, attendee.event_id, context=context)
mail_id = template_pool.send_mail(cr, uid, template_id, attendee.id, context=local_context)
@ -334,22 +334,22 @@ class calendar_alarm_manager(osv.AbstractModel):
res = {}
base_request = """
SELECT
crm.id,
crm.date - interval '1' minute * calcul_delta.max_delta AS first_alarm,
cal.id,
cal.date - interval '1' minute * calcul_delta.max_delta AS first_alarm,
CASE
WHEN crm.recurrency THEN crm.end_date - interval '1' minute * calcul_delta.min_delta
ELSE crm.date_deadline - interval '1' minute * calcul_delta.min_delta
WHEN cal.recurrency THEN cal.end_date - interval '1' minute * calcul_delta.min_delta
ELSE cal.date_deadline - interval '1' minute * calcul_delta.min_delta
END as last_alarm,
crm.date as first_event_date,
cal.date as first_event_date,
CASE
WHEN crm.recurrency THEN crm.end_date
ELSE crm.date_deadline
WHEN cal.recurrency THEN cal.end_date
ELSE cal.date_deadline
END as last_event_date,
calcul_delta.min_delta,
calcul_delta.max_delta,
crm.rrule AS rule
cal.rrule AS rule
FROM
calendar_event AS crm
calendar_event AS cal
RIGHT JOIN
(
SELECT
@ -359,11 +359,11 @@ class calendar_alarm_manager(osv.AbstractModel):
LEFT JOIN calendar_alarm AS alarm ON alarm.id = rel.calendar_alarm_id
WHERE alarm.type in %s
GROUP BY rel.calendar_event_id
) AS calcul_delta ON calcul_delta.calendar_event_id = crm.id
) AS calcul_delta ON calcul_delta.calendar_event_id = cal.id
"""
filter_user = """
LEFT JOIN calendar_event_res_partner_rel AS part_rel ON part_rel.calendar_event_id = crm.id
RIGHT JOIN calendar_event_res_partner_rel AS part_rel ON part_rel.calendar_event_id = cal.id
AND part_rel.res_partner_id = %s
"""
@ -384,21 +384,14 @@ class calendar_alarm_manager(osv.AbstractModel):
#Add filter on hours
tuple_params += (seconds, seconds,)
cr.execute("""
SELECT
*
FROM (
"""
+ base_request
+ """
) AS ALL_EVENTS
WHERE
ALL_EVENTS.first_alarm < (now() at time zone 'utc' + interval '%s' second )
AND ALL_EVENTS.last_alarm > (now() at time zone 'utc' - interval '%s' second )
""", tuple_params)
cr.execute("""SELECT *
FROM ( %s ) AS ALL_EVENTS
WHERE ALL_EVENTS.first_alarm < (now() at time zone 'utc' + interval '%%s' second )
AND ALL_EVENTS.last_alarm > (now() at time zone 'utc' - interval '%%s' second )
""" % base_request, tuple_params)
for event_id, first_alarm, last_alarm, first_meeting, last_meeting, min_duration, max_duration, rule in cr.fetchall():
res[event_id].update({
res[event_id] = {
'event_id': event_id,
'first_alarm': first_alarm,
'last_alarm': last_alarm,
@ -407,7 +400,7 @@ class calendar_alarm_manager(osv.AbstractModel):
'min_duration': min_duration,
'max_duration': max_duration,
'rrule': rule
})
}
return res
@ -433,83 +426,86 @@ class calendar_alarm_manager(osv.AbstractModel):
res.append(alert)
return res
def get_next_mail(self,cr,uid,context=None):
cron = self.pool.get('ir.cron').search(cr,uid,[('model','ilike',self._name)],context=context)
def get_next_mail(self, cr, uid, context=None):
cron = self.pool.get('ir.cron').search(cr, uid, [('model', 'ilike', self._name)], context=context)
if cron and len(cron) == 1:
cron = self.pool.get('ir.cron').browse(cr,uid,cron[0],context=context)
cron = self.pool.get('ir.cron').browse(cr, uid, cron[0], context=context)
else:
raise ("Cron for " + self._name + " not identified :( !")
if cron.interval_type=="weeks":
if cron.interval_type == "weeks":
cron_interval = cron.interval_number * 7 * 24 * 60 * 60
elif cron.interval_type=="days":
cron_interval = cron.interval_number * 24 * 60 * 60
elif cron.interval_type=="hours":
elif cron.interval_type == "days":
cron_interval = cron.interval_number * 24 * 60 * 60
elif cron.interval_type == "hours":
cron_interval = cron.interval_number * 60 * 60
elif cron.interval_type=="minutes":
elif cron.interval_type == "minutes":
cron_interval = cron.interval_number * 60
elif cron.interval_type=="seconds":
cron_interval = cron.interval_number
elif cron.interval_type == "seconds":
cron_interval = cron.interval_number
if not cron_interval:
raise ("Cron delay for " + self._name + " can not be calculated :( !")
all_events = self.get_next_potential_limit_alarm(cr,uid,cron_interval,notif=False,context=context)
all_events = self.get_next_potential_limit_alarm(cr, uid, cron_interval, notif=False, context=context)
for event in all_events: #.values()
max_delta = all_events[event]['max_duration'];
curEvent = self.pool.get('calendar.event').browse(cr,uid,event,context=context)
for event in all_events: # .values()
max_delta = all_events[event]['max_duration']
curEvent = self.pool.get('calendar.event').browse(cr, uid, event, context=context)
if curEvent.recurrency:
bFound = False
LastFound = False
for one_date in self.pool.get('calendar.event').get_recurrent_date_by_event(cr,uid,curEvent, context=context) :
in_date_format = datetime.strptime(one_date, '%Y-%m-%d %H:%M:%S');
LastFound = self.do_check_alarm_for_one_date(cr,uid,in_date_format,curEvent,max_delta,cron_interval,notif=False,context=context)
for one_date in self.pool.get('calendar.event').get_recurrent_date_by_event(cr, uid, curEvent, context=context):
in_date_format = one_date.replace(tzinfo=None)
LastFound = self.do_check_alarm_for_one_date(cr, uid, in_date_format, curEvent, max_delta, cron_interval, notif=False, context=context)
if LastFound:
for alert in LastFound:
self.do_mail_reminder(cr,uid,alert,context=context)
self.do_mail_reminder(cr, uid, alert, context=context)
if not bFound: # if it's the first alarm for this recurrent event
bFound = True
if bFound and not LastFound: # if the precedent event had an alarm but not this one, we can stop the search for this event
break
else:
in_date_format = datetime.strptime(curEvent.date, '%Y-%m-%d %H:%M:%S');
LastFound = self.do_check_alarm_for_one_date(cr,uid,in_date_format,curEvent,max_delta,cron_interval,notif=False,context=context)
in_date_format = datetime.strptime(curEvent.date, '%Y-%m-%d %H:%M:%S')
LastFound = self.do_check_alarm_for_one_date(cr, uid, in_date_format, curEvent, max_delta, cron_interval, notif=False, context=context)
if LastFound:
for alert in LastFound:
self.do_mail_reminder(cr,uid,alert,context=context)
self.do_mail_reminder(cr, uid, alert, context=context)
def get_next_notif(self,cr,uid,context=None):
def get_next_notif(self, cr, uid, context=None):
ajax_check_every_seconds = 300
partner = self.pool.get('res.users').browse(cr,uid,uid,context=context).partner_id;
partner = self.pool.get('res.users').browse(cr, uid, uid, context=context).partner_id
all_notif = []
all_events = self.get_next_potential_limit_alarm(cr,uid,ajax_check_every_seconds,partner_id=partner.id,mail=False,context=context)
if not partner:
return []
all_events = self.get_next_potential_limit_alarm(cr, uid, ajax_check_every_seconds, partner_id=partner.id, mail=False, context=context)
for event in all_events: # .values()
max_delta = all_events[event]['max_duration'];
curEvent = self.pool.get('calendar.event').browse(cr,uid,event,context=context)
max_delta = all_events[event]['max_duration']
curEvent = self.pool.get('calendar.event').browse(cr, uid, event, context=context)
if curEvent.recurrency:
bFound = False
LastFound = False
for one_date in self.pool.get("calendar.event").get_recurrent_date_by_event(cr,uid,curEvent, context=context) :
in_date_format = datetime.strptime(one_date, '%Y-%m-%d %H:%M:%S');
LastFound = self.do_check_alarm_for_one_date(cr,uid,in_date_format,curEvent,max_delta,ajax_check_every_seconds,after=partner.cal_last_notif,mail=False,context=context)
for one_date in self.pool.get("calendar.event").get_recurrent_date_by_event(cr, uid, curEvent, context=context):
in_date_format = one_date.replace(tzinfo=None)
LastFound = self.do_check_alarm_for_one_date(cr, uid, in_date_format, curEvent, max_delta, ajax_check_every_seconds, after=partner.calendar_last_notif_ack, mail=False, context=context)
if LastFound:
for alert in LastFound:
all_notif.append(self.do_notif_reminder(cr,uid,alert,context=context))
if not bFound: #if it's the first alarm for this recurrent event
bFound = True
if bFound and not LastFound: #if the precedent event had alarm but not this one, we can stop the search fot this event
all_notif.append(self.do_notif_reminder(cr, uid, alert, context=context))
if not bFound: # if it's the first alarm for this recurrent event
bFound = True
if bFound and not LastFound: # if the precedent event had alarm but not this one, we can stop the search fot this event
break
else:
in_date_format = datetime.strptime(curEvent.date, '%Y-%m-%d %H:%M:%S');
LastFound = self.do_check_alarm_for_one_date(cr,uid,in_date_format,curEvent,max_delta,ajax_check_every_seconds,partner.cal_last_notif,mail=False,context=context)
in_date_format = datetime.strptime(curEvent.date, '%Y-%m-%d %H:%M:%S')
LastFound = self.do_check_alarm_for_one_date(cr, uid, in_date_format, curEvent, max_delta, ajax_check_every_seconds, partner.calendar_last_notif_ack, mail=False, context=context)
if LastFound:
for alert in LastFound:
all_notif.append(self.do_notif_reminder(cr,uid,alert,context=context))
return all_notif
all_notif.append(self.do_notif_reminder(cr, uid, alert, context=context))
return all_notif
def do_mail_reminder(self, cr, uid, alert, context=None):
if context is None:
@ -520,7 +516,7 @@ class calendar_alarm_manager(osv.AbstractModel):
alarm = self.pool['calendar.alarm'].browse(cr, uid, alert['alarm_id'], context=context)
if alarm.type == 'email':
res = self.pool['calendar.attendee']._send_mail_to_attendees(cr, uid, event.attendee_ids, template_xmlid='calendar_template_meeting_reminder', context=context)
res = self.pool['calendar.attendee']._send_mail_to_attendees(cr, uid, [att.id for att in event.attendee_ids], template_xmlid='calendar_template_meeting_reminder', context=context)
return res
@ -684,19 +680,23 @@ class calendar_event(osv.Model):
return [d.astimezone(pytz.UTC) for d in rset1]
def _get_recurrency_end_date(self, data, context=None):
if data.get('recurrency') and data.get('end_type') in ('count', unicode('count')):
data_date_deadline = datetime.strptime(data.get('date_deadline'), '%Y-%m-%d %H:%M:%S')
if data.get('rrule_type') in ('daily', unicode('count')):
rel_date = relativedelta(days=data.get('count') + 1)
elif data.get('rrule_type') in ('weekly', unicode('weekly')):
rel_date = relativedelta(days=(data.get('count') + 1) * 7)
elif data.get('rrule_type') in ('monthly', unicode('monthly')):
rel_date = relativedelta(months=data.get('count') + 1)
elif data.get('rrule_type') in ('yearly', unicode('yearly')):
rel_date = relativedelta(years=data.get('count') + 1)
end_date = data_date_deadline + rel_date
else:
end_date = data.get('end_date')
if not data.get('recurrency'):
return False
end_type = data.get('end_type')
end_date = data.get('end_date')
if end_type == 'count' and all(data.get(key) for key in ['count', 'rrule_type', 'date_deadline']):
count = data['count'] + 1
delay, mult = {
'daily': ('days', 1),
'weekly': ('days', 7),
'monthly': ('months', 1),
'yearly': ('years', 1),
}[data['rrule_type']]
deadline = datetime.strptime(data['date_deadline'], tools.DEFAULT_SERVER_DATETIME_FORMAT)
return deadline + relativedelta(**{delay: count * mult})
return end_date
def _find_my_attendee(self, cr, uid, meeting_ids, context=None):
@ -777,8 +777,12 @@ class calendar_event(osv.Model):
else:
result[event] = ""
return result
# retro compatibility function
def _rrule_write(self, cr, uid, ids, field_name, field_value, args, context=None):
return self._set_rulestring(self, cr, uid, ids, field_name, field_value, args, context=context)
def _set_rulestring(self, cr, uid, ids, field_name, field_value, args, context=None):
if not isinstance(ids, list):
ids = [ids]
data = self._get_empty_rrule_data()
@ -790,7 +794,7 @@ class calendar_event(osv.Model):
data.update(update_data)
self.write(cr, uid, ids, data, context=context)
return True
def _tz_get(self, cr, uid, context=None):
return [(x.lower(), x) for x in pytz.all_timezones]
@ -798,7 +802,7 @@ class calendar_event(osv.Model):
'location': {
'calendar.subtype_invitation': lambda self, cr, uid, obj, ctx=None: True,
},
'date': {
'date': {
'calendar.subtype_invitation': lambda self, cr, uid, obj, ctx=None: True,
},
}
@ -816,7 +820,7 @@ class calendar_event(osv.Model):
'class': fields.selection([('public', 'Public'), ('private', 'Private'), ('confidential', 'Public for Employees')], 'Privacy', states={'done': [('readonly', True)]}),
'location': fields.char('Location', help="Location of Event", track_visibility='onchange', states={'done': [('readonly', True)]}),
'show_as': fields.selection([('free', 'Free'), ('busy', 'Busy')], 'Show Time as', states={'done': [('readonly', True)]}),
'rrule': fields.function(_get_rulestring, type='char', fnct_inv=_rrule_write, store=True, string='Recurrent Rule'),
'rrule': fields.function(_get_rulestring, type='char', fnct_inv=_set_rulestring, store=True, string='Recurrent Rule'),
'rrule_type': fields.selection([('daily', 'Day(s)'), ('weekly', 'Week(s)'), ('monthly', 'Month(s)'), ('yearly', 'Year(s)')], 'Recurrency', states={'done': [('readonly', True)]}, help="Let the event automatically repeat at that interval"),
'recurrency': fields.boolean('Recurrent', help="Recurrent Meeting"),
'recurrent_id': fields.integer('Recurrent ID'),
@ -979,7 +983,7 @@ class calendar_event(osv.Model):
}
return res
def get_search_fields(self,browse_event,order_fields,r_date=None):
def get_search_fields(self, browse_event, order_fields, r_date=None):
sort_fields = {}
for ord in order_fields:
if ord == 'id' and r_date:
@ -989,17 +993,17 @@ class calendar_event(osv.Model):
'If we sort on FK, we obtain a browse_record, so we need to sort on name_get'
if type(browse_event[ord]) is openerp.osv.orm.browse_record:
name_get = browse_event[ord].name_get()
if len(name_get) and len(name_get[0])>=2:
if len(name_get) and len(name_get[0]) >= 2:
sort_fields[ord] = name_get[0][1]
return sort_fields
def get_recurrent_ids(self, cr, uid, event_id, domain, order=None, context=None):
"""Gives virtual event ids for recurring events
"""Gives virtual event ids for recurring events
This method gives ids of dates that comes between start date and end date of calendar views
@param order: The fields (comma separated, format "FIELD {DESC|ASC}") on which the events should be sorted
@param order: The fields (comma separated, format "FIELD {DESC|ASC}") on which the events should be sorted
"""
if not context:
@ -1024,7 +1028,7 @@ class calendar_event(osv.Model):
for ev in self.browse(cr, uid, ids_to_browse, context=context):
if not ev.recurrency or not ev.rrule:
result.append(ev.id)
result_data.append(self.get_search_fields(ev,order_fields))
result_data.append(self.get_search_fields(ev, order_fields))
continue
rdates = self.get_recurrent_date_by_event(cr, uid, ev, context=context)
@ -1070,7 +1074,7 @@ class calendar_event(osv.Model):
if [True for item in new_pile if not item]:
continue
result_data.append(self.get_search_fields(ev,order_fields,r_date=r_date))
result_data.append(self.get_search_fields(ev, order_fields, r_date=r_date))
if order_fields:
def comparer(left, right):
@ -1081,7 +1085,7 @@ class calendar_event(osv.Model):
return 0
sort_params = [key.split()[0] if key[-4:].lower() != 'desc' else '-%s' % key.split()[0] for key in (order or self._order).split(',')]
comparers = [ ((itemgetter(col[1:]), -1) if col[0] == '-' else (itemgetter(col), 1)) for col in sort_params]
comparers = [((itemgetter(col[1:]), -1) if col[0] == '-' else (itemgetter(col), 1)) for col in sort_params]
ids = [r['id'] for r in sorted(result_data, cmp=comparer)]
if isinstance(event_id, (str, int, long)):
@ -1089,7 +1093,6 @@ class calendar_event(osv.Model):
else:
return ids
def compute_rule_string(self, data):
"""
Compute rule string according to value type RECUR of iCalendar from the values given.
@ -1123,7 +1126,7 @@ class calendar_event(osv.Model):
data['end_date_new'] = ''.join((re.compile('\d')).findall(data.get('end_date'))) + 'T235959Z'
return (data.get('end_type') == 'count' and (';COUNT=' + str(data.get('count'))) or '') +\
((data.get('end_date_new') and data.get('end_type') == 'end_date' and (';UNTIL=' + data.get('end_date_new'))) or '')
((data.get('end_date_new') and data.get('end_type') == 'end_date' and (';UNTIL=' + data.get('end_date_new'))) or '')
freq = data.get('rrule_type', False) # day/week/month/year
res = ''
@ -1174,7 +1177,7 @@ class calendar_event(osv.Model):
#repeat monthly by nweekday ((weekday, weeknumber), )
if r._bynweekday:
data['week_list'] = day_list[r._bynweekday[0][0]].upper()
data['byday'] = r._bynweekday[0][1]
data['byday'] = str(r._bynweekday[0][1])
data['month_by'] = 'day'
data['rrule_type'] = 'monthly'
@ -1219,12 +1222,12 @@ class calendar_event(osv.Model):
res.update(self.check_partners_email(cr, uid, value[0][2], context=context))
return res
def onchange_rec_day(self,cr,uid,id,date,mo,tu,we,th,fr,sa,su):
def onchange_rec_day(self, cr, uid, id, date, mo, tu, we, th, fr, sa, su):
""" set the start date according to the first occurence of rrule"""
rrule_obj = self._get_empty_rrule_data()
rrule_obj.update({
'byday':True,
'rrule_type':'weekly',
'byday': True,
'rrule_type': 'weekly',
'mo': mo,
'tu': tu,
'we': we,
@ -1232,12 +1235,11 @@ class calendar_event(osv.Model):
'fr': fr,
'sa': sa,
'su': su,
'interval':1
'interval': 1
})
str_rrule = self.compute_rule_string(rrule_obj)
first_occurence = list(rrule.rrulestr(str_rrule + ";COUNT=1", dtstart=datetime.strptime(date, "%Y-%m-%d %H:%M:%S"), forceset=True))[0]
return {'value': { 'date' : first_occurence.strftime("%Y-%m-%d") + ' 00:00:00' } }
first_occurence = list(rrule.rrulestr(str_rrule + ";COUNT=1", dtstart=datetime.strptime(date, "%Y-%m-%d %H:%M:%S"), forceset=True))[0]
return {'value': {'date': first_occurence.strftime("%Y-%m-%d") + ' 00:00:00'}}
def check_partners_email(self, cr, uid, partner_ids, context=None):
""" Verify that selected partner_ids have an email_address defined.
@ -1251,12 +1253,10 @@ class calendar_event(osv.Model):
warning_msg = _('The following contacts have no email address :')
for partner in partner_wo_email_lst:
warning_msg += '\n- %s' % (partner.name)
return {'warning':
{
'title': _('Email addresses not found'),
'message': warning_msg,
}
}
return {'warning': {
'title': _('Email addresses not found'),
'message': warning_msg,
}}
# ----------------------------------------
# OpenChatter
@ -1365,8 +1365,7 @@ class calendar_event(osv.Model):
rrule_type=False,
rrule='',
recurrency=False,
end_date = datetime.strptime(values.get('date', False) or data.get('date'),"%Y-%m-%d %H:%M:%S")
+ timedelta(hours=values.get('duration', False) or data.get('duration'))
end_date=datetime.strptime(values.get('date', False) or data.get('date'), "%Y-%m-%d %H:%M:%S") + timedelta(hours=values.get('duration', False) or data.get('duration'))
)
#do not copy the id
@ -1381,29 +1380,25 @@ class calendar_event(osv.Model):
new_id = self._detach_one_event(cr, uid, ids[0], context=context)
return {
'type': 'ir.actions.act_window',
'res_model': 'calendar.event',
'view_mode': 'form',
'res_id': new_id,
'target': 'current',
'flags': {'form': {'action_buttons': True, 'options' : { 'mode' : 'edit' } } }
'type': 'ir.actions.act_window',
'res_model': 'calendar.event',
'view_mode': 'form',
'res_id': new_id,
'target': 'current',
'flags': {'form': {'action_buttons': True, 'options': {'mode': 'edit'}}}
}
def write(self, cr, uid, ids, values, context=None):
def _only_changes_to_apply_on_real_ids(field_names):
''' return True if changes are only to be made on the real ids'''
''' return True if changes are only to be made on the real ids'''
for field in field_names:
if field in ['date','active']:
return True
if field in ['date', 'active']:
return True
return False
context = context or {}
if isinstance(ids, (str,int, long)):
if isinstance(ids, (str, int, long)):
if len(str(ids).split('-')) == 1:
ids = [int(ids)]
else:
@ -1428,15 +1423,15 @@ class calendar_event(osv.Model):
continue
else:
data = self.read(cr, uid, event_id, ['date', 'date_deadline', 'rrule', 'duration'])
if data.get('rrule'):
if data.get('rrule'):
new_id = self._detach_one_event(cr, uid, event_id, values, context=None)
res = super(calendar_event, self).write(cr, uid, ids, values, context=context)
# set end_date for calendar searching
if values.get('recurrency', True) and values.get('end_type', 'count') in ('count', unicode('count')) and \
(values.get('rrule_type') or values.get('count') or values.get('date') or values.get('date_deadline')):
for data in self.read(cr, uid, ids, ['date', 'date_deadline', 'recurrency', 'rrule_type', 'count', 'end_type'], context=context):
for data in self.read(cr, uid, ids, ['end_date', 'date_deadline', 'recurrency', 'rrule_type', 'count', 'end_type'], context=context):
end_date = self._get_recurrency_end_date(data, context=context)
super(calendar_event, self).write(cr, uid, [data['id']], {'end_date': end_date}, context=context)
@ -1467,11 +1462,12 @@ class calendar_event(osv.Model):
if not 'user_id' in vals: # Else bug with quick_create when we are filter on an other user
vals['user_id'] = uid
if vals.get('recurrency', True) and vals.get('end_type', 'count') in ('count', unicode('count')) and \
(vals.get('rrule_type') or vals.get('count') or vals.get('date') or vals.get('date_deadline')):
vals['end_date'] = self._get_recurrency_end_date(vals, context=context)
res = super(calendar_event, self).create(cr, uid, vals, context=context)
data = self.read(cr, uid, [res], ['end_date', 'date_deadline', 'recurrency', 'rrule_type', 'count', 'end_type'], context=context)[0]
end_date = self._get_recurrency_end_date(data, context=context)
self.write(cr, uid, [res], {'end_date': end_date}, context=context)
self.create_attendees(cr, uid, [res], context=context)
return res
@ -1528,7 +1524,7 @@ class calendar_event(osv.Model):
continue
if r['class'] == 'private':
for f in r.keys():
if f not in ('id', 'date', 'date_deadline', 'duration', 'user_id', 'state', 'interval', 'count'):
if f not in ('id', 'date', 'date_deadline', 'duration', 'user_id', 'state', 'interval', 'count', 'recurrent_id_date'):
if isinstance(r[f], list):
r[f] = []
else:
@ -1554,7 +1550,7 @@ class calendar_event(osv.Model):
ids_to_unlink = []
# One time moved to google_Calendar, we can specify, if not in google, and not rec or get_inst = 0, we delete it
for event_id in ids:
for event_id in ids:
if unlink_level == 1 and len(str(event_id).split('-')) == 1: # if ID REAL
if self.browse(cr, uid, event_id).recurrent_id:
ids_to_exclure.append(event_id)
@ -1587,7 +1583,7 @@ class mail_message(osv.Model):
def _find_allowed_model_wise(self, cr, uid, doc_model, doc_dict, context=None):
if doc_model == 'calendar.event':
order = context.get('order', self._order)
order = context.get('order', self._order)
for virtual_id in self.pool[doc_model].get_recurrent_ids(cr, uid, doc_dict.keys(), [], order=order, context=context):
doc_dict.setdefault(virtual_id, doc_dict[get_real_ids(virtual_id)])
return super(mail_message, self)._find_allowed_model_wise(cr, uid, doc_model, doc_dict, context=context)
@ -1619,26 +1615,27 @@ class ir_http(osv.AbstractModel):
def _auth_method_calendar(self):
token = request.params['token']
db = request.params['db']
db = request.params['db']
registry = openerp.modules.registry.RegistryManager.get(db)
attendee_pool = registry.get('calendar.attendee')
error_message = False
with registry.cursor() as cr:
attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token','=',token)])
attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token', '=', token)])
if not attendee_id:
error_message = """Invalid Invitation Token."""
elif request.session.uid and request.session.login != 'anonymous':
# if valid session but user is not match
attendee = attendee_pool.browse(cr, openerp.SUPERUSER_ID, attendee_id[0])
user = registry.get('res.users').browse(cr, openerp.SUPERUSER_ID, request.session.uid)
if attendee.partner_id.id != user.partner_id.id:
error_message = """Invitation cannot be forwarded via email. This event/meeting belongs to %s and you are logged in as %s. Please ask organizer to add you.""" % (attendee.email, user.email)
if attendee.partner_id.id != user.partner_id.id:
error_message = """Invitation cannot be forwarded via email. This event/meeting belongs to %s and you are logged in as %s. Please ask organizer to add you.""" % (attendee.email, user.email)
if error_message:
raise BadRequest(error_message)
return True
class invite_wizard(osv.osv_memory):
_inherit = 'mail.wizard.invite'

View File

@ -136,7 +136,7 @@
<strong>${object.event_id.name}</strong>
</div>
<div style="height: 50px;text-align: left;font-size : 14px;border-collapse: separate;margin-top:10px">
<strong style="margin-left:12px">Hello ${object.cn}</strong> ,<br/><p style="margin-left:12px">${object.event_id.user_id.partner_id.name} invited you for the ${object.event_id.name} meeting of ${object.event_id.user_id.company_id.name}.</p>
<strong style="margin-left:12px">Dear ${object.cn}</strong> ,<br/><p style="margin-left:12px">${object.event_id.user_id.partner_id.name} invited you for the ${object.event_id.name} meeting of ${object.event_id.user_id.company_id.name}.</p>
</div>
<div style="height: auto;margin-left:12px;margin-top:30px;">
<table>
@ -151,50 +151,58 @@
</td>
<td>
<table cellspacing="0" cellpadding="0" border="0" style="margin-top: 15px; margin-left: 10px;font-size: 16px;">
% if object.event_id.location:
<tr style=" height: 30px;">
<tr>
<td style="vertical-align:top;">
<div style="height: 25px; width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Where
</div>
</td>
<td colspan="1" style="vertical-align:top;">
<div style = "font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 14px" >
: ${object.event_id.location}
<span style= "color:#A9A9A9; ">(<a href="http://maps.google.com/maps?oi=map&q=${object.event_id.location}">View Map</a>)
</span>
</div>
% if object.event_id.location:
<div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Where
</div>
% endif
</td>
<td style="vertical-align:top;">
% if object.event_id.location:
<div style = "font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 14px" >
: ${object.event_id.location}
<span style= "color:#A9A9A9; ">(<a href="http://maps.google.com/maps?oi=map&q=${object.event_id.location}">View Map</a>)
</span>
</div>
% endif
</td>
</tr>
% endif
% if object.event_id.description :
<tr style=" height:auto;">
<tr>
<td style="vertical-align:top;">
<div style="height:auto; width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
What
</div>
% if object.event_id.description :
<div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
What
</div>
% endif
</td>
<td colspan="3" style="vertical-align:text-top;">
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${object.event_id.description}
</div>
<td style="vertical-align:text-top;">
% if object.event_id.description :
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${object.event_id.description}
</div>
% endif
</td>
</tr>
% endif
% if not object.event_id.allday and object.event_id.duration:
<tr style=" height:auto;">
<tr>
<td style="vertical-align:top;">
<div style="height:auto; width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Duration
</div>
% if not object.event_id.allday and object.event_id.duration:
<div style="height:auto; width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Duration
</div>
% endif
</td>
<td colspan="3" style="vertical-align:text-top;">
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${('%dH%02d' % (object.event_id.duration,(object.event_id.duration*60)%60))}
</div>
% if not object.event_id.allday and object.event_id.duration:
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${('%dH%02d' % (object.event_id.duration,(object.event_id.duration*60)%60))}
</div>
% endif
</td>
</tr>
% endif
</tr>
<tr style=" height: 30px;">
<td style="height: 25px;width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
<div>
@ -219,9 +227,9 @@
</table>
</div>
<div style="height: auto;width:450px; margin:0 auto;padding-top:20px;padding-bottom:40px;">
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/accept?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Accept</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/decline?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Decline</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/view?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">View</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/accept?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Accept</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/decline?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Decline</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/view?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">View</a>
</div>
</div>
</body>
@ -259,13 +267,13 @@
<strong>${object.event_id.name}</strong>
</div>
<div style="height: 50px;text-align: left;font-size : 14px;border-collapse: separate;margin-top:10px">
<strong style="margin-left:12px">Hello ${object.cn}</strong> ,<br/>
<strong style="margin-left:12px">Dear ${object.cn}</strong> ,<br/>
<p style="margin-left:12px">The date of the meeting has been changed...<br/>
The meeting created by ${object.event_id.user_id.partner_id.name} is now scheduled for : ${object.event_id.date}.</p>
The meeting created by ${object.event_id.user_id.partner_id.name} is now scheduled for : ${object.event_id.display_time}.</p>
</div>
<div style="height: auto;margin-left:12px;margin-top:30px;">
<table>
<tr>
<tr>
<td>
<div style="border-top-left-radius:3px;border-top-right-radius:3px;font-size:12px;border-collapse:separate;text-align:center;font-weight:bold;color:#ffffff;width:130px;min-height: 18px;border-color:#ffffff;background:#8a89ba;padding-top: 4px;">${object.event_id.get_interval(object.event_id.date, 'dayname')}</div>
<div style="font-size:48px;min-height:auto;font-weight:bold;text-align:center;color: #5F5F5F;background-color: #E1E2F8;width: 130px;">
@ -276,50 +284,58 @@
</td>
<td>
<table cellspacing="0" cellpadding="0" border="0" style="margin-top: 15px; margin-left: 10px;font-size: 16px;">
% if object.event_id.location:
<tr style=" height: 30px;">
<tr>
<td style="vertical-align:top;">
<div style="height: 25px; width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Where
</div>
</td>
<td colspan="1" style="vertical-align:top;">
<div style = "font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 14px" >
: ${object.event_id.location}
<span style= "color:#A9A9A9; ">(<a href="http://maps.google.com/maps?oi=map&q=${object.event_id.location}">View Map</a>)
</span>
</div>
% if object.event_id.location:
<div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Where
</div>
% endif
</td>
<td style="vertical-align:top;">
% if object.event_id.location:
<div style = "font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 14px" >
: ${object.event_id.location}
<span style= "color:#A9A9A9; ">(<a href="http://maps.google.com/maps?oi=map&q=${object.event_id.location}">View Map</a>)
</span>
</div>
% endif
</td>
</tr>
% endif
% if object.event_id.description :
<tr style=" height:auto;">
<tr>
<td style="vertical-align:top;">
<div style="height:auto; width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
What
</div>
% if object.event_id.description :
<div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
What
</div>
% endif
</td>
<td colspan="3" style="vertical-align:text-top;">
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${object.event_id.description}
</div>
<td style="vertical-align:text-top;">
% if object.event_id.description :
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${object.event_id.description}
</div>
% endif
</td>
</tr>
% endif
% if not object.event_id.allday and object.event_id.duration:
<tr style=" height:auto;">
<tr>
<td style="vertical-align:top;">
<div style="height:auto; width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Duration
</div>
% if not object.event_id.allday and object.event_id.duration:
<div style="height:auto; width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Duration
</div>
% endif
</td>
<td colspan="3" style="vertical-align:text-top;">
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${('%dH%02d' % (object.event_id.duration,(object.event_id.duration*60)%60))}
</div>
% if not object.event_id.allday and object.event_id.duration:
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${('%dH%02d' % (object.event_id.duration,(object.event_id.duration*60)%60))}
</div>
% endif
</td>
</tr>
% endif
</tr>
<tr style=" height: 30px;">
<td style="height: 25px;width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
<div>
@ -341,12 +357,12 @@
</table>
</td>
</tr>
</table>
</table>
</div>
<div style="height: auto;width:450px; margin:0 auto;padding-top:20px;padding-bottom:40px;">
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/accept?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Accept</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/decline?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Decline</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/view?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">View</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/accept?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Accept</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/decline?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Decline</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="/calendar/meeting/view?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">View</a>
</div>
</div>
</body>
@ -384,8 +400,8 @@
<strong>${object.event_id.name}</strong>
</div>
<div style="height: 50px;text-align: left;font-size : 14px;border-collapse: separate;margin-top:10px">
<strong style="margin-left:12px">Hello ${object.cn}</strong> ,<br/>
<p style="margin-left:12px">this it a rmeinder for the event below : </p>
<strong style="margin-left:12px">Dear ${object.cn}</strong> ,<br/>
<p style="margin-left:12px">That is a reminder for the event below : </p>
</div>
<div style="height: auto;margin-left:12px;margin-top:30px;">
<table>
@ -400,50 +416,58 @@
</td>
<td>
<table cellspacing="0" cellpadding="0" border="0" style="margin-top: 15px; margin-left: 10px;font-size: 16px;">
% if object.event_id.location:
<tr style=" height: 30px;">
<tr>
<td style="vertical-align:top;">
<div style="height: 25px; width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Where
</div>
</td>
<td colspan="1" style="vertical-align:top;">
<div style = "font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 14px" >
: ${object.event_id.location}
<span style= "color:#A9A9A9; ">(<a href="http://maps.google.com/maps?oi=map&q=${object.event_id.location}">View Map</a>)
</span>
</div>
% if object.event_id.location:
<div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Where
</div>
% endif
</td>
<td style="vertical-align:top;">
% if object.event_id.location:
<div style = "font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 14px" >
: ${object.event_id.location}
<span style= "color:#A9A9A9; ">(<a href="http://maps.google.com/maps?oi=map&q=${object.event_id.location}">View Map</a>)
</span>
</div>
% endif
</td>
</tr>
% endif
% if object.event_id.description :
<tr style=" height:auto;">
<tr>
<td style="vertical-align:top;">
<div style="height:auto; width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
What
</div>
% if object.event_id.description :
<div style="width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
What
</div>
% endif
</td>
<td colspan="3" style="vertical-align:text-top;">
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${object.event_id.description}
</div>
<td style="vertical-align:text-top;">
% if object.event_id.description :
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${object.event_id.description}
</div>
% endif
</td>
</tr>
% endif
% if not object.event_id.allday and object.event_id.duration:
<tr style=" height:auto;">
<tr>
<td style="vertical-align:top;">
<div style="height:auto; width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Duration
</div>
% if not object.event_id.allday and object.event_id.duration:
<div style="height:auto; width: 120px; background : #CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
Duration
</div>
% endif
</td>
<td colspan="3" style="vertical-align:text-top;">
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${('%dH%02d' % (object.event_id.duration,(object.event_id.duration*60)%60))}
</div>
% if not object.event_id.allday and object.event_id.duration:
<div style="font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
: ${('%dH%02d' % (object.event_id.duration,(object.event_id.duration*60)%60))}
</div>
% endif
</td>
</tr>
% endif
</tr>
<tr style=" height: 30px;">
<td style="height: 25px;width: 120px; background : # CCCCCC; font-family: Lucica Grande', Ubuntu, Arial, Verdana, sans-serif;">
<div>

View File

@ -20,7 +20,7 @@
<record id="calendar_event_1" model="calendar.event">
<field eval="1" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_ids" eval="[(6,0,[ref('base.partner_root'),ref('base.res_partner_1'),ref('base.res_partner_6')])]"/>
<field name="partner_ids" eval="[(6,0,[ref('base.res_partner_6')])]"/>
<field name="name">Follow-up for Project proposal</field>
<field name="description">Meeting to discuss project plan and hash out the details of implementation.</field>
<field eval="time.strftime('%Y-%m-03 10:20:00')" name="date"/>

View File

@ -1,21 +1,19 @@
import simplejson
import urllib
import openerp
import openerp.addons.web.http as http
from openerp.addons.web.http import request
import openerp.addons.web.controllers.main as webmain
import json
from openerp.addons.web.http import SessionExpiredException
from werkzeug.exceptions import BadRequest
class meeting_invitation(http.Controller):
@http.route('/calendar/meeting/accept', type='http', auth="calendar")
def accept(self, db, token, action, id,**kwargs):
def accept(self, db, token, action, id, **kwargs):
registry = openerp.modules.registry.RegistryManager.get(db)
attendee_pool = registry.get('calendar.attendee')
with registry.cursor() as cr:
attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token','=',token),('state','!=', 'accepted')])
attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token', '=', token), ('state', '!=', 'accepted')])
if attendee_id:
attendee_pool.do_accept(cr, openerp.SUPERUSER_ID, attendee_id)
return self.view(db, token, action, id, view='form')
@ -25,7 +23,7 @@ class meeting_invitation(http.Controller):
registry = openerp.modules.registry.RegistryManager.get(db)
attendee_pool = registry.get('calendar.attendee')
with registry.cursor() as cr:
attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token','=',token),('state','!=', 'declined')])
attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token', '=', token), ('state', '!=', 'declined')])
if attendee_id:
attendee_pool.do_decline(cr, openerp.SUPERUSER_ID, attendee_id)
return self.view(db, token, action, id, view='form')
@ -36,13 +34,13 @@ class meeting_invitation(http.Controller):
meeting_pool = registry.get('calendar.event')
attendee_pool = registry.get('calendar.attendee')
with registry.cursor() as cr:
attendee_data = meeting_pool.get_attendee(cr, openerp.SUPERUSER_ID, id);
attendee = attendee_pool.search_read(cr, openerp.SUPERUSER_ID, [('access_token','=',token)],[])
attendee_data = meeting_pool.get_attendee(cr, openerp.SUPERUSER_ID, id)
attendee = attendee_pool.search_read(cr, openerp.SUPERUSER_ID, [('access_token', '=', token)], [])
if attendee:
attendee_data['current_attendee'] = attendee[0]
js = "\n ".join('<script type="text/javascript" src="%s"></script>' % i for i in webmain.manifest_list('js', db=db))
css = "\n ".join('<link rel="stylesheet" href="%s">' % i for i in webmain.manifest_list('css',db=db))
css = "\n ".join('<link rel="stylesheet" href="%s">' % i for i in webmain.manifest_list('css', db=db))
return webmain.html_template % {
'js': js,
@ -50,7 +48,7 @@ class meeting_invitation(http.Controller):
'modules': simplejson.dumps(webmain.module_boot(db)),
'init': "s.calendar.event('%s', '%s', '%s', '%s' , '%s');" % (db, action, id, 'form', json.dumps(attendee_data)),
}
# Function used, in RPC to check every 5 minutes, if notification to do for an event or not
@http.route('/calendar/notify', type='json', auth="none")
def notify(self):
@ -58,15 +56,14 @@ class meeting_invitation(http.Controller):
uid = request.session.uid
context = request.session.context
with registry.cursor() as cr:
res = registry.get("calendar.alarm_manager").get_next_notif(cr,uid,context=context)
res = registry.get("calendar.alarm_manager").get_next_notif(cr, uid, context=context)
return res
@http.route('/calendar/notify_ack', type='json', auth="none")
def notify_ack(self, type=''):
registry = openerp.modules.registry.RegistryManager.get(request.session.db)
uid = request.session.uid
context = request.session.context
with registry.cursor() as cr:
res = registry.get("res.partner").calendar_last_notif(cr,uid,context=context)
res = registry.get("res.partner").calendar_last_notif_ack(cr, uid, context=context)
return res

View File

@ -1,17 +1,20 @@
openerp.calendar = function(instance) {
var _t = instance.web._t;
var QWeb = instance.web.qweb;
instance.calendar = {};
instance.web.WebClient = instance.web.WebClient.extend({
get_notif_box: function(me) {
return $(me).closest(".ui-notify-message-style");
},
get_next_notif: function() {
var self= this;
this.rpc("/calendar/notify")
.then(
.done(
function(result) {
_.each(result, function(res) {
setTimeout(function() {
@ -44,21 +47,33 @@ openerp.calendar = function(instance) {
},res.timer * 1000);
});
}
);
)
.fail(function (err, ev) {
if (err.code === -32098) {
// Prevent the CrashManager to display an error
// in case of an xhr error not due to a server error
ev.preventDefault();
}
});
},
check_notifications: function() {
var self= this;
self.get_next_notif();
setInterval(function(){
self.intervalNotif = setInterval(function(){
self.get_next_notif();
}, 5 * 60 * 1000 );
}, 5 * 60 * 1000 );
},
//Override the show_application of addons/web/static/src/js/chrome.js
show_application: function() {
this._super();
this.check_notifications();
},
},
//Override addons/web/static/src/js/chrome.js
on_logout: function() {
this._super();
clearInterval(self.intervalNotif);
},
});

View File

@ -65,3 +65,20 @@
-
!python {model: calendar.event}: |
self.write(cr, uid, [ref("calendar_event_alldaytestevent0")], {'alarm_ids': [(6,0,[ref("res_alarm_daybeforeeventstarts0")])]})
-
I create a recuring rule for my event
-
!record {model: calendar.event, id: calendar.event_sprintreview1}:
name: Begin of month meeting
date: !eval time.strftime('%Y-%m-%d 12:00:00')
recurrency: true
rrule: FREQ=MONTHLY;INTERVAL=1;COUNT=12;BYDAY=1MO
-
I check that the attributes are set correctly
-
!assert {model: calendar.event, id: calendar.event_sprintreview1}:
- rrule_type == 'monthly'
- count == 12
- month_by == 'day'
- byday == '1'
- week_list == 'MO'

View File

@ -23,15 +23,13 @@ from openerp.osv import fields, osv
import logging
_logger = logging.getLogger(__name__)
#
# calendar.event is defined in module calendar
#
class calendar_event(osv.Model):
""" Model for Calendar Event """
_inherit = 'calendar.event'
_columns = {
'phonecall_id': fields.many2one ('crm.phonecall', 'Phonecall'),
'opportunity_id': fields.many2one ('crm.lead', 'Opportunity', domain="[('type', '=', 'opportunity')]"),
'phonecall_id': fields.many2one('crm.phonecall', 'Phonecall'),
'opportunity_id': fields.many2one('crm.lead', 'Opportunity', domain="[('type', '=', 'opportunity')]"),
}
def create(self, cr, uid, vals, context=None):
@ -48,31 +46,11 @@ class calendar_attendee(osv.osv):
_inherit = 'calendar.attendee'
_description = 'Calendar Attendee'
def _compute_data(self, cr, uid, ids, name, arg, context=None):
"""
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param ids: List of compute datas IDs
@param context: A standard dictionary for contextual values
"""
name = name[0]
result = super(calendar_attendee, self)._compute_data(cr, uid, ids, name, arg, context=context)
for attdata in self.browse(cr, uid, ids, context=context):
id = attdata.id
result[id] = {}
if name == 'categ_id':
if attdata.ref and 'categ_id' in attdata.ref._columns:
result[id][name] = (attdata.ref.categ_id.id, attdata.ref.categ_id.name,)
else:
result[id][name] = False
return result
def _noop(self, cr, uid, ids, name, arg, context=None):
return dict.fromkeys(ids, False)
_columns = {
'categ_id': fields.function(_compute_data, \
string='Event Type', type="many2one", \
relation="crm.case.categ", multi='categ_id'),
'categ_id': fields.function(_noop, string='Event Type', deprecated="Unused Field - TODO : Remove it in trunk", type="many2one", relation="crm.case.categ"),
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -313,7 +313,10 @@ class crm_lead(format_address, osv.osv):
stage = self.pool.get('crm.case.stage').browse(cr, uid, stage_id, context=context)
if not stage.on_change:
return {'value': {}}
return {'value': {'probability': stage.probability}}
vals = {'probability': stage.probability}
if stage.probability >= 100 or (stage.probability == 0 and stage.sequence > 1):
vals['date_closed'] = fields.datetime.now()
return {'value': vals}
def on_change_partner_id(self, cr, uid, ids, partner_id, context=None):
values = {}

View File

@ -95,7 +95,6 @@
<form string="Leads Form" version="7.0">
<header>
<button name="%(crm.action_crm_lead2opportunity_partner)d" string="Convert to Opportunity" type="action"
attrs="{'invisible': [('probability', '=', 100)]}"
help="Convert to Opportunity" class="oe_highlight"/>
<field name="stage_id" widget="statusbar" clickable="True"
domain="['&amp;', '|', ('case_default', '=', True), ('section_ids', '=', section_id), '|', ('type', '=', type), ('type', '=', 'both')]"

View File

@ -58,7 +58,7 @@
<field name="view_mode">tree,calendar</field>
<field name="view_id" ref="crm_case_inbound_phone_tree_view"/>
<field name="domain">[]</field>
<field name="context">{}</field>
<field name="context">{'search_default_state': 'done', 'default_state': 'done'}</field>
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">

View File

@ -167,6 +167,7 @@
<search string="Search Phonecalls">
<field name="name" string="Phonecalls"/>
<field name="date"/>
<field name="state"/>
<separator/>
<filter icon="terp-gtk-go-back-rtl" string="To Do" name="current" domain="[('state','=','open')]"/>
<separator/>

View File

@ -66,7 +66,7 @@
-
!python {model: crm.lead2opportunity.partner.mass}: |
context.update({'active_model': 'crm.lead', 'active_ids': [ref("test_crm_lead_01"), ref("test_crm_lead_02"), ref("test_crm_lead_03"), ref("test_crm_lead_04"), ref("test_crm_lead_05"), ref("test_crm_lead_06")], 'active_id': ref("test_crm_lead_01")})
id = self.create(cr, uid, {'user_ids': [(6, 0, [ref('test_res_user_01'), ref('test_res_user_02'), ref('test_res_user_03'), ref('test_res_user_04')])], 'section_id': ref('crm.section_sales_department'), 'deduplicate': False}, context=context)
id = self.create(cr, uid, {'user_ids': [(6, 0, [ref('test_res_user_01'), ref('test_res_user_02'), ref('test_res_user_03'), ref('test_res_user_04')])], 'section_id': ref('crm.section_sales_department'), 'deduplicate': False, 'force_assignation': True}, context=context)
self.mass_convert(cr, uid, [id], context=context)
-
The leads should now be opps with a salesman and a salesteam. Also, salesmen should have been assigned following a round-robin method.

View File

@ -21,6 +21,7 @@
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp.tools import email_split
import re
class crm_lead2opportunity_partner(osv.osv_memory):
@ -41,21 +42,25 @@ class crm_lead2opportunity_partner(osv.osv_memory):
def onchange_action(self, cr, uid, ids, action, context=None):
return {'value': {'partner_id': False if action != 'exist' else self._find_matching_partner(cr, uid, context=context)}}
def _get_duplicated_leads(self, cr, uid, partner_id, email, context=None):
def _get_duplicated_leads(self, cr, uid, partner_id, email, include_lost=False, context=None):
"""
Search for opportunities that have the same partner and that arent done or cancelled
"""
lead_obj = self.pool.get('crm.lead')
results = []
emails = set(email_split(email) + [email])
final_stage_domain = [('stage_id.probability', '<', 100), '|', ('stage_id.probability', '>', 0), ('stage_id.sequence', '<=', 1)]
partner_match_domain = []
for email in emails:
partner_match_domain.append(('email_from', '=ilike', email))
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), '|', ('probability', '=', False), ('probability', '<', '100')])
for id in ids:
results.append(id)
email = re.findall(r'([^ ,<@]+@[^> ,]+)', email or '')
if email:
ids = lead_obj.search(cr, uid, [('email_from', '=ilike', email[0]), '|', ('probability', '=', False), ('probability', '<', '100')])
for id in ids:
results.append(id)
return list(set(results))
partner_match_domain.append(('partner_id', '=', partner_id))
partner_match_domain = ['|'] * (len(partner_match_domain) - 1) + partner_match_domain
if not partner_match_domain:
return []
domain = partner_match_domain
if not include_lost:
domain += final_stage_domain
return lead_obj.search(cr, uid, domain)
def default_get(self, cr, uid, fields, context=None):
"""
@ -69,12 +74,11 @@ class crm_lead2opportunity_partner(osv.osv_memory):
if context.get('active_id'):
tomerge = [int(context['active_id'])]
email = False
partner_id = res.get('partner_id')
lead = lead_obj.browse(cr, uid, int(context['active_id']), context=context)
email = lead.partner_id and lead.partner_id.email or lead.email_from
#TOFIX: use mail.mail_message.to_mail
tomerge.extend(self._get_duplicated_leads(cr, uid, partner_id, email))
tomerge.extend(self._get_duplicated_leads(cr, uid, partner_id, email, include_lost=True, context=context))
tomerge = list(set(tomerge))
if 'action' in fields:
@ -100,10 +104,8 @@ class crm_lead2opportunity_partner(osv.osv_memory):
else:
user_in_section = False
if not user_in_section:
section_id = False
section_ids = self.pool.get('crm.case.section').search(cr, uid, ['|', ('user_id', '=', user_id), ('member_ids', '=', user_id)], context=context)
if section_ids:
section_id = section_ids[0]
result = self.pool['crm.lead'].on_change_user(cr, uid, ids, user_id, context=context)
section_id = result.get('value') and result['value'].get('section_id') and result['value']['section_id'] or False
return {'value': {'section_id': section_id}}
def view_init(self, cr, uid, fields, context=None):
@ -126,14 +128,17 @@ class crm_lead2opportunity_partner(osv.osv_memory):
lead_ids = vals.get('lead_ids', [])
team_id = vals.get('section_id', False)
data = self.browse(cr, uid, ids, context=context)[0]
for lead_id in lead_ids:
partner_id = self._create_partner(cr, uid, lead_id, data.action, data.partner_id, context=context)
# FIXME: cannot pass user_ids as the salesman allocation only works in batch
res = lead.convert_opportunity(cr, uid, [lead_id], partner_id, [], team_id, context=context)
# FIXME: must perform salesman allocation in batch separately here
leads = lead.browse(cr, uid, lead_ids, context=context)
for lead_id in leads:
partner_id = self._create_partner(cr, uid, lead_id.id, data.action, lead_id.partner_id.id, context=context)
res = lead.convert_opportunity(cr, uid, [lead_id.id], partner_id, [], False, context=context)
user_ids = vals.get('user_ids', False)
if context.get('no_force_assignation'):
leads_to_allocate = [lead_id.id for lead_id in leads if not lead_id.user_id]
else:
leads_to_allocate = lead_ids
if user_ids:
lead.allocate_salesman(cr, uid, lead_ids, user_ids, team_id=team_id, context=context)
lead.allocate_salesman(cr, uid, leads_to_allocate, user_ids, team_id=team_id, context=context)
return res
def action_apply(self, cr, uid, ids, context=None):
@ -144,15 +149,19 @@ class crm_lead2opportunity_partner(osv.osv_memory):
if context is None:
context = {}
lead_obj = self.pool['crm.lead']
w = self.browse(cr, uid, ids, context=context)[0]
opp_ids = [o.id for o in w.opportunity_ids]
if w.name == 'merge':
lead_id = self.pool.get('crm.lead').merge_opportunity(cr, uid, opp_ids, w.user_id.id, w.section_id.id, context=context)
lead_id = lead_obj.merge_opportunity(cr, uid, opp_ids, context=context)
lead_ids = [lead_id]
lead = self.pool.get('crm.lead').read(cr, uid, lead_id, ['type'], context=context)
lead = lead_obj.read(cr, uid, lead_id, ['type', 'user_id'], context=context)
if lead['type'] == "lead":
context.update({'active_ids': lead_ids})
self._convert_opportunity(cr, uid, ids, {'lead_ids': lead_ids, 'user_ids': [w.user_id.id], 'section_id': w.section_id.id}, context=context)
elif not context.get('no_force_assignation') or not lead['user_id']:
lead_obj.write(cr, uid, lead_id, {'user_id': w.user_id.id, 'section_id': w.section_id.id}, context=context)
else:
lead_ids = context.get('active_ids', [])
self._convert_opportunity(cr, uid, ids, {'lead_ids': lead_ids, 'user_ids': [w.user_id.id], 'section_id': w.section_id.id}, context=context)
@ -186,11 +195,12 @@ class crm_lead2opportunity_mass_convert(osv.osv_memory):
_columns = {
'user_ids': fields.many2many('res.users', string='Salesmen'),
'section_id': fields.many2one('crm.case.section', 'Sales Team'),
'deduplicate': fields.boolean('Apply deduplication', help='Merge with existing leads/opportunities of each partner'),
'deduplicate': fields.boolean('Apply deduplication', help='Merge with existing leads/opportunities of each partner'),
'action': fields.selection([
('each_exist_or_create', 'Use existing partner or create'),
('nothing', 'Do not link to a customer')
], 'Related Customer', required=True),
'force_assignation': fields.boolean('Force assignation', help='If unchecked, this will leave the salesman of duplicated opportunities'),
}
_defaults = {
@ -266,6 +276,7 @@ class crm_lead2opportunity_mass_convert(osv.osv_memory):
active_ids = active_ids.difference(merged_lead_ids)
active_ids = active_ids.union(remaining_lead_ids)
ctx['active_ids'] = list(active_ids)
ctx['no_force_assignation'] = not data.force_assignation
return self.action_apply(cr, uid, ids, context=ctx)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -58,6 +58,8 @@
<group string="Assign opportunities to">
<field name="section_id" groups="base.group_multi_salesteams"/>
<field name="user_ids" widget="many2many_tags"/>
<!-- Uncomment me in trunk -->
<!-- <field name="force_assignation" /> -->
</group>
<label for="opportunity_ids" string="Leads with existing duplicates (for information)" help="Leads that you selected that have duplicates. If the list is empty, it means that no duplicates were found" attrs="{'invisible': [('deduplicate', '=', False)]}"/>
<group attrs="{'invisible': [('deduplicate', '=', False)]}">

View File

@ -9,7 +9,7 @@
<field name="arch" type="xml">
<form string="Merge Leads/Opportunities" version="7.0">
<group string="Assign opportunities to">
<field name="user_id" class="oe_inline" on_change="on_change_user(user_id, context)"/>
<field name="user_id" class="oe_inline" on_change="on_change_user(user_id, section_id, context)"/>
<field name="section_id" class="oe_inline"/>
</group>
<group string="Select Leads/Opportunities">

View File

@ -15,10 +15,10 @@
<div class="oe_title">
<h3>
<span class="oe_grey">( </span>
<field name="partner_latitude" nolabel="1" readonly="1" class="oe_inline"/>
<field name="partner_latitude" nolabel="1" class="oe_inline"/>
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_latitude','&lt;=',0)]}">N </span>
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_latitude','&gt;=',0)]}">S </span>
<field name="partner_longitude" class="oe_inline" readonly="1" nolabel="1"/>
<field name="partner_longitude" class="oe_inline" nolabel="1"/>
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_longitude','&lt;=',0)]}">E </span>
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_longitude','&gt;=',0)]}">W </span>
<span class="oe_grey">) </span>
@ -88,10 +88,10 @@
<div>
<h3>
<span class="oe_grey">( </span>
<field name="partner_latitude" nolabel="1" readonly="1" class="oe_inline"/>
<field name="partner_latitude" nolabel="1" class="oe_inline"/>
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_latitude','&lt;=',0)]}">N </span>
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_latitude','&gt;=',0)]}">S </span>
<field name="partner_longitude" class="oe_inline" readonly="1" nolabel="1"/>
<field name="partner_longitude" class="oe_inline" nolabel="1"/>
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_longitude','&lt;=',0)]}">E </span>
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_longitude','&gt;=',0)]}">W </span>
<span class="oe_grey">) </span>

View File

@ -1,18 +1,19 @@
openerp.crm_partner_assign = function (instance) {
instance.crm_partner_assign = instance.crm_partner_assign || {};
instance.crm_partner_assign.next_or_list = function(parent) {
if (parent.inner_widget.active_view === "form"){
var form = parent.inner_widget.views.form.controller;
form.dataset.remove_ids([form.dataset.ids[form.dataset.index]]);
form.reload();
if (!form.dataset.ids.length){
parent.inner_widget.switch_mode('list');
}
}
else{
parent.inner_widget.views[parent.inner_widget.active_view].controller.reload();
}
parent.do_action({ type: 'ir.actions.act_window_close' });
var view = parent.inner_widget.active_view;
var controller = parent.inner_widget.views[view].controller;
if (view === "form"){
if (controller.dataset.size()) {
controller.execute_pager_action('next');
} else {
controller.do_action('history_back');
}
}
controller.do_action({ type: 'ir.actions.act_window_close' });
if (view === "list"){
controller.records.remove(controller.records.get(parent.dialog_widget.action.context.active_id));
}
};
instance.web.client_actions.add("next_or_list", "instance.crm_partner_assign.next_or_list");
}

View File

@ -1,55 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Shared Repositories (FTP)',
'version': '1.99',
'category': 'Knowledge Management',
'description': """
This is a support FTP Interface with document management system.
================================================================
With this module you would not only be able to access documents through OpenERP
but you would also be able to connect with them through the file system using the
FTP client.
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['base', 'document'],
'data': [
'wizard/ftp_configuration_view.xml',
'wizard/ftp_browse_view.xml',
'security/ir.model.access.csv',
'res_config_view.xml',
],
'demo': [],
'test': [
'test/document_ftp_test2.yml',
'test/document_ftp_test4.yml',
],
'installable': True,
'auto_install': False,
'images': ['images/1_configure_ftp.jpeg','images/2_document_browse.jpeg','images/3_document_ftp.jpeg'],
'post_load': 'post_load',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,74 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import threading
import logging
import authorizer
import abstracted_fs
import ftpserver
import openerp
from openerp.tools import config
_logger = logging.getLogger(__name__)
def start_server():
if openerp.multi_process:
_logger.info("FTP disabled in multiprocess mode")
return
if openerp.evented:
_logger.info("FTP disabled in evented mode")
return
HOST = config.get('ftp_server_host', '127.0.0.1')
PORT = int(config.get('ftp_server_port', '8021'))
PASSIVE_PORTS = None
pps = config.get('ftp_server_passive_ports', '').split(':')
if len(pps) == 2:
PASSIVE_PORTS = int(pps[0]), int(pps[1])
class ftp_server(threading.Thread):
def run(self):
autho = authorizer.authorizer()
ftpserver.FTPHandler.authorizer = autho
ftpserver.max_cons = 300
ftpserver.max_cons_per_ip = 50
ftpserver.FTPHandler.abstracted_fs = abstracted_fs.abstracted_fs
if PASSIVE_PORTS:
ftpserver.FTPHandler.passive_ports = PASSIVE_PORTS
ftpserver.log = lambda msg: _logger.info(msg)
ftpserver.logline = lambda msg: None
ftpserver.logerror = lambda msg: _logger.error(msg)
ftpd = ftpserver.FTPServer((HOST, PORT), ftpserver.FTPHandler)
ftpd.serve_forever()
if HOST.lower() == 'none':
_logger.info("\n Server FTP Not Started\n")
else:
_logger.info("\n Serving FTP on %s:%s\n" % (HOST, PORT))
ds = ftp_server()
ds.daemon = True
ds.start()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,665 +0,0 @@
# -*- encoding: utf-8 -*-
import os
import time
from tarfile import filemode
import logging
import errno
import glob
import fnmatch
import openerp
from openerp import sql_db
import openerp.service
from openerp.service import security
from openerp.osv import osv
from openerp.addons.document.document import get_node_context
def _get_month_name(month):
month=int(month)
if month==1:return 'Jan'
elif month==2:return 'Feb'
elif month==3:return 'Mar'
elif month==4:return 'Apr'
elif month==5:return 'May'
elif month==6:return 'Jun'
elif month==7:return 'Jul'
elif month==8:return 'Aug'
elif month==9:return 'Sep'
elif month==10:return 'Oct'
elif month==11:return 'Nov'
elif month==12:return 'Dec'
from ftpserver import _to_decode, _to_unicode
class abstracted_fs(object):
"""A class used to interact with the file system, providing a high
level, cross-platform interface compatible with both Windows and
UNIX style filesystems.
It provides some utility methods and some wraps around operations
involved in file creation and file system operations like moving
files or removing directories.
Instance attributes:
- (str) root: the user home directory.
- (str) cwd: the current working directory.
- (str) rnfr: source file to be renamed.
"""
def __init__(self):
self.root = None
self.cwd = '/'
self.cwd_node = None
self.rnfr = None
self._log = logging.getLogger(__name__)
# Ok
def db_list(self):
"""Get the list of available databases, with FTPd support
"""
s = openerp.service.db
result = s.exp_list(document=True)
self.db_name_list = []
for db_name in result:
db, cr = None, None
try:
try:
db = sql_db.db_connect(db_name)
cr = db.cursor()
cr.execute("SELECT 1 FROM pg_class WHERE relkind = 'r' AND relname = 'ir_module_module'")
if not cr.fetchone():
continue
cr.execute("SELECT id FROM ir_module_module WHERE name = 'document_ftp' AND state IN ('installed', 'to install', 'to upgrade') ")
res = cr.fetchone()
if res and len(res):
self.db_name_list.append(db_name)
cr.commit()
except Exception:
self._log.warning('Cannot use db "%s".', db_name)
finally:
if cr is not None:
cr.close()
return self.db_name_list
def ftpnorm(self, ftppath):
"""Normalize a "virtual" ftp pathname (tipically the raw string
coming from client).
Pathname returned is relative!.
"""
p = os.path.normpath(ftppath)
# normalize string in a standard web-path notation having '/'
# as separator. xrg: is that really in the spec?
p = p.replace("\\", "/")
# os.path.normpath supports UNC paths (e.g. "//a/b/c") but we
# don't need them. In case we get an UNC path we collapse
# redundant separators appearing at the beginning of the string
while p[:2] == '//':
p = p[1:]
if p == '.':
return ''
return p
def get_cwd(self):
""" return the cwd, decoded in utf"""
return _to_decode(self.cwd)
def ftp2fs(self, path_orig, data):
raise DeprecationWarning()
def fs2ftp(self, node):
""" Return the string path of a node, in ftp form
"""
res='/'
if node:
paths = node.full_path()
res = '/' + node.context.dbname + '/' + \
_to_decode(os.path.join(*paths))
return res
def validpath(self, path):
"""Check whether the path belongs to user's home directory.
Expected argument is a datacr tuple
"""
# TODO: are we called for "/" ?
return isinstance(path, tuple) and path[1] and True or False
# --- Wrapper methods around open() and tempfile.mkstemp
def create(self, datacr, objname, mode):
""" Create a children file-node under node, open it
@return open node_descriptor of the created node
"""
objname = _to_unicode(objname)
cr , node, rem = datacr
try:
child = node.child(cr, objname)
if child:
if child.type not in ('file','content'):
raise OSError(1, 'Operation is not permitted.')
ret = child.open_data(cr, mode)
cr.commit()
assert ret, "Cannot create descriptor for %r: %r." % (child, ret)
return ret
except EnvironmentError:
raise
except Exception:
self._log.exception('Cannot locate item %s at node %s.', objname, repr(node))
pass
try:
child = node.create_child(cr, objname, data=None)
ret = child.open_data(cr, mode)
assert ret, "Cannot create descriptor for %r." % child
cr.commit()
return ret
except EnvironmentError:
raise
except Exception:
self._log.exception('Cannot create item %s at node %s.', objname, repr(node))
raise OSError(1, 'Operation is not permitted.')
def open(self, datacr, mode):
if not (datacr and datacr[1]):
raise OSError(1, 'Operation is not permitted.')
# Reading operation
cr, node, rem = datacr
try:
res = node.open_data(cr, mode)
cr.commit()
except TypeError:
raise IOError(errno.EINVAL, "No data.")
return res
# ok, but need test more
def mkstemp(self, suffix='', prefix='', dir=None, mode='wb'):
"""A wrap around tempfile.mkstemp creating a file with a unique
name. Unlike mkstemp it returns an object with a file-like
interface.
"""
raise NotImplementedError # TODO
text = not 'b' in mode
# for unique file , maintain version if duplicate file
if dir:
cr = dir.cr
uid = dir.uid
pool = openerp.registry(node.context.dbname)
object=dir and dir.object or False
object2=dir and dir.object2 or False
res=pool.get('ir.attachment').search(cr,uid,[('name','like',prefix),('parent_id','=',object and object.type in ('directory','ressource') and object.id or False),('res_id','=',object2 and object2.id or False),('res_model','=',object2 and object2._name or False)])
if len(res):
pre = prefix.split('.')
prefix=pre[0] + '.v'+str(len(res))+'.'+pre[1]
return self.create(dir,suffix+prefix,text)
# Ok
def chdir(self, datacr):
if (not datacr) or datacr == (None, None, None):
self.cwd = '/'
self.cwd_node = None
return None
if not datacr[1]:
raise OSError(1, 'Operation is not permitted.')
if datacr[1].type not in ('collection','database'):
raise OSError(2, 'Path is not a directory.')
self.cwd = '/'+datacr[1].context.dbname + '/'
self.cwd += '/'.join(datacr[1].full_path())
self.cwd_node = datacr[1]
# Ok
def mkdir(self, datacr, basename):
"""Create the specified directory."""
cr, node, rem = datacr or (None, None, None)
if not node:
raise OSError(1, 'Operation is not permitted.')
try:
basename =_to_unicode(basename)
cdir = node.create_child_collection(cr, basename)
self._log.debug("Created child dir: %r", cdir)
cr.commit()
except Exception:
self._log.exception('Cannot create dir "%s" at node %s.', basename, repr(node))
raise OSError(1, 'Operation is not permitted.')
def close_cr(self, data):
if data and data[0]:
data[0].close()
return True
def get_cr(self, pathname):
raise DeprecationWarning()
def get_crdata(self, line, mode='file'):
""" Get database cursor, node and remainder data, for commands
This is the helper function that will prepare the arguments for
any of the subsequent commands.
It returns a tuple in the form of:
@code ( cr, node, rem_path=None )
@param line An absolute or relative ftp path, as passed to the cmd.
@param mode A word describing the mode of operation, so that this
function behaves properly in the different commands.
"""
path = self.ftpnorm(line)
if self.cwd_node is None:
if not os.path.isabs(path):
path = os.path.join(self.root, path)
if path == '/' and mode in ('list', 'cwd'):
return (None, None, None )
if path == '..': path = self.cwd + '/..'
path = _to_unicode(os.path.normpath(path)) # again, for '/db/../ss'
if path == '.': path = ''
if os.path.isabs(path) and self.cwd_node is not None \
and path.startswith(self.cwd):
# make relative, so that cwd_node is used again
path = path[len(self.cwd):]
if path.startswith('/'):
path = path[1:]
p_parts = path.split(os.sep)
assert '..' not in p_parts
rem_path = None
if mode in ('create',):
rem_path = p_parts[-1]
p_parts = p_parts[:-1]
if os.path.isabs(path):
# we have to start from root, again
while p_parts and p_parts[0] == '':
p_parts = p_parts[1:]
# self._log.debug("Path parts: %r ", p_parts)
if not p_parts:
raise IOError(errno.EPERM, 'Cannot perform operation at root directory.')
dbname = p_parts[0]
if dbname not in self.db_list():
raise IOError(errno.ENOENT,'Invalid database path: %s.' % dbname)
try:
db = openerp.registry(dbname).db
except Exception:
raise OSError(1, 'Database cannot be used.')
cr = db.cursor()
try:
uid = security.login(dbname, self.username, self.password)
except Exception:
cr.close()
raise
if not uid:
cr.close()
raise OSError(2, 'Authentification required.')
n = get_node_context(cr, uid, {})
node = n.get_uri(cr, p_parts[1:])
return (cr, node, rem_path)
else:
# we never reach here if cwd_node is not set
if p_parts and p_parts[-1] == '':
p_parts = p_parts[:-1]
cr, uid = self.get_node_cr_uid(self.cwd_node)
if p_parts:
node = self.cwd_node.get_uri(cr, p_parts)
else:
node = self.cwd_node
if node is False and mode not in ('???'):
cr.close()
raise IOError(errno.ENOENT, 'Path does not exist.')
return (cr, node, rem_path)
def get_node_cr_uid(self, node):
""" Get cr, uid, pool from a node
"""
assert node
db = openerp.registry(node.context.dbname).db
return db.cursor(), node.context.uid
def get_node_cr(self, node):
""" Get the cursor for the database of a node
The cursor is the only thing that a node will not store
persistenly, so we have to obtain a new one for each call.
"""
return self.get_node_cr_uid(node)[0]
def listdir(self, datacr):
"""List the content of a directory."""
class false_node(object):
write_date = 0.0
create_date = 0.0
unixperms = 040550
content_length = 0L
uuser = 'root'
ugroup = 'root'
type = 'database'
def __init__(self, db):
self.path = db
if datacr[1] is None:
result = []
for db in self.db_list():
try:
result.append(false_node(db))
except osv.except_osv:
pass
return result
cr, node, rem = datacr
res = node.children(cr)
return res
def rmdir(self, datacr):
"""Remove the specified directory."""
cr, node, rem = datacr
assert node
node.rmcol(cr)
cr.commit()
def remove(self, datacr):
assert datacr[1]
if datacr[1].type == 'collection':
return self.rmdir(datacr)
elif datacr[1].type == 'file':
return self.rmfile(datacr)
raise OSError(1, 'Operation is not permitted.')
def rmfile(self, datacr):
"""Remove the specified file."""
assert datacr[1]
cr = datacr[0]
datacr[1].rm(cr)
cr.commit()
def rename(self, src, datacr):
""" Renaming operation, the effect depends on the src:
* A file: read, create and remove
* A directory: change the parent and reassign children to ressource
"""
cr = datacr[0]
try:
nname = _to_unicode(datacr[2])
ret = src.move_to(cr, datacr[1], new_name=nname)
# API shouldn't wait for us to write the object
assert (ret is True) or (ret is False)
cr.commit()
except EnvironmentError:
raise
except Exception:
self._log.exception('Cannot rename "%s" to "%s" at "%s".', src, datacr[2], datacr[1])
raise OSError(1,'Operation is not permitted.')
def stat(self, node):
raise NotImplementedError()
# --- Wrapper methods around os.path.*
# Ok
def isfile(self, node):
if node and (node.type in ('file','content')):
return True
return False
# Ok
def islink(self, path):
"""Return True if path is a symbolic link."""
return False
def isdir(self, node):
"""Return True if path is a directory."""
if node is None:
return True
if node and (node.type in ('collection','database')):
return True
return False
def getsize(self, datacr):
"""Return the size of the specified file in bytes."""
if not (datacr and datacr[1]):
raise IOError(errno.ENOENT, "No such file or directory.")
if datacr[1].type in ('file', 'content'):
return datacr[1].get_data_len(datacr[0]) or 0L
return 0L
# Ok
def getmtime(self, datacr):
"""Return the last modified time as a number of seconds since
the epoch."""
node = datacr[1]
if node.write_date or node.create_date:
dt = (node.write_date or node.create_date)[:19]
result = time.mktime(time.strptime(dt, '%Y-%m-%d %H:%M:%S'))
else:
result = time.mktime(time.localtime())
return result
# Ok
def realpath(self, path):
"""Return the canonical version of path eliminating any
symbolic links encountered in the path (if they are
supported by the operating system).
"""
return path
# Ok
def lexists(self, path):
"""Return True if path refers to an existing path, including
a broken or circular symbolic link.
"""
raise DeprecationWarning()
return path and True or False
exists = lexists
# Ok, can be improved
def glob1(self, dirname, pattern):
"""Return a list of files matching a dirname pattern
non-recursively.
Unlike glob.glob1 raises exception if os.listdir() fails.
"""
names = self.listdir(dirname)
if pattern[0] != '.':
names = filter(lambda x: x.path[0] != '.', names)
return fnmatch.filter(names, pattern)
# --- Listing utilities
# note: the following operations are no more blocking
def get_list_dir(self, datacr):
""""Return an iterator object that yields a directory listing
in a form suitable for LIST command.
"""
if not datacr:
return None
elif self.isdir(datacr[1]):
listing = self.listdir(datacr)
return self.format_list(datacr[0], datacr[1], listing)
# if path is a file or a symlink we return information about it
elif self.isfile(datacr[1]):
par = datacr[1].parent
return self.format_list(datacr[0], par, [datacr[1]])
def get_stat_dir(self, rawline, datacr):
"""Return an iterator object that yields a list of files
matching a dirname pattern non-recursively in a form
suitable for STAT command.
- (str) rawline: the raw string passed by client as command
argument.
"""
ftppath = self.ftpnorm(rawline)
if not glob.has_magic(ftppath):
return self.get_list_dir(self.ftp2fs(rawline, datacr))
else:
basedir, basename = os.path.split(ftppath)
if glob.has_magic(basedir):
return iter(['Directory recursion not supported.\r\n'])
else:
basedir = self.ftp2fs(basedir, datacr)
listing = self.glob1(basedir, basename)
if listing:
listing.sort()
return self.format_list(basedir, listing)
def format_list(self, cr, parent_node, listing, ignore_err=True):
"""Return an iterator object that yields the entries of given
directory emulating the "/bin/ls -lA" UNIX command output.
- (str) basedir: the parent directory node. Can be None
- (list) listing: a list of nodes
- (bool) ignore_err: when False raise exception if os.lstat()
call fails.
On platforms which do not support the pwd and grp modules (such
as Windows), ownership is printed as "owner" and "group" as a
default, and number of hard links is always "1". On UNIX
systems, the actual owner, group, and number of links are
printed.
This is how output appears to client:
-rw-rw-rw- 1 owner group 7045120 Sep 02 3:47 music.mp3
drwxrwxrwx 1 owner group 0 Aug 31 18:50 e-books
-rw-rw-rw- 1 owner group 380 Sep 02 3:40 module.py
"""
for node in listing:
perms = filemode(node.unixperms) # permissions
nlinks = 1
size = node.content_length or 0L
uname = _to_decode(node.uuser)
gname = _to_decode(node.ugroup)
# stat.st_mtime could fail (-1) if last mtime is too old
# in which case we return the local time as last mtime
try:
st_mtime = node.write_date or 0.0
if isinstance(st_mtime, basestring):
st_mtime = time.strptime(st_mtime, '%Y-%m-%d %H:%M:%S')
elif isinstance(st_mtime, float):
st_mtime = time.localtime(st_mtime)
mname=_get_month_name(time.strftime("%m", st_mtime ))
mtime = mname+' '+time.strftime("%d %H:%M", st_mtime)
except ValueError:
mname=_get_month_name(time.strftime("%m"))
mtime = mname+' '+time.strftime("%d %H:%M")
fpath = node.path
if isinstance(fpath, (list, tuple)):
fpath = fpath[-1]
# formatting is matched with proftpd ls output
path=_to_decode(fpath)
yield "%s %3s %-8s %-8s %8s %s %s\r\n" %(perms, nlinks, uname, gname,
size, mtime, path)
# Ok
def format_mlsx(self, cr, basedir, listing, perms, facts, ignore_err=True):
"""Return an iterator object that yields the entries of a given
directory or of a single file in a form suitable with MLSD and
MLST commands.
Every entry includes a list of "facts" referring the listed
element. See RFC-3659, chapter 7, to see what every single
fact stands for.
- (str) basedir: the absolute dirname.
- (list) listing: the names of the entries in basedir
- (str) perms: the string referencing the user permissions.
- (str) facts: the list of "facts" to be returned.
- (bool) ignore_err: when False raise exception if os.stat()
call fails.
Note that "facts" returned may change depending on the platform
and on what user specified by using the OPTS command.
This is how output could appear to the client issuing
a MLSD request:
type=file;size=156;perm=r;modify=20071029155301;unique=801cd2; music.mp3
type=dir;size=0;perm=el;modify=20071127230206;unique=801e33; ebooks
type=file;size=211;perm=r;modify=20071103093626;unique=801e32; module.py
"""
permdir = ''.join([x for x in perms if x not in 'arw'])
permfile = ''.join([x for x in perms if x not in 'celmp'])
if ('w' in perms) or ('a' in perms) or ('f' in perms):
permdir += 'c'
if 'd' in perms:
permdir += 'p'
type = size = perm = modify = create = unique = mode = uid = gid = ""
for node in listing:
# type + perm
if self.isdir(node):
if 'type' in facts:
type = 'type=dir;'
if 'perm' in facts:
perm = 'perm=%s;' %permdir
else:
if 'type' in facts:
type = 'type=file;'
if 'perm' in facts:
perm = 'perm=%s;' %permfile
if 'size' in facts:
size = 'size=%s;' % (node.content_length or 0L)
# last modification time
if 'modify' in facts:
try:
st_mtime = node.write_date or 0.0
if isinstance(st_mtime, basestring):
st_mtime = time.strptime(st_mtime, '%Y-%m-%d %H:%M:%S')
elif isinstance(st_mtime, float):
st_mtime = time.localtime(st_mtime)
modify = 'modify=%s;' %time.strftime("%Y%m%d%H%M%S", st_mtime)
except ValueError:
# stat.st_mtime could fail (-1) if last mtime is too old
modify = ""
if 'create' in facts:
# on Windows we can provide also the creation time
try:
st_ctime = node.create_date or 0.0
if isinstance(st_ctime, basestring):
st_ctime = time.strptime(st_ctime, '%Y-%m-%d %H:%M:%S')
elif isinstance(st_mtime, float):
st_ctime = time.localtime(st_ctime)
create = 'create=%s;' %time.strftime("%Y%m%d%H%M%S",st_ctime)
except ValueError:
create = ""
# UNIX only
if 'unix.mode' in facts:
mode = 'unix.mode=%s;' %oct(node.unixperms & 0777)
if 'unix.uid' in facts:
uid = 'unix.uid=%s;' % _to_decode(node.uuser)
if 'unix.gid' in facts:
gid = 'unix.gid=%s;' % _to_decode(node.ugroup)
# We provide unique fact (see RFC-3659, chapter 7.5.2) on
# posix platforms only; we get it by mixing st_dev and
# st_ino values which should be enough for granting an
# uniqueness for the file listed.
# The same approach is used by pure-ftpd.
# Implementors who want to provide unique fact on other
# platforms should use some platform-specific method (e.g.
# on Windows NTFS filesystems MTF records could be used).
# if 'unique' in facts: todo
# unique = "unique=%x%x;" %(st.st_dev, st.st_ino)
path = node.path
if isinstance (path, (list, tuple)):
path = path[-1]
path=_to_decode(path)
yield "%s%s%s%s%s%s%s%s%s %s\r\n" %(type, size, perm, modify, create,
mode, uid, gid, unique, path)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,70 +0,0 @@
# -*- encoding: utf-8 -*-
class authorizer:
read_perms = "elr"
write_perms = "adfmw"
def __init__(self):
self.password = ''
def validate_authentication(self, username, password):
"""Return True if the supplied username and password match the
stored credentials."""
self.password = password
return True
def impersonate_user(self, username, password):
"""Impersonate another user (noop).
It is always called before accessing the filesystem.
By default it does nothing. The subclass overriding this
method is expected to provide a mechanism to change the
current user.
"""
def terminate_impersonation(self):
"""Terminate impersonation (noop).
It is always called after having accessed the filesystem.
By default it does nothing. The subclass overriding this
method is expected to provide a mechanism to switch back
to the original user.
"""
def has_user(self, username):
"""Whether the username exists in the virtual users table."""
if username=='anonymous':
return False
return True
def has_perm(self, username, perm, path=None):
"""Whether the user has permission over path (an absolute
pathname of a file or a directory).
Expected perm argument is one of the following letters:
"elradfmw".
"""
paths = path.split('/')
if not len(paths)>2:
return True
db_name = paths[1]
res = security.login(db_name, username, self.password)
return bool(res)
def get_perms(self, username):
"""Return current user permissions."""
return 'elr'
def get_home_dir(self, username):
"""Return the user's home directory."""
return '/'
def get_msg_login(self, username):
"""Return the user's login message."""
return 'Welcome on OpenERP document management system.'
def get_msg_quit(self, username):
"""Return the user's quitting message."""
return 'Bye.'
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

File diff suppressed because it is too large Load Diff

View File

@ -1,158 +0,0 @@
# Arabic translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-12-01 18:32+0000\n"
"Last-Translator: gehad shaat <gehad.shaath@gmail.com>\n"
"Language-Team: Arabic <ar@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "قم بضبط الخادم FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "التهيئة التلقائية للمسار"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"يشير عنوان الشبكة التي لديك على الخادم OpenERP ينبغي أن تكون قابلة للوصول "
"للمستخدمين النهائيين. هذا يعتمد على هيكل الشبكة الخاصة بك والتكوين، وسوف "
"تؤثر فقط على الروابط المعروضة للمستخدمين. والشكل هو مضيف: منفذ والمضيف "
"الافتراضي (المضيف المحلي) وهي مناسبة فقط للوصول من جهاز الخادم نفسه .."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "استعراض الملفات"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "اضغط على الرابط لتصفح المستندات"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "خادم FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "ضبط خدمة FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "تصفح المستندات"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_تصفح"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"عنوان الخادم أو الملكية الفكرية والمنفذ الذي يجب على المستخدمين الاتصال به "
"للحصول DMS"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "مستودع مشترك (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "العنوان"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "إلغاء"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "تصفح وثيقة FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "الاعدادات لنظام أدارة الوثائق"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "متصفح الوثيقة"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "أو"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "تصفح الوثيقة"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "الصورة"
#~ msgid "Configuration Progress"
#~ msgstr "سير الإعدادات"
#~ msgid "title"
#~ msgstr "الاسم"
#~ msgid "_Cancel"
#~ msgstr "ال_غاء"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "ربط خدمة FTP مع نظام ادارة الوثائق"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "هذا هو واجهة دعم بروتوكول نقل الملفات مع نظام إدارة الوثائق.\n"
#~ "مع هذه الوحدة فإنك لن تكون قادرا على الوصول إلى المستندات من خلال OpenERP\n"
#~ "ولكن هل ستكون أيضا قادرا على الاتصال معهم من خلال نظام الملفات باستخدام\n"
#~ "بروتوكول نقل الملفات العملاء.\n"

View File

@ -1,146 +0,0 @@
# Bulgarian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-03-02 09:48+0000\n"
"Last-Translator: Dimitar Markov <dimitar.markov@gmail.com>\n"
"Language-Team: Bulgarian <bg@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Настройване на FTP сървър"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Автоматично настройване на категория"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Показва мрежовия адрес, на който вашият OpenErp сървър следва да бъде "
"достъпен за крайни потребители. Зависи от топологията на вашата мрежа и "
"настройки, и ще влияе само на връзките показвани на потребителите. Форматът "
"е HOST:PORT и по подразбиране (localhost) единствено е подходящ за достъп "
"от самия сървър."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Преглед на файловете"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP сървър"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Настройки на FTP сървър"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Разглеждане"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Адрес на сървъра или IP и порта, към който потребителите трябва да се свърже "
"за DMS за достъп"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Споделено храниилище (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Адрес"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Преглед на FTP документи"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Настройки на приложение ЗНАНИЯ"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Преглед на документ"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Преглед на Документ"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "Изображение"
#~ msgid "Configuration Progress"
#~ msgstr "Прогрес на настройките"
#~ msgid "title"
#~ msgstr "заглавие"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Интегриран FTP сървър със система за управление на съдържанието"
#~ msgid "_Cancel"
#~ msgstr "_Отказ"

View File

@ -1,160 +0,0 @@
# Catalan translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-03-15 16:46+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Catalan <ca@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configura servidor FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuració automàtica de directoris"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indiqueu l'adreça de xarxa en la que el vostre servidor d'OpenERP hauria "
"d'estar accessible per als usuaris finals. Això depèn de la vostra topologia "
"de xarxa i configuració, i només afectara als enllaços mostrats als usuaris. "
"El formato és SERVIDOR:PORT i el servidor per defecte (localhost) només és "
"adequat per a l'accés des de la pròpia màquina del servidor."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Navega pels fitxers"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuració del servidor FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Navega"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Adreça del servidor o IP i el port per accedir al sistema de gestió de "
"documents."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Directorio compartido de documentos (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adreça"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Navega pels documents per FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuració aplicació del coneixement"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Navega pels documents"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Navega pels documents"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_continguts"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Proporciona una interfície FTP per al sistema de gestió de documents.\n"
#~ " A més de l'accés als documents a través d'OpenERP, aquest mòdul\n"
#~ " permet accedir als mateixos a través del sistema de fitxers "
#~ "utilitzant un\n"
#~ " client FTP.\n"
#~ msgid "Image"
#~ msgstr "Imatge"
#~ msgid "Configuration Progress"
#~ msgstr "Progrés de la configuració"
#~ msgid "title"
#~ msgstr "títol"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Servidor FTP integrado al sistema de gestión de documentos"
#~ msgid "_Cancel"
#~ msgstr "_Cancel·la"

View File

@ -1,142 +0,0 @@
# Czech translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-04-06 06:13+0000\n"
"Last-Translator: Jiří Hajda <robie@centrum.cz>\n"
"Language-Team: Czech <cs@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Konfigurovat FTP server"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Automatická konfigurace adresářů"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Značí adresu sítě, na které by měl být pro koncové uživatel dostupný váš "
"OpenERP server. To závisí na vaší síťové topologii a nastavení a ovlivní to "
"pouze odkazy zobrazené uživatelům. Formát je POĆÍTAČ:PORT a výchozí počítač "
"(localhost) je vhodný pouze pro přístup ze samotného serveru."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Procházet soubory"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP server"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Konfigurace FTP serveru"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Procházet"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Adresa serveru nebo IP a port, ke kterému by se měli uživatelé připojit pro "
"přístup DMS"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Sdílené úložiště (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adresa"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Procházení FTP dokumentů"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Nastavení aplikace znalostí"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Procházení dokumentů"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Procházet dokument"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "Obrázek"
#~ msgid "title"
#~ msgstr "název"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "FTP server integrovaný s Document Management Systémem"
#~ msgid "_Cancel"
#~ msgstr "_Storno"

View File

@ -1,124 +0,0 @@
# Danish translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-01-27 08:46+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Danish <da@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr ""
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr ""
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr ""
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr ""
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr ""

View File

@ -1,160 +0,0 @@
# 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-12-18 06:50+0000\n"
"Last-Translator: Ferdinand <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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "FTP Server konfigurieren"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Auto Konfigurator Verzeichnisse"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Zeigt die Netzwerk IP Adresse über die der OpenERP Server für Endbenutzer "
"erreicht werden kann. Diese Adresse hängt ab von der Architektur des "
"Netzwerks und wird lediglich einen Einfluss auf die Anzeige der Adresse beim "
"Benutzer haben. Das Format der Adresse ist HOST:PORT, wobei der Standard "
"Host (localhost) lediglich gültig ist für einen direkten Zugriff vom Server "
"selbst."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "Wissensdatenbank.Konfiguration.Einstellungen"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Dateien durchsuchen"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "URL klicken, um die Dokumente anzuzeigen"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP-Server"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Konfiguration FTP-Server"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Dokumente anzeigen"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "Suchen"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Servername oder IP und Port über den Benutzer per FTP auf Dokumente zugreifen"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr ""
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adresse"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Abbrechen"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Suche per FTP-Dokument"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Knowledge-Anwendung konfigurieren"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Dokument suchen"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "oder"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Dokument suchen"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "_Cancel"
#~ msgstr "Abbrechen"
#~ msgid "Configuration Progress"
#~ msgstr "Abfolge Konfiguration"
#~ msgid "Image"
#~ msgstr "Bild"
#~ msgid "title"
#~ msgstr "Bezeichnung"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Diese Anwendung unterstützt einen Zugriff per FTP auf das "
#~ "Dokumentenmanagement.\n"
#~ "Hierdurch können Sie nicht nur durch OpenERP auf Dokumente zugreifen. \n"
#~ "Sie können auch über den FTP Client Ihres Betriebssystems oder durch FTP "
#~ "Anwendungen auf diese Dokumente zugreifen.\n"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Integration FTP Server in Dokumentenmanagement"

View File

@ -1,117 +0,0 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * document_ftp
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0alpha\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-12-21 17:05+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Indicate the network address on which your OpenERP server should be reachable for end-users. This depends on your network topology and configuration, and will only affect the links displayed to the users. The format is HOST:PORT and the default host (localhost) is only suitable for access from the server machine itself.."
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr ""
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr ""
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr ""
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid "Server address or IP and port to which users should connect to for DMS access"
msgstr ""
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr ""
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr ""

View File

@ -1,136 +0,0 @@
# Greek translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-01-12 17:13+0000\n"
"Last-Translator: Dimitris Andavoglou <dimitrisand@gmail.com>\n"
"Language-Team: Greek <el@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Περιήγηση στα Αρχεία"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Εξυπηρετητής FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Παραμετροποίηση Διακομιστή FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Περιήγηση"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr ""
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Διεύθυνση"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr ""
#~ msgid "Image"
#~ msgstr "Εικόνα"
#~ msgid "Configuration Progress"
#~ msgstr "Πρόοδος Παραμετροποίησης"
#~ msgid "title"
#~ msgstr "τίτλος"
#~ msgid "_Cancel"
#~ msgstr "_Άκυρο"

View File

@ -1,160 +0,0 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-08-25 17:39+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configure FTP Server"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Auto Directory Configuration"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Browse Files"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Click the url to browse the documents"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP Server"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP Server Configuration"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Browse Documents"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Browse"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Server address or IP and port to which users should connect to for DMS access"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Shared Repository (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Address"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Cancel"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Document FTP Browse"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Knowledge Application Configuration"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Document Browse"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "or"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Browse Document"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgid "Image"
#~ msgstr "Image"
#~ msgid "Configuration Progress"
#~ msgstr "Configuration Progress"
#~ msgid "title"
#~ msgstr "title"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Integrated FTP Server with Document Management System"
#~ msgid "_Cancel"
#~ msgstr "_Cancel"

View File

@ -1,160 +0,0 @@
# Spanish 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-12-11 22:05+0000\n"
"Last-Translator: lambdasoftware <development@lambdasoftware.net>\n"
"Language-Team: Spanish <es@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar servidor FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuración automática de directorios"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indique la dirección de red en la cual su servidor de OpenERP debería estar "
"accesible para los usuarios finales. Esto depende de su topología de red y "
"configuración, y sólo afectará a los enlaces mostrados a los usuarios. El "
"formato es SERVIDOR:PUERTO y el servidor por defecto (localhost) sólo es "
"adecuado para el acceso desde la propia máquina del servidor."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "Parámetros de configuración de la base de conocimiento"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Navegar por los archivos"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Pulse sobre el enlace para acceder a los documentos"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuración del servidor FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Navegue por los documentos"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Navegar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Dirección del servidor o IP y el puerto para acceder al sistema de gestión "
"de documentos."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Directorio compartido de documentos (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Dirección"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Cancelar"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Navegar por los documentos por FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuración aplicación del conocimiento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "o"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contenidos"
#~ msgid "_Cancel"
#~ msgstr "_Cancelar"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Servidor FTP integrado al sistema de gestión de documentos"
#~ msgid "title"
#~ msgstr "título"
#~ msgid "Image"
#~ msgstr "Imagen"
#~ msgid "Configuration Progress"
#~ msgstr "Progreso de la configuración"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Proporciona un interfaz FTP para el sistema de gestión de documentos.\n"
#~ " Además del acceso a los documentos a través de OpenERP, este módulo\n"
#~ " permite acceder a los mismos a través del sistema de archivos "
#~ "utilizando un\n"
#~ " cliente FTP.\n"

View File

@ -1,162 +0,0 @@
# Spanish 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: \n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-02-13 19:19+0000\n"
"Last-Translator: Carlos Vásquez (CLEARCORP) "
"<carlos.vasquez@clearcorp.co.cr>\n"
"Language-Team: Spanish <es@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"Language: es\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar servidor FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuración automática de directorios"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indique la dirección de red en la cual su servidor de OpenERP debería estar "
"accesible para los usuarios finales. Esto depende de su topología de red y "
"configuración, y sólo afectará a los enlaces mostrados a los usuarios. El "
"formato es SERVIDOR:PUERTO y el servidor por defecto (localhost) sólo es "
"adecuado para el acceso desde la propia máquina del servidor."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Navegar por los archivos"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuración del servidor FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Navegar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Dirección del servidor o IP y el puerto para acceder al sistema de gestión "
"de documentos."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Directorio compartido de documentos (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Dirección"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Navegar por los documentos por FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuración aplicación del conocimiento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contenidos"
#~ msgid "Image"
#~ msgstr "Imagen"
#~ msgid "_Cancel"
#~ msgstr "_Cancelar"
#~ msgid "title"
#~ msgstr "título"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Servidor FTP integrado al sistema de gestión de documentos"
#~ msgid "Configuration Progress"
#~ msgstr "Progreso de la configuración"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Proporciona un interfaz FTP para el sistema de gestión de documentos.\n"
#~ " Además del acceso a los documentos a través de OpenERP, este módulo\n"
#~ " permite acceder a los mismos a través del sistema de archivos "
#~ "utilizando un\n"
#~ " cliente FTP.\n"

View File

@ -1,158 +0,0 @@
# Spanish (Ecuador) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-01-13 04:17+0000\n"
"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@gmail.com>\n"
"Language-Team: Spanish (Ecuador) <es_EC@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar servidor FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuración automática de directorios"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indique la dirección de red en la cual su servidor de OpenERP debería estar "
"disponible para los usuarios finales. Esto depende de su topología de red y "
"configuración, y sólo afectará a los enlaces mostrados a los usuarios. El "
"formato es ANFITRIÓN:PUERTO y el anfitrión por defecto (localhost) sólo es "
"adecuado para acceso desde la propia máquina del servidor."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Examinar archivos"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuración de Servidor FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Examinar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr "Dirección del servidor o IP y el puerto para acceder al DMS."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Biblioteca compartida de módulos (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Dirección"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Examinar documento por FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuración aplicación del conocimiento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Examinar documento"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Examinar documento"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "Configurar Contenidos"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Un Interfaz FTP para el sistema de gestión de documentos.\n"
#~ " Además del acceso a documentos a través de OpenERP\n"
#~ " éste módulo permite acceder a los mismos a través del sistema de "
#~ "archivos utilizando el\n"
#~ " Cliente FTP.\n"
#~ msgid "Image"
#~ msgstr "Imagen"
#~ msgid "Configuration Progress"
#~ msgstr "Progreso de Configuración"
#~ msgid "title"
#~ msgstr "Título"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Servidor FTP integrado al sistema de gestión de documentos"
#~ msgid "_Cancel"
#~ msgstr "_Cancelar"

View File

@ -1,148 +0,0 @@
# Spanish 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: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-01-13 22:59+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"<jesteve@zikzakmedia.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-05 05:55+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuración automática de directorios"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indique la dirección de red en la cual su servidor de OpenERP debería estar "
"accesible para los usuarios finales. Esto depende de su topología de red y "
"configuración, y sólo afectará a los enlaces mostrados a los usuarios. El "
"formato es SERVIDOR:PUERTO y el servidor por defecto (localhost) sólo es "
"adecuado para el acceso desde la propia máquina del servidor."
#. module: document_ftp
#: field:document.ftp.configuration,progress:0
msgid "Configuration Progress"
msgstr "Progreso de la configuración"
#. module: document_ftp
#: model:ir.actions.url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Navegar por los archivos"
#. module: document_ftp
#: field:document.ftp.configuration,config_logo:0
msgid "Image"
msgstr "Imagen"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Dirección"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuración del servidor FTP"
#. module: document_ftp
#: model:ir.module.module,description:document_ftp.module_meta_information
msgid ""
"This is a support FTP Interface with document management system.\n"
" With this module you would not only be able to access documents through "
"OpenERP\n"
" but you would also be able to connect with them through the file system "
"using the\n"
" FTP client.\n"
msgstr ""
"Proporciona un interfaz FTP para el sistema de gestión de documentos.\n"
" Además del acceso a los documentos a través de OpenERP, este módulo\n"
" permite acceder a los mismos a través del sistema de archivos "
"utilizando un\n"
" cliente FTP.\n"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Navegar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Dirección del servidor o IP y el puerto para acceder al sistema de gestión "
"de documentos."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Directorio compartido de documentos (FTP)"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Cancel"
msgstr "_Cancelar"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar servidor FTP"
#. module: document_ftp
#: model:ir.module.module,shortdesc:document_ftp.module_meta_information
msgid "Integrated FTP Server with Document Management System"
msgstr "Servidor FTP integrado al sistema de gestión de documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "title"
msgstr "título"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Navegar por los documentos por FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuración aplicación del conocimiento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contenidos"

View File

@ -1,155 +0,0 @@
# Spanish (Paraguay) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-03-21 14:41+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish (Paraguay) <es_PY@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar servidor FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuración automática de carpetas"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Navegar por los archivos"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuración del servidor FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Navegar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Dirección del servidor o IP y el puerto para acceder al sistema de gestión "
"de documentos."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Directorio compartido de documentos (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Dirección"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Navegar por los documentos por FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuración de la aplicación de conocimiento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contenidos"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Proporciona un interfaz FTP para el sistema de gestión de documentos.\n"
#~ " Además del acceso a los documentos a través de OpenERP, este módulo\n"
#~ " permite acceder a los mismos a través del sistema de archivos "
#~ "utilizando un\n"
#~ " cliente FTP.\n"
#~ msgid "Image"
#~ msgstr "Imagen"
#~ msgid "Configuration Progress"
#~ msgstr "Progreso de la configuración"
#~ msgid "title"
#~ msgstr "título"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Servidor FTP integrado al sistema de gestión de documentos"
#~ msgid "_Cancel"
#~ msgstr "_Cancelar"

View File

@ -1,148 +0,0 @@
# Spanish 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: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-01-13 22:59+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"<jesteve@zikzakmedia.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-05 05:55+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuración automática de directorios"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indique la dirección de red en la cual su servidor de OpenERP debería estar "
"accesible para los usuarios finales. Esto depende de su topología de red y "
"configuración, y sólo afectará a los enlaces mostrados a los usuarios. El "
"formato es SERVIDOR:PUERTO y el servidor por defecto (localhost) sólo es "
"adecuado para el acceso desde la propia máquina del servidor."
#. module: document_ftp
#: field:document.ftp.configuration,progress:0
msgid "Configuration Progress"
msgstr "Progreso de la configuración"
#. module: document_ftp
#: model:ir.actions.url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Navegar por los archivos"
#. module: document_ftp
#: field:document.ftp.configuration,config_logo:0
msgid "Image"
msgstr "Imagen"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Dirección"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuración del servidor FTP"
#. module: document_ftp
#: model:ir.module.module,description:document_ftp.module_meta_information
msgid ""
"This is a support FTP Interface with document management system.\n"
" With this module you would not only be able to access documents through "
"OpenERP\n"
" but you would also be able to connect with them through the file system "
"using the\n"
" FTP client.\n"
msgstr ""
"Proporciona un interfaz FTP para el sistema de gestión de documentos.\n"
" Además del acceso a los documentos a través de OpenERP, este módulo\n"
" permite acceder a los mismos a través del sistema de archivos "
"utilizando un\n"
" cliente FTP.\n"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Navegar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Dirección del servidor o IP y el puerto para acceder al sistema de gestión "
"de documentos."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Directorio compartido de documentos (FTP)"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Cancel"
msgstr "_Cancelar"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar servidor FTP"
#. module: document_ftp
#: model:ir.module.module,shortdesc:document_ftp.module_meta_information
msgid "Integrated FTP Server with Document Management System"
msgstr "Servidor FTP integrado al sistema de gestión de documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "title"
msgstr "título"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Navegar por los documentos por FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuración aplicación del conocimiento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Navegar por los documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contenidos"

View File

@ -1,133 +0,0 @@
# Estonian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-10-11 18:05+0000\n"
"Last-Translator: Aare Vesi <Unknown>\n"
"Language-Team: Estonian <et@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Failide sirvimine"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP server"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP serveri konfiguratsioon"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Sirvi"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr ""
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Aadress"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr ""
#~ msgid "Image"
#~ msgstr "Pilt"
#~ msgid "title"
#~ msgstr "pealkiri"
#~ msgid "_Cancel"
#~ msgstr "_Tühista"

View File

@ -1,142 +0,0 @@
# Finnish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-06-27 06:20+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Konfiguroi FTP palvelin"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Automaattinen hakemistojen konfigurointi"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Selaa tiedostoja"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP-palvelin"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP palvelimen konfiguraatio"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "Selaa"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Palvelimen osoite tai IP ja portti mihin käyttäjien tulisi ottaa yhteyttä "
"DMS:n käyttöä varten"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Jaettu tietolähde (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Osoite"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Dokumenttien FTP selailu"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Tiedonhallintaohjelmiston konfiguraatio"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Dokumenttien selailu"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Selaa dokumenttia"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr ""
#~ msgid "Image"
#~ msgstr "Kuva"
#~ msgid "Configuration Progress"
#~ msgstr "Konfiguraation eteneminen"
#~ msgid "title"
#~ msgstr "otsikko"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr ""
#~ "Integroitu FTP palvelin dokumenttienhallintajärjestelmällä varustettuna"
#~ msgid "_Cancel"
#~ msgstr "_Peruuta"

View File

@ -1,163 +0,0 @@
# French 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2010-12-29 10:19+0000\n"
"Last-Translator: Olivier Lenoir <olivier.lenoir@free.fr>\n"
"Language-Team: French <fr@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurer le serveur FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuration automatique des répertoires"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indiquez l'adresse réseau sur laquelle votre serveur OpenERP doit être "
"accessible pour les utilisateurs finaux. Ceci dépend de la topologie de "
"votre réseau et de votre configuration, et il affectera seulement les liens "
"affiché aux utilisateurs. Le format est HÔTE:PORT et l'hôte par défaut "
"(localhost) est seulement approprié pour des accès depuis la machine du "
"serveur."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Parcourir les fichiers"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Cliquer sur l'url pour parcourir les documents"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Serveur FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuration du serveur FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Parcourir les documents"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Parcourir"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Adresse du serveur ou adresse IP et port auquel les utilisateurs devraient "
"se connecter pour l'accès au GED."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Répertoire partagé (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adresse"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Annuler"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Parcourir les documents FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuration de l'application de gestion des connaissances"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Parcourez le document"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "ou"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Parcourir le document"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "title"
#~ msgstr "Titre :"
#~ msgid "Image"
#~ msgstr "Image"
#~ msgid "Configuration Progress"
#~ msgstr "Avancement de la configuration"
#~ msgid "_Cancel"
#~ msgstr "_Annuler"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Ce module est une interface compatible FTP ainsi qu'un système de gestion "
#~ "documentaire.\n"
#~ " Avec ce module, vous pourrez non seulement accéder à des documents "
#~ "partout dans OpenERP\n"
#~ " mais aussi vous connecter à ces documents à travers le système de "
#~ "fichier en utilisant le \n"
#~ " client FTP.\n"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Serveur FTP intégré au système de gestion documentaire"

View File

@ -1,160 +0,0 @@
# Galician translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-02-24 01:08+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician <gl@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar servidor FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuración automática de directorios"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indique a dirección de rede na que o seu servidor de OpenERP debería estar "
"dispoñible para os usuarios finais. Isto depende da topoloxía de rede e da "
"configuración, e só afectará aos enlaces mostrados aos usuarios. O formato é "
"ANFITRIÓN:PORTO e o anfitrión por defecto (localhost) só é adecuado para "
"acceso desde a propia máquina do servidor."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Procurar arquivos"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuración de servidor FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Explorar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Dirección do servidor ou IP e porto para que os usuarios podan conectar ao "
"acceso DMS."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Repositorio compartido (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Enderezo"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Examinar documento por FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuración da aplicación do coñecemento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Examinar documento"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Examinar documento"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Esta é unha Interfaz FTP para o sistema de xestión de documentos.\n"
#~ " Con este módulo non podrías acceder aos documentos a través de "
#~ "OpenERP\n"
#~ " sen embargo pódese conectar con el a través do sistema de arquivos "
#~ "usando o cliente FTP\n"
#~ msgid "Image"
#~ msgstr "Imaxe"
#~ msgid "Configuration Progress"
#~ msgstr "Progreso da Configuración"
#~ msgid "title"
#~ msgstr "título"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Servidor FTP integrado con sistema de xestión de documentos"
#~ msgid "_Cancel"
#~ msgstr "_Cancelar"

View File

@ -1,140 +0,0 @@
# Croatian translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-01-28 20:42+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Postavke FTP poslužitelja"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Automatska postava mapa"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Predstavlja adresu na mreži, na kojoj bi OpenERP trebao biti dostupan "
"krajnjim korisnicima. Ona ovisi o Vašoj topologiji mreže kao i postavkama, i "
"utječe jedino na linkove prikazane krajnjim korisnicima. Format zapisa je "
"HOST:PORT a zadani host (localhost) korisi se jedino za pristup sa samog "
"poslužitelja."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Pretraži datoteke"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Kliknite na poveznicu za pregled dokumenata"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP poslužitelj"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Postave FTP poslužitelja"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Pregled dokumenata"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Pregledaj"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"IP adresa i port na koji se korisnici spajaju na DMS (sustav upravljana "
"dokumentima)"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Dijeljeni repozitorij (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "IP adresa"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Odustani"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Pregled dokumenata na FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Pregled dokumenta"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "ili"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Pregled dokumenta"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr ""
#~ msgid "Image"
#~ msgstr "Slika"
#~ msgid "title"
#~ msgstr "naslov"
#~ msgid "_Cancel"
#~ msgstr "_Odustani"

View File

@ -1,136 +0,0 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * document_ftp
#
msgid ""
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-03 12:46+0000\n"
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "FTP szerver beállítása"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Automatikus könyvtárbeállítás"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Hálózati címek megjelenítése melyen az OpenERP szervere elérhető a vég-"
"felhasználók részére. Ez a hálózati beállítások topológiájától függ, és csak "
"a felhasználóknak megjelenített elérési utakkat befolyásolja. A HOST:PORT "
"forma és az alapértelmezett host (localhost) csak akkor megfelelő, ha a "
"szerver maga az alapgép."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Fájlok böngészése"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Kattintson az URL elérési útra a dokumentum böngészéséhez"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP szerver"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP szerver konfiguráció"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Dokumantumok böngészése"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Böngészés"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Szerver cím vagy IP és port amelyen a felhasználónak kapcsolódnia kell a DMS "
"eléréshez"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Megosztott (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Cím"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Mégsem"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Documentum FTP böngészése"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Tudáskezelő programok beállítása"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Dokumentum böngészése"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "vagy"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Dokumentum böngészése"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "Kép"
#~ msgid "Configuration Progress"
#~ msgstr "Beállítás előrehaladása"

View File

@ -1,161 +0,0 @@
# Italian 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-12-15 23:09+0000\n"
"Last-Translator: Sergio Corato <Unknown>\n"
"Language-Team: Italian <it@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configura FTP server"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configurazione automatica Directory"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indica l'indirizzo di rete su cui i vostri server OpenERP possono essere "
"disponibili all'utente finale. Questo dipende dalla topologia di rete e "
"dalla configurazione, e interessa solamente i link visualizzati dagli "
"utenti. Il formato è HOST:PORTA e il default host (localhost) è adatto "
"solamente per l'accesso dal server su se stesso.."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Sfoglia files"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Cliccare l'url per sfogliare i documenti"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Server FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configurazione server FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Sfoglia Documenti"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Sfoglia"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Indirizzo Server o IP e porta a cui gli utenti dovrebbero connettersi per "
"l'accesso al DMS"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Deposito condiviso (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Indirizzo"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Annulla"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Browse FTP documenti"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configurazione applicazione know how"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Sfoglia documento"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "o"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Sfoglia documento"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "title"
#~ msgstr "titolo"
#~ msgid "Image"
#~ msgstr "Immagine"
#~ msgid "_Cancel"
#~ msgstr "_Annulla"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Questo è un supporto all'interfaccia FTP con il Sistema di Gestione "
#~ "Documentale.\n"
#~ " Con questo modulo non solo è possibile accedere ai documenti da OpenERP\n"
#~ " ma è altresì possibile connettersi ad esso tramite l'accesso ai files "
#~ "direttamente\n"
#~ " via client FTP.\n"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "FTP server integrato con il Sistema di Gestione Documentale"
#~ msgid "Configuration Progress"
#~ msgstr "Avanzamento Configurazione"

View File

@ -1,136 +0,0 @@
# Japanese translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-04-21 16:39+0000\n"
"Last-Translator: Masaki Yamaya <Unknown>\n"
"Language-Team: Japanese <ja@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "FTPサーバを設定する"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "自動ディレクトの設定"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"ユーザがアクセスするOpenERPサーバのネットワークアドレスを指定して下さい。それはネットワークトポロジとその設定によって決まり、ユーザに表示されるリン"
"クになります。\r\n"
"指定の形式は HOST:PORT であり、デフォルトのホスト(ローカルホスト)がサーバからのアクセスに最も適しています。"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "ファイルをブラウズする"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTPサーバ"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTPサーバの設定"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_ブラウズ(_B)"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr "サーバアドレスあるいはDMSアクセスのために接続するIPとポート"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "共有リプジトリFTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "住所"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "FTP文書をブラウズする"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "知識アプリケーションの設定"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "文書をブラウズする"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "文書をブラウズする"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "画像"
#~ msgid "title"
#~ msgstr "タイトル"
#~ msgid "_Cancel"
#~ msgstr "キャンセル(_C)"

View File

@ -1,130 +0,0 @@
# Macedonian 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-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-03-07 07:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Конфигурирај FTP сервер"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Автоматска конфигурација на директориум"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Ја покажува адресата на која OpenERP ќе биде достапен за крајните корисници. "
"Ова зависи од мрежната топологија и конфигурација и има влијание само врз "
"линковите прикажани на корисниците. Форматот е HOST:PORT и стандардниот хост "
"(localhost) е за пристап само преку самиот сервер.."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Прелистување фајлови"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Кликни на url-то за прелистување на документите"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP сервер"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Конфигурација на FTP серверот"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Прелистување документи"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Прегледај"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Адреса на серверот или IP и порт на кои корисниците се поврзуваат за пристап "
"до DMS"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Заеднички магацин (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Адреса"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Откажи"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Прелистување на документи преку FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Конфигурација за апликација Знаење"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Прелистување на документи"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "или"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Прелистај документ"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"

View File

@ -1,138 +0,0 @@
# Mongolian translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-08-22 03:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Mongolian <mn@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "FTP Сервэр тохируулах"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Автомат Директорын Тохиргоо"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Эцсийн хэрэглэгчидийн OpenERP-руу хандаж чадах сүлжээний хаягийг илэрхийлнэ. "
"Энэ танай сүлжээний бүтэц, тохиргооноос хамаарах бөгөөд зөвхөн хэрэглэгчдэд "
"харагдах холбоост л нөлөөтэй. Формат нь HOST:PORT гэсэн загвартай бөгөөд "
"анхын host нь (localhost) гэж байдаг нь зөвхөн сервер машин дээрээс хандахад "
"л тохирно."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Файлуудыг тольдох"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP Сервер"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP Серверийн тохиргоо"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Тольдох"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr "DMS хандалтаар хандах серверийн хаяг эсвэл IP болон порт."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Агуулахыг хуваалцах (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Хаяг"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "FTP-ээр баримт оруулах"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Мэдлэгийн Програмын Тохиргоо"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Баримт оруулах"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Оруулах баримт"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "title"
#~ msgstr "гарчиг"
#~ msgid "Image"
#~ msgstr "Зураг"
#~ msgid "_Cancel"
#~ msgstr "_Цуцлах"

View File

@ -1,140 +0,0 @@
# Norwegian Bokmal translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-09-06 14:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Bokmal <nb@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Konfigurer FTP serveren"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Automatisk Katalog Konfigurasjon."
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indikere nettverksadressen som din OpenERP server bør være tilgjengelige for "
"sluttbrukerne. Dette avhenger av nettverkstopologi og konfigurasjon, og vil "
"bare påvirke lenker som vises til brukerne. Formatet er HOST: PORT og "
"standard verten (lokalhost) er bare egnet for tilgang fra serveren maskinen "
"selv .."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Bla i filer"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP-tjener"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP Serverkonfigurasjon"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Bla gjennom"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Server adresse eller IP og port til hvilke brukere som skal koble seg til "
"for DMS tilgang"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Wikimedia Commons (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adresse"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Document FTP Bla i."
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Kunnskap Programkonfigurasjon"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Dokument Bla i."
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Bla igjennom dokument"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_konfig_innhold"
#~ msgid "Image"
#~ msgstr "Bilde"
#~ msgid "title"
#~ msgstr "tittel"
#~ msgid "_Cancel"
#~ msgstr "_Avbryt"

View File

@ -1,160 +0,0 @@
# Dutch 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-11-24 21:49+0000\n"
"Last-Translator: Erwin van der Ploeg (BAS Solutions) <Unknown>\n"
"Language-Team: Dutch <nl@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "FTP Server configureren"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Auto map configuratie"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Geeft het netwerkadres aan waarop uw OpenERP server te vinden zou moeten "
"zijn voor eindgebruikers. Dit hangt af van netwerk topologie en configuratie "
"en zal alleen de link beïnvloeden die wordt getoond aan de gebruikers. Het "
"formaat HOST:PORT en standaard host (localhost) zijn allen geschikt voor "
"toegang vanaf de server machine zelf."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Bestanden bladeren"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Klik op de url om door de documenten te bladeren"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP server"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP server configuratie"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Blader door documenten"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Bladeren"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Server adres of IP en poort waarmee gebruikers moeten verbinden voor DMS "
"toegang"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Gedeelde repository (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adres"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Annuleren"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Document FTP bladeren"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Kennis applicatie configuratie"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Document bladeren"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "of"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Document bladeren"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "title"
#~ msgstr "titel"
#~ msgid "Image"
#~ msgstr "Afbeelding"
#~ msgid "Configuration Progress"
#~ msgstr "Configuratie voortgang"
#~ msgid "_Cancel"
#~ msgstr "_Annuleren"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Dit is een support FTP interface met documentbeheer systeem.\n"
#~ " Met deze module kunt u niet alleen documenten vanuit OpenERP benaderen,\n"
#~ " maar u kunt ze ook via bestandsbeheer benaderen met gebruikmaking van "
#~ "een\n"
#~ " FTP client.\n"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Geïntegreerde FTP server met documentbeheer systeem"

View File

@ -1,142 +0,0 @@
# Polish 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-01-07 20:16+0000\n"
"Last-Translator: Andrzej Król <andrzej.krol@poczta.onet.eu>\n"
"Language-Team: Polish <pl@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Konfiguruj Serwer FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Autokonfiguracja katalogu"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Wskazuje adres sieciowy na którym twój serwer OpenERP powinien być dostępny "
"dla użytkowników końcowych. To zależy od topologii sieci i ustawień i ma "
"efekt tylko w odniesieniu do linków wyświetlanych użytkownikom. Format to "
"HOST:PORT i domyślny (localhost) jest do użytku tylko z poziomu serwera."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Przeglądaj pliki"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Kliknij adres url żeby przeglądać dokumenty"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Serwer FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Konfiguracja serwera FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Przeglądaj Dokumenty"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Przeglądaj"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Adres serwera lub IP i port do którego użytkownik powinien się podłączyć dla "
"dostępu do DMS (System Zarządzania Dokumentami)."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Współdzielone repozytorium (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adresy"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Anuluj"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "FTP Przeglądaj dokument"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Konfiguracja aplikacji wiedzy"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Przeglądanie dokumentów"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "lub"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Przeglądaj dokumenty"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "title"
#~ msgstr "tytuł"
#~ msgid "Configuration Progress"
#~ msgstr "Postęp konfiguracji"
#~ msgid "Image"
#~ msgstr "Obraz"
#~ msgid "_Cancel"
#~ msgstr "_Anuluj"

View File

@ -1,159 +0,0 @@
# Portuguese 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-12-11 17:33+0000\n"
"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n"
"Language-Team: Portuguese <pt@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar servidor de FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuração automática de diretórios"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indicar o endereço de rede em que o servidor OpenERP deve ser acedido por "
"utilizadores finais. Isso depende da topologia da rede e configuração, e só "
"vai afectar os links exibidos aos utilizadores. O formato é HOST:PORT e o "
"host padrão (localhost) só é adequado para o acesso da máquina do servidor "
"em si.."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Procurar Ficheiros"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Carregue no URL para percorrer os documentos"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuração do servidor FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Percorrer os documentos"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Procurar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Endereço do servidor ou IP e a porta à qual os utilizadores devem se conetar "
"para acesso DMS"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Repositório Partilhado (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Endereço"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Cancelar"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Procurar Documento FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuração da Aplicação do conhecimento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Pesquisar Documento"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "ou"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Procurar Documento"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "Imagem"
#~ msgid "Configuration Progress"
#~ msgstr "Processo de configuração"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Servidor FTP integrado com sistema de gestão documental"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Isto é um interface entre o FTP e a gestão documental\n"
#~ " Com este módulo, não só será possível aceder a dcoumentos através do "
#~ "openERP\n"
#~ " como também será possível ligar-se aos mesmos através de um cliente FTP\n"
#~ msgid "_Cancel"
#~ msgstr "_Cancelar"
#~ msgid "title"
#~ msgstr "Título"

View File

@ -1,160 +0,0 @@
# Brazilian Portuguese 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.
# Renato Lima <renatonlima@gmail.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-12-10 15:06+0000\n"
"Last-Translator: Projetaty Soluções OpenSource <Unknown>\n"
"Language-Team: Brazilian Portuguese <pt_BR@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar Servidor de FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuração Automática de Diretório"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indique o endereço em que seu servidor OpenERP deve ser acessível para os "
"usuários finais. Isso depende da sua topologia de rede e configuração. O "
"formato é HOST:PORT e o host padrão (localhost) é adequado apenas para "
"acesso a partir da máquina própria maquina.."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Navegar pelos Arquivos"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Clique na url para navegar pelos documentos"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuração do Servidor FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Navegar pelos Documentos"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "(_B) Navegar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"O endereço do servidor ou IP e porta que o usuário deve conectar para acesso "
"DMS."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Repositório Compartilhado (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Endereço"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Cancelar"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Navegador FTP de Documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuração da Aplicação de Conhecimento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Navegador de Documentos"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "ou"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Navegar por Documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Esta é uma interface de suporte a FTP com Sistema de Gestão de Documentos.\n"
#~ " Com este módulo você não só seria capaz de acessar documentos através do "
#~ "OpenERP\n"
#~ " mas você também poderia acessar os documentos através do sistema de "
#~ "arquivos usando o\n"
#~ " cliente FTP.\n"
#~ msgid "Image"
#~ msgstr "Imagem"
#~ msgid "Configuration Progress"
#~ msgstr "Configuração em Progresso"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Servidor FTP Integrado com Sistema de Gestão de Documentos"
#~ msgid "_Cancel"
#~ msgstr "_Cancelar"
#~ msgid "title"
#~ msgstr "título"

View File

@ -1,161 +0,0 @@
# Romanian translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-01-04 13:13+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Romanian <ro@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configureaza Serverul FTP"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configurare Director Automata"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indica adresa retelei la care serverul OpenERP ar trebui sa fie accesibil "
"utilizatorilor finali. Aceasta depinde de topologia si configurarea retelei "
"dumneavoastra, si va afecta doar link-urile afisate utilizatorilor. Formatul "
"este HOST:PORT, iar gazda predenifinta (localhost) (gazda locala) este "
"potrivita doar pentru accesul de la server.."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "cunostinte.config.setari"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Rasfoieste fisiere"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Faceti click pe url pentru a cauta documentele"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Server FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configurare Server FTP"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Cautare Documente"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Rasfoieste"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Adresa serverului sau IP-ul si portul la care utilizatorii ar trebui sa se "
"conecteze pentru acces DMS"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Depozit comun (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adresa"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Anuleaza"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Rasfoieste Documentul FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configurare Aplicare Cunostinte"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Rasfoire document"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "sau"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Rasfoieste Documentul"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_continuturi"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Aceasta este o Interfata FTP suport cu sistemul managementului "
#~ "documentelor.\n"
#~ " Cu acest modul veti putea nu doar sa accesati documente prin OpenERP, "
#~ "ci\n"
#~ " va veti putea si conecta la ele prin sistemul de fisiere folosind\n"
#~ " clientul FTP.\n"
#~ msgid "Image"
#~ msgstr "Imagine"
#~ msgid "Configuration Progress"
#~ msgstr "Progres configurare"
#~ msgid "title"
#~ msgstr "titlu"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Server FTP integrat cu Sistemul Managementului Documentelor"
#~ msgid "_Cancel"
#~ msgstr "_Anuleaza"

View File

@ -1,160 +0,0 @@
# Russian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-12-28 12:44+0000\n"
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
"Language-Team: Russian <ru@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Настройка FTP сервера"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Автоматическая настройка каталога"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Указывает сетевой адрес, на котором сервер OpenERP должен быть доступен для "
"конечных пользователей. Это зависит от конфигурации и топологии сети и "
"влияет только на отображение ссылок. Формат АДРЕС:ПОРТ и адрес по умолчанию "
"(localhost) подходит только для доступа с самого сервера."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Просмотр файлов"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Щелкните URL-адрес для просмотра документов"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP Сервер"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Настройка FTP сервера"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Просмотр документов"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Обзор"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Адрес сервера или IP и порт для соединения пользователя и доступа к "
"документам"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Общее хранилище (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Адрес"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Отмена"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Просмотр документа через FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Настройка приложения Знания"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Просмотр документа"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "или"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Просмотр документа"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "Изображение"
#~ msgid "Configuration Progress"
#~ msgstr "Выполнение настройки"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Сервер FTP интегрированный с системой управления документами"
#~ msgid "title"
#~ msgstr "title"
#~ msgid "_Cancel"
#~ msgstr "_Отмена"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Это поддержка интерфейса FTP к системе управления документами.\n"
#~ " С помощью этого модуля вы не только получите доступ к документам через "
#~ "OpenERP,\n"
#~ " но вы также сможете соединяться с ней через файловую систему, используя "
#~ "\n"
#~ " FTP-клиент.\n"

View File

@ -1,127 +0,0 @@
# Slovak translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-06-09 09:40+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovak <sk@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Prehľadávať súbory"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP Server"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Nastavenia FTP Servera"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr ""
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr ""
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adresa"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr ""
#~ msgid "Image"
#~ msgstr "Obrázok"

View File

@ -1,139 +0,0 @@
# Slovenian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-10-19 07:34+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian <sl@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Konfiguriraj FTP strežnik"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Avto konfiguracija map"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Določa omrežni naslov, na katerem bo dosegljiv vaš OpenERP server za končne "
"uporabnike. To je odvisno od topologije in nastavitev vašega omrežja. Vpliva "
"samo na povezavo, ki se izpiše uporabniku. Format je HOST:PORT in privzeti "
"strežnik (localhost) je primeren samo za dostop iz serverja samega."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Brskanje Datoteke"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Potrdite url za brskanje po dokumentih"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Strežnik FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Konfiguracija FTP strežnika"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "brskanje po dokumentih"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Prebrskaj"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Naslov strežnika ali IP in vrata, na katerega se bodo uporabniki povezali za "
"DMS dostop"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Deljeni repozitorij (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Naslov"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "Preklic"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "FTP brskanje po dokumentih"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Nastavitev aplikacije znanja"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Brskanje po dokumentih"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "ali"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Brskanje po dokumentu"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "Slika"
#~ msgid "title"
#~ msgstr "naslov"
#~ msgid "_Cancel"
#~ msgstr "_Prekliči"

View File

@ -1,156 +0,0 @@
# Serbian 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2010-11-14 08:02+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Auto Podesavanje dIrektorijuma"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Pretrazi fajlove"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP Server"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "KOnfiguracija FTP Servera"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Browse"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Adresa Servera ili IP i Port na koji bi korisnik trebalo da se konektuje za "
"DMS pristup"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Deljeno skladiste (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "FTP pretrazi Dokumente"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Pretrazi Dokumente"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Pretrazi Dokument"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "title"
#~ msgstr "Naslov"
#~ msgid "Configuration Progress"
#~ msgstr "Konfiguracioni Proces"
#~ msgid "Image"
#~ msgstr "Slika"
#~ msgid "_Cancel"
#~ msgstr "_Cancel"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Ovo podrzava FTP Interfejs sa dokument menadzment sistemom.\n"
#~ " Sa ovim modulom necete biti u mogucnosti da samo pristupite dokumentima "
#~ "kroz OpenERP\n"
#~ " nego ce te takodje moci da se konektujete uz pomoc modula kroz fajl "
#~ "sistem koristeci\n"
#~ " FTP klijenta.\n"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Integrisani FTP Server sa Dokument Menadzment Sistemom"

View File

@ -1,161 +0,0 @@
# Serbian latin 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-04-05 15:29+0000\n"
"Last-Translator: Milan Milosevic <Unknown>\n"
"Language-Team: Serbian latin <sr@latin@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Podesi FTP server"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Auto-podešavanje direktorijuma"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Odredite adresu mreže na koju bi Vaši OpenERP server trebalo da bude "
"dostupan za konačne korisnike. Ovo zavisi od Vaše mrežne toplogije i "
"podešavanja, i neće imati uticaja na linkove prikazane korisnicima. Format "
"je HOST:PORT i domaćin po defaultu (localhost) je jedino prikladan za "
"pristup na server sa same mašine."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Pretraži datoteke"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP Server"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Podešavanje FTP servera"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Pretraži"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Adresa Servera ili IP i Port na koji bi korisnik trebalo da se konektuje za "
"DMS pristup"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Deljeno skladište"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adresa"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Pretraži FTP dokumente"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Podešavanje aplikacije znanja"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Pretrazi Dokumente"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Pretraži dokumenta"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Configuration Progress"
#~ msgstr "Konfiguracioni Proces"
#~ msgid "Image"
#~ msgstr "Slika"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Ovo podrzava FTP Interfejs sa dokument menadzment sistemom.\n"
#~ " Sa ovim modulom necete biti u mogucnosti da samo pristupite dokumentima "
#~ "kroz OpenERP\n"
#~ " nego ce te takodje moci da se konektujete uz pomoc modula kroz fajl "
#~ "sistem koristeci\n"
#~ " FTP klijenta.\n"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Integrisani FTP Server sa Dokument Menadzment Sistemom"
#~ msgid "title"
#~ msgstr "naslov"
#~ msgid "_Cancel"
#~ msgstr "_Otkaži"

View File

@ -1,143 +0,0 @@
# Swedish 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2010-12-15 11:23+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Swedish <sv@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Konfigurera FTP-servern"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Automatisk katalogkonfiguration"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Ange nätverksadressen som din OpenERP servern ska vara nåbar på för "
"slutanvändare. Det beror på ditt nätverk topologi och konfiguration, och "
"kommer endast att påverka hur länkarna visas för användarna. Formatet är "
"värd: PORT och förvald värd (localhost) är endast lämplig för åtkomst från "
"servern själva maskinen .."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Bläddra bland filer"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP-server"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP-serverkonfiguration"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Bläddra"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Serveradress eller IP och den port som användarna ska ansluta till för DMS-"
"tillgång"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Delat arkiv (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adress"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Bläddra bland dokumenten via FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Konfiguration av kunskapshanteringsapplikationen"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Dokumentbläddring"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Bläddra bland dokument"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "title"
#~ msgstr "titel"
#~ msgid "Image"
#~ msgstr "Bild"
#~ msgid "Configuration Progress"
#~ msgstr "Konfigurationsförlopp"
#~ msgid "_Cancel"
#~ msgstr "_Avbryt"

View File

@ -1,158 +0,0 @@
# Turkish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-06-23 19:32+0000\n"
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
"Language-Team: Turkish <tr@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "FTP Sunucusunu Yapılandır"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Otomatik Klasör Yapılandırması"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"OpenERP sunucusunda son kullanıcıların erişebileceği ağ adresini belirtir. "
"Bu, ağ yapınıza ve yapılandırmasına bağlıdır ve yalnızca kullanıcılara "
"gösterilen ağları etkiler. Formatı HOST:PORT şeklindedir ve varsayılan "
"sunucu (localhost) yalnızca sunucu cihazından erişim için uygundur."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Dosyalara Gözat"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "Dökümanları incelemek için adrese tıklayın"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP Sunucusu"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP Sunucusu Yapılandırması"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "Dökümanları İncele"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Gözat"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"DMS erişimi için kullanıcıların bağlanacağı sunucu adresi ya da IP ve "
"bağlantı noktasıdır."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Paylaşılan Havuz (FTP)"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Adres"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "İptal"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "FTP BelgeTaraması"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Bilgi Birikimi Uygulama Ayarları"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Belge Tarama"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "ya da"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Belge Tara"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr ""
#~ "Bu bir belge yönetim sistemli destek FTP Arayüzüdür.\n"
#~ " Bu modül ile yalnızca OpenERP nin içinden belgelere erişmekle kalmayıp \n"
#~ " FTP istemcisini kullanarak dosya sistemi içinden de \n"
#~ " bağlanabileceksiniz.\n"
#~ msgid "Image"
#~ msgstr "Resim"
#~ msgid "Configuration Progress"
#~ msgstr "Yapılandırma Gelişimi"
#~ msgid "title"
#~ msgstr "unvan"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "Belge Yönetim Sistemi ile entegre FTP Sunucusu"
#~ msgid "_Cancel"
#~ msgstr "_Vazgeç"

View File

@ -1,124 +0,0 @@
# Vietnamese 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-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-01-17 09:02+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Vietnamese <vi@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr ""
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr ""
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr ""
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr ""
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr ""
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr ""

View File

@ -1,150 +0,0 @@
# Chinese (Simplified) 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2010-12-21 15:11+0000\n"
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
"Language-Team: Chinese (Simplified) <zh_CN@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "配置 FTP 服务器"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "自动目录设置"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"输入你的最终用户用于连接你OpenERP服务器的网址。基于你的网络配置会影响客户端显示的链接。格式是主机:端口。注意localhost只是在服务器本机"
"才有用的。"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr "knowledge.config.settings"
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "浏览文件"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr "点击 urk 来浏览文档"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP 服务器"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP 服务器设置"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr "浏览文档"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "浏览(_B)"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr "服务器地址或IP地址以及端口。用于用户连接文档管理系统。"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "共享仓库FTP"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "地址"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr "取消"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "文档 FTP 浏览"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "知识管理应用设置"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "文档浏览"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr "或"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "浏览文档"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "图像"
#~ msgid "title"
#~ msgstr "标题"
#~ msgid "Integrated FTP Server with Document Management System"
#~ msgstr "整合 FTP 服务器与文档管理系统"
#~ msgid "_Cancel"
#~ msgstr "取消(_C)"
#~ msgid ""
#~ "This is a support FTP Interface with document management system.\n"
#~ " With this module you would not only be able to access documents through "
#~ "OpenERP\n"
#~ " but you would also be able to connect with them through the file system "
#~ "using the\n"
#~ " FTP client.\n"
#~ msgstr "此模块为文档管理增加了FTP支持。安装了这个模块你不仅可以在OpenERP里访问文档还能通过FTP客户端在文件系统上访问这些文件。\n"
#~ msgid "Configuration Progress"
#~ msgstr "设置进度"

View File

@ -1,135 +0,0 @@
# Chinese (Traditional) translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-08-29 09:46+0000\n"
"Last-Translator: Bonnie Duan <bonnie.duan@cenoq.com>\n"
"Language-Team: Chinese (Traditional) <zh_TW@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: 2014-03-04 07:43+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "設置FTP 伺服器"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "自動目錄配置"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"說明OpenERP的服務器上的網絡地址應該為最終用戶訪問。這取決於您的網絡拓撲和配置而且只會影響顯示給用戶的鏈接。的格式為HOSTPORT和預設的主機"
"localhost的訪問從服務器本身只適合.."
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
#. module: document_ftp
#: model:ir.actions.act_url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "瀏覽檔案"
#. module: document_ftp
#: help:knowledge.config.settings,document_ftp_url:0
msgid "Click the url to browse the documents"
msgstr ""
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "FTP 伺服器"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "FTP Server Configuration"
#. module: document_ftp
#: field:knowledge.config.settings,document_ftp_url:0
msgid "Browse Documents"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "瀏覽(_B)"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr "服務器地址或IP地址和端口用戶應該連接到DMS訪問"
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "供享的儲存庫"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "地址"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Cancel"
msgstr ""
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "瀏覽FTP文件"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "知識應用配置"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "文件瀏覽"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "or"
msgstr ""
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "瀏覽文件"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
#~ msgid "Image"
#~ msgstr "圖像"
#~ msgid "title"
#~ msgstr "標題"
#~ msgid "_Cancel"
#~ msgstr "取消(_C)"

View File

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_document_ftp_configuration" model="ir.ui.view">
<field name="name">Knowledge Application</field>
<field name="model">knowledge.config.settings</field>
<field name="inherit_id" ref="knowledge.view_knowledge_configuration"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='module_document_ftp']" position="after">
<field name="document_ftp_url" widget="url"/>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -1 +0,0 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink

View File

@ -1,87 +0,0 @@
- |
In order to test the document_ftp module in OpenERP, I will try different operations on the FTP interface and check their impacts on OpenERP's documents and vice-versa.
-
In order to test the behaviour of resource Directory, I will make one resource Directory "Labels" in OpenERP having type "Other Resources" and Directory mapped to object "Partner"
-
!record {model: 'document.directory', id: dir_label}:
name : "Labels"
storage_id : document.storage_default
type : ressource
content_ids:
- name: "Label"
report_id : base.res_partner_address_report
-
Assign "res.partner" object to ressource_type_id.
-
!python {model: document.directory}: |
ids = self.pool.get('ir.model').search(cr, uid, [('model','=','res.partner')])
id = self.write(cr, uid, [ref("dir_label")], {'ressource_type_id' : ids[0]}, context)
-
In order to check static directory in OpenERP which is the real directory just like system's local folders,
First I create a directory in OpenERP named "Directory 1" with storage as "Default File storage" and type as "Static Directory"
-
!record {model: 'document.directory', id: directory_file}:
name : "File"
storage_id : document.storage_default
type : directory
-
I am create one Document name "Document" and select "File" as its Directory,
-
When I am creating the record, "Resource Title" is filled automatic with "Document".
-
!record {model: 'ir.attachment', id: document_1}:
name : "Document"
parent_id : directory_file
-
In order to connect FTP server and set "File" path,
I create one directory "New" in "File" directory from FTP and check its effect in OpenERP.
-
Also Rename the directory name "New" to "New Directory".
-
Remove directory "New Directory" and remove file "Document".
-
!python {model: ir.attachment}: |
from ftplib import FTP
from openerp.tools.misc import detect_ip_addr
from openerp.tools import config
ftp = FTP()
if detect_ip_addr:
host = config.get('ftp_server_host', detect_ip_addr())
else:
host = config.get('ftp_server_host', '127.0.0.1')
port = config.get('ftp_server_port','8021')
ftp.connect(host,port)
user = self.pool.get('res.users').read(cr, uid, uid, context)
ftp.login(user.get('login',''),user.get('password',''))
ftp.cwd("/" + cr.dbname+"/Documents/File/")
ftp.mkd("New")
ftp.rename('New','New Directory')
ftp.cwd("/" + cr.dbname+"/Documents/File/")
ftp.rmd('New Directory')
ftp.delete('Document')
ftp.quit()
-
In order to check directory created from FTP is working perfectly
-
Now I will test the same for Resource directory which is mapped with OpenERP object.
When you open this directory from FTP clients, it displays each record of mapped resource object as directory.
-
Now I test FTP client and Open the "Labels" Directory to check Resource Directory in FTP.
I can see that all Labels of OpenERP are shown as children of "Labels" in FTP client as Directories.
-
!python {model: ir.attachment}: |
from ftplib import FTP
from openerp.tools.misc import detect_ip_addr
from openerp.tools import config
ftp = FTP()
if detect_ip_addr:
host = config.get('ftp_server_host', detect_ip_addr())
else:
host = config.get('ftp_server_host', '127.0.0.1')
port = config.get('ftp_server_port','8021')
ftp.connect(host,port)
user = self.pool.get('res.users').read(cr, uid, uid, context)
ftp.login(user.get('login',''),user.get('password',''))
ftp.cwd("/" + cr.dbname+"/Documents/Labels/")
-
I make sure that I Open Labels Directory successfully.

View File

@ -1,289 +0,0 @@
-
In order to test the document_ftp functionality
-
I open the 8021 port and see for ftp presence there
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_plain_ftp(timeout=2.0)
assert ftp.sock and (ftp.lastresp == '220'), ftp.lastresp
ftp.close()
-
I read the list of databases at port 8021 and confirm our db is
there
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_login(cr, uid, self)
assert cr.dbname in ftp.nlst("/")
ftp.close()
-
I try to locate the default "Documents" folder in the db.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_login(cr, uid, self)
ftp.cwd('Documents')
ftp.close()
-
I create a "test.txt" file at the server (directly). The file
should have the "abcd" content
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
fdata = StringIO('abcd')
ftp.storbinary('STOR test.txt', fdata)
ftp.close()
-
I look for the "test.txt" file at the server
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
assert ftp.nlst("test.txt") == ['test.txt']
ftp.close()
-
I check that the content of "test.txt" is "abcd"
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
gotdata = te.get_ftp_fulldata(ftp, "test.txt")
ftp.close()
assert gotdata == 'abcd', 'Data: %r' % gotdata
-
I append the string 'defgh' to "test.txt"
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
fdata = StringIO('defgh')
ftp.storbinary('APPE test.txt', fdata)
ftp.close()
-
I check that the content of "text.txt" is 'abcddefgh'
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
gotdata = te.get_ftp_fulldata(ftp, "test.txt")
ftp.close()
assert gotdata == 'abcddefgh', 'Data: %r' % gotdata
-
I try to cd into an non-existing folder 'Not-This'
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
import ftplib
ftp = te.get_ftp_login(cr, uid, self)
try:
ftp.cwd('/Not-This')
assert False, "We should't be able to change here"
except ftplib.error_perm:
pass
except OSError, err:
ftp.close()
assert err.errno == 2, err.errno
ftp.close()
-
I create a "test2.txt" file through FTP.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
fdata = StringIO('abcd')
ftp.storbinary('STOR test2.txt', fdata)
ftp.close()
-
I look for the "test2.txt" file at the server
-
!python {model: ir.attachment }: |
cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
ids = self.search(cr, uid, [('name', '=', 'test2.txt')])
assert ids, "No test2.txt file found."
-
I delete the "test2.txt" file using FTP.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
ftp.delete('test2.txt')
ftp.close()
-
I check at the server that test2.txt is deleted
-
!python {model: ir.attachment }: |
cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
ids = self.search(cr, uid, [('name', '=', 'test2.txt')])
assert not ids, "test2.txt file can still be found."
-
I create a test2.txt file again.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
fdata = StringIO('abcd')
ftp.storbinary('STOR test2.txt', fdata)
ftp.close()
cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
-
I delete the test2.txt from the server (RPC).
-
!delete { model: ir.attachment, id:, search: "[('name','=','test2.txt')]" }
-
I also commit, because ftp would run in a different transaction.
-
!python {model: ir.attachment}: |
cr.commit()
-
I check through FTP that test2.txt does not appear.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
import ftplib
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
try:
nlst_result = ftp.nlst("test2.txt")
except ftplib.error_perm: # 550 error: 'path not exists'
nlst_result = []
assert "test2.txt" not in nlst_result, "Files: %r" % nlst_result
ftp.close()
-
I create a "test-name.txt" file
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
fdata = StringIO('abcd')
ftp.storbinary('STOR test-name.txt', fdata)
ftp.close()
-
I rename the "test-name.txt" file through ftp.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
ftp.rename("test-name.txt", "test-renamed.txt")
ftp.close()
-
I check that test-name.txt has been renamed.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from ftplib import error_perm
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
try:
res = ftp.nlst("test-name.txt")
assert res == [], "File has not been renamed!"
except error_perm, e:
pass
assert ftp.nlst("test-renamed.txt") == ['test-renamed.txt']
ftp.close()
-
I create a new folder 'Test-Folder2' through FTP
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
ftp.mkd("Test-Folder2")
ftp.close()
-
I create a file 'test3.txt' at the 'Test-Folder2'
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Test-Folder2')
fdata = StringIO('abcd')
ftp.storbinary('STOR test3.txt', fdata)
ftp.close()
-
I try to retrieve test3.txt
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Test-Folder2')
assert ftp.nlst("test3.txt") == ['test3.txt'], "File test3.txt is not there!"
ftp.close()
-
I create a new folder, 'Test-Folder3', through FTP
I try to move test3.txt to 'Test-Folder3'
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
ftp.mkd("Test-Folder3")
ftp.close()
# TODO move
-
I remove the 'Test-Folder3'
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
ftp.rmd("Test-Folder3")
ftp.close()
-
I check that test3.txt is removed.
-
I create 5 files through FTP
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Test-Folder2')
fdata = StringIO('abcd')
for i in range(0, 5):
fdata.seek(0)
ftp.storbinary('STOR test-name%s.txt' %i, fdata)
ftp.close()
-
I list the 5 files, check speed
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Test-Folder2')
assert len(ftp.nlst()) >= 5, "We haven't managed to store 5 files!"
-
I read the 5 files, check speed
-
I move the 5 files to 'Test-Folder2'
-
I delete the 5 files
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Test-Folder2')
ftp.delete('test3.txt')
for i in range(0, 5):
ftp.delete('test-name%s.txt' %i)
ftp.close()
-
I delete the "test.txt" and "test-renamed.txt" file
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
ftp.delete('test.txt')
ftp.delete('test-renamed.txt')
ftp.close()
-
I remove the 'Test-Folder2'
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
ftp.rmd("Test-Folder2")
ftp.close()

View File

@ -1,92 +0,0 @@
-
In order to check international character functionality
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_plain_ftp(timeout=1.0)
-
I create in the server a folder called 'Äïêéìáóôéêüò ÖÜêåëëïò'
-
!record {model: document.directory, id: dir_itests }:
name: 'Äïêéìáóôéêüò ÖÜêåëëïò'
parent_id: document.dir_root
-
And then I create another folder, under it, through FTP
-
!python {model: ir.attachment}: |
cr.commit()
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Äïêéìáóôéêüò ÖÜêåëëïò')
ftp.mkd("ÖÜêåëëïò áðü êÜôù")
-
I check that this folder exists at the server
-
!assert {model: document.directory, id: , search: "[('name','=','ÖÜêåëëïò áðü êÜôù')]" }:
- parent_id != False
-
I login with FTP and check that 'Äïêéìáóôéêüò ÖÜêåëëïò' is there
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Äïêéìáóôéêüò ÖÜêåëëïò/ÖÜêåëëïò áðü êÜôù')
-
I create a file named 'ÄïêéìÞ' into that folder
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Äïêéìáóôéêüò ÖÜêåëëïò/ÖÜêåëëïò áðü êÜôù')
fdata = StringIO('êåßìåíï ìå utf-8')
ftp.storbinary('STOR ÄïêéìÞ.txt', fdata)
-
I remove the 'ÄïêéìÞ.txt' file
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Äïêéìáóôéêüò ÖÜêåëëïò/ÖÜêåëëïò áðü êÜôù')
ftp.delete('ÄïêéìÞ.txt')
-
I rename 'ÖÜêåëëïò áðü êÜôù' into 'Üëëïò'
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Äïêéìáóôéêüò ÖÜêåëëïò')
ftp.rename("ÖÜêåëëïò áðü êÜôù", "Üëëïò")
-
I place a file 'file Ö3' in 'Üëëïò'
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Äïêéìáóôéêüò ÖÜêåëëïò/Üëëïò')
fdata = StringIO('êé Üëëï êåßìåíï')
ftp.storbinary('STOR file Ö3.txt', fdata)
-
I rename the file into file+range(1..200) (large filename)
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Äïêéìáóôéêüò ÖÜêåëëïò/Üëëïò')
vuvuzela = 'b'+''.join('z' * 200)+'!'
ftp.rename("file Ö3.txt", vuvuzela)
-
I delete the file with the large name
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Äïêéìáóôéêüò ÖÜêåëëïò/Üëëïò')
vuvuzela = 'b'+''.join('z' * 200)+'!'
ftp.delete(vuvuzela)
-
I delete the testing folders
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
ftp.rmd('Äïêéìáóôéêüò ÖÜêåëëïò/Üëëïò')
ftp.rmd('Äïêéìáóôéêüò ÖÜêåëëïò')

View File

@ -1,187 +0,0 @@
-
In order to check dynamic folder functionality of document + FTP
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_plain_ftp(timeout=1.0)
- |
I create two partners 'Partner1' and 'Partner2'.
I create three partner categories: 'none', 'pat1' and 'all'
I attach Partner1 to pat1, Partner1+Partner2 to 'all'
-
!record {model: res.partner.category, id: tpat_categ_none }:
name: 'No partners'
-
!record {model: res.partner.category, id: tpat_categ_pat1 }:
name: 'Pat 1'
-
!record {model: res.partner.category, id: tpat_categ_all }:
name: 'All Partner1+2'
-
!record {model: res.partner, id: tpartner1 }:
name: Partner 1
category_id:
- tpat_categ_pat1
- tpat_categ_all
-
!record {model: res.partner, id: tpartner_2 }:
name: 'Partner 2'
category_id:
- tpat_categ_all
-
I create a resource folder of partners, by the (none, pat1, all)
categories.
-
!record {model: document.directory, id: dir_tests2 }:
name: Partners Testing
parent_id: document.dir_root
type: ressource
ressource_type_id: base.model_res_partner_category
domain: [] # TODO
-
I commit (because FTP operations are on different transaction)
-
!python {model: document.directory, id: }: |
cr.commit()
-
I browse through ftp in the resource folder, checking that three
categories are there.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing')
dirs = ftp.nlst()
for dir in [ 'All Partner1+2', 'No partners', 'Pat 1' ]:
assert dir in dirs, "Dir %s not in folder" % dir
-
I create a 'partners' folder by the first resource one.
-
!record {model: document.directory, id: dir_respart1 }:
name: Partners of Test
parent_id: dir_tests2
type: ressource
ressource_type_id: base.model_res_partner
domain: "[('category_id','in',[active_id])]"
ressource_parent_type_id : base.model_res_partner_category
-
I commit (because FTP operations are on different transaction)
-
!python {model: document.directory, id: }: |
cr.commit()
-
I check through FTP that the correct partners are listed at each
'partners' folder.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing')
correct = { 'All Partner1+2': [ 'Partner 1', 'Partner 2' ],
'No partners': [],
'Pat 1': ['Partner 1',] }
for dir in correct:
res = ftp.nlst(dir+'/Partners of Test')
assert res == correct[dir], "Dir %s falsely contains %s" %(dir, res)
-
I create an ir.attachment, attached (not related) to Partner1
-
!record {model: ir.attachment, id: file_test1}:
name: File of pat1
res_model: res.partner
res_id: !eval ref("tpartner1")
-
I commit (because FTP operations are on different transaction)
-
!python {model: document.directory, id: }: |
cr.commit()
-
I check that pat1/Partner1 folder has the file.
I check that all/Partner1 folder has the file
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing')
dirs = [ 'All Partner1+2', 'Pat 1' ]
for dir in dirs:
res = ftp.nlst(dir+'/Partners of Test/Partner 1')
assert 'File of pat1' in res, "Dir %s contains only %s" %(dir, res)
-
I place a file at the 'pat1'/Partner1 folder, through FTP
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing/Pat 1/Partners of Test/Partner 1')
fdata = StringIO('abcd')
ftp.storbinary('STOR pat1-dynamic.txt', fdata)
cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
-
I check at the server that the file is attached to Partner1
-
!assert {model: ir.attachment, id: , search: "[('name','=','pat1-dynamic.txt')]" }:
- parent_id.name == 'Documents'
- res_model == 'res.partner'
- res_id != False
-
I try to create a file directly under the Partners Testing folder
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
import ftplib
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing')
fdata = StringIO('abcd')
try:
ftp.storbinary('STOR stray.txt', fdata)
assert False, "We should't be able to create files here"
except ftplib.error_perm:
# That's what should happen
pass
-
I try to create a folder directly under the Partners Testing folder
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
import ftplib
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing')
try:
ftp.mkd('Weird folder')
assert False, "We should't be able to create folders here"
except ftplib.error_perm:
# That's what should happen
pass
-
I check that all/Partner1 also has the file
- |
Bonus Piste:
I create a 'Partner3' under 'all'
-
I delete "pat1-dynamic.txt" File.
-
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing/Pat 1/Partners of Test/Partner 1')
ftp.delete('pat1-dynamic.txt')
ftp.close()
cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
-
I delete the Partners Testing folder, "File of pat1" file, Partner and Partner category.
-
!python {model: document.directory}: |
attach_pool = self.pool.get('ir.attachment')
partner_categ_pool = self.pool.get('res.partner.category')
partner_pool = self.pool.get('res.partner')
self.unlink(cr, uid, [ref('dir_tests2')])
self.unlink(cr, uid, [ref('dir_respart1')])
attach_pool.unlink(cr, uid, [ref('file_test1')])
partner_categ_pool.unlink(cr, uid, [ref('tpat_categ_none')])
partner_categ_pool.unlink(cr, uid, [ref('tpat_categ_pat1')])
partner_categ_pool.unlink(cr, uid, [ref('tpat_categ_all')])
partner_pool.unlink(cr, uid, [ref('tpartner1')])
partner_pool.unlink(cr, uid, [ref('tpartner_2')])
cr.commit() #required because all the operations via FTP were committed

View File

@ -1,30 +0,0 @@
-
In order to check the permissions setup and functionality of the
document module:
-
I create a testing user for the documents
-
I assign some ... group to the testing user
-
I create a "group testing" user, which also belongs to the same ... group
-
I create a "blocked" user.
-
I create (as root) a testing folder in the document hierarchy, and
assign ownership to the testing user, groups to the ... group.
-
I create a "private" folder inside the testing folder.
-
I try to read the testing folder as the testing user
-
I try to read the folder as the group user, it should fail.
-
I try to read the folder as the blocked user.
-
I create a "group" folder, with the ... group.
-
I try to read the "group" folder as the testing user
-
I try to read the "group" folder as the group user
-
I try to read the "group" folder as the blocked user

View File

@ -1,72 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
""" This is a testing module, which exports some functions for the YAML tests.
Instead of repeating the same FTP code all over, we prefer to have
it in this file
"""
from ftplib import FTP
from openerp.tools import config
def get_plain_ftp(timeout=10.0):
ftp = FTP()
host = config.get('ftp_server_host', '127.0.0.1')
port = config.get('ftp_server_port', '8021')
ftp.connect(host, port,timeout)
return ftp
def get_ftp_login(cr, uid, ormobj):
ftp = get_plain_ftp()
user = ormobj.pool.get('res.users').browse(cr, uid, uid)
passwd = user.password or ''
if passwd.startswith("$1$"):
# md5 by base crypt. We cannot decode, wild guess
# that passwd = login
passwd = user.login
ftp.login(user.login, passwd)
ftp.cwd("/" + cr.dbname)
return ftp
def get_ftp_anonymous(cr):
ftp = get_plain_ftp()
ftp.login('anonymous', 'the-test')
ftp.cwd("/")
return ftp
def get_ftp_folder(cr, uid, ormobj, foldername):
ftp = get_ftp_login(cr, uid, ormobj)
ftp.cwd("/" + cr.dbname+"/"+foldername)
return ftp
def get_ftp_fulldata(ftp, fname, limit=8192):
from functools import partial
data = []
def ffp(data, ndata):
if len(data)+ len(ndata) > limit:
raise IndexError('Data over the limit.')
data.append(ndata)
ftp.retrbinary('RETR %s' % fname, partial(ffp,data))
return ''.join(data)
#eof
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,64 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import fields, osv
# from openerp.tools.translate import _
from .. import ftpserver
class document_ftp_browse(osv.osv_memory):
_name = 'document.ftp.browse'
_description = 'Document FTP Browse'
_columns = {
'url' : fields.char('FTP Server', size=64, required=True),
}
def default_get(self, cr, uid, fields, context=None):
res = {}
if 'url' in fields:
user_pool = self.pool.get('res.users')
current_user = user_pool.browse(cr, uid, uid, context=context)
data_pool = self.pool.get('ir.model.data')
aid = data_pool._get_id(cr, uid, 'document_ftp', 'action_document_browse')
aid = data_pool.browse(cr, uid, aid, context=context).res_id
ftp_url = self.pool.get('ir.actions.act_url').browse(cr, uid, aid, context=context)
url = ftp_url.url and ftp_url.url.split('ftp://') or []
if url:
url = url[1]
if url[-1] == '/':
url = url[:-1]
else:
url = '%s:%s' %(ftpserver.HOST, ftpserver.PORT)
res['url'] = 'ftp://%s@%s'%(current_user.login, url)
return res
def browse_ftp(self, cr, uid, ids, context=None):
data_id = ids and ids[0] or False
data = self.browse(cr, uid, data_id, context=context)
final_url = data.url
return {
'type': 'ir.actions.act_url',
'url':final_url,
'target': 'new'
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,39 +0,0 @@
<openerp>
<data>
<record id="ftp_browse_form" model="ir.ui.view">
<field name="name">Document FTP Browse</field>
<field name="model">document.ftp.browse</field>
<field name="arch" type="xml">
<form string="Browse Document" version="7.0">
<group>
<field name="url" widget="url"/>
</group>
<footer>
<button name="browse_ftp" string="_Browse" type="object" icon="gtk-ok" class="oe_highlight" />
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>
<record id="action_ftp_browse" model="ir.actions.act_window">
<field name="name">Document Browse</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">document.ftp.browse</field>
<field name="view_id" ref="ftp_browse_form"/>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<menuitem
name="Shared Repository (FTP)"
action="action_ftp_browse"
id="menu_document_browse"
icon="STOCK_EXECUTE"
parent="document.menu_document_doc" sequence="1"/>
</data>
</openerp>

View File

@ -1,51 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
from openerp.osv import fields, osv
from openerp.tools import config
class document_ftp_configuration(osv.osv_memory):
_name='document.ftp.configuration'
_description = 'Auto Directory Configuration'
_inherit = 'res.config'
_rec_name = 'host'
_columns = {
'host': fields.char('Address', size=64,
help="Server address or IP and port to which users should connect to for DMS access",
required=True),
}
_defaults = {
'host': config.get('ftp_server_host', 'localhost') + ':' + config.get('ftp_server_port', '8021'),
}
def execute(self, cr, uid, ids, context=None):
conf = self.browse(cr, uid, ids[0], context=context)
data_pool = self.pool.get('ir.model.data')
# Update the action for FTP browse.
aid = data_pool._get_id(cr, uid, 'document_ftp', 'action_document_browse')
aid = data_pool.browse(cr, uid, aid, context=context).res_id
self.pool.get('ir.actions.act_url').write(cr, uid, [aid],
{'url': 'ftp://'+(conf.host or 'localhost:8021')+'/' + cr.dbname+'/'})
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,44 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.actions.act_url" id="action_document_browse">
<field name="name">Browse Files</field>
<field name="url">ftp://localhost:8021/</field>
</record>
<record id="view_auto_config_form" model="ir.ui.view">
<field name="name">FTP Server Configuration</field>
<field name="model">document.ftp.configuration</field>
<field name="inherit_id" ref="base.res_config_view_base"/>
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Knowledge Application Configuration</attribute>
</form>
<group string="res_config_contents" position="replace">
<separator string="Configure FTP Server" />
<label string="Indicate the network address on which your OpenERP server should be reachable for end-users. This depends on your network topology and configuration, and will only affect the links displayed to the users. The format is HOST:PORT and the default host (localhost) is only suitable for access from the server machine itself.."/>
<field name="host"/>
</group>
</data>
</field>
</record>
<record id="action_config_auto_directory" model="ir.actions.act_window">
<field name="name">FTP Server Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">document.ftp.configuration</field>
<field name="view_id" ref="view_auto_config_form"/>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record model="ir.actions.todo" id="config_auto_directory">
<field name="action_id" ref="action_config_auto_directory"/>
<field name="type">automatic</field>
</record>
</data>
</openerp>

View File

@ -1,76 +0,0 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2004 TINY SPRL. (http://tiny.be), 2009 P. Christeas
# All Rights Reserved.
# Fabien Pinckaers <fp@tiny.Be>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
##############################################################################
{
'name': 'Shared Repositories (WebDAV)',
'version': '2.3',
'author': 'OpenERP SA',
'category': 'Knowledge Management',
'website': 'http://www.openerp.com',
'description': """
With this module, the WebDAV server for documents is activated.
===============================================================
You can then use any compatible browser to remotely see the attachments of OpenObject.
After installation, the WebDAV server can be controlled by a [webdav] section in
the server's config.
Server Configuration Parameter:
-------------------------------
[webdav]:
+++++++++
* enable = True ; Serve webdav over the http(s) servers
* vdir = webdav ; the directory that webdav will be served at
* this default val means that webdav will be
* on "http://localhost:8069/webdav/
* verbose = True ; Turn on the verbose messages of webdav
* debug = True ; Turn on the debugging messages of webdav
* since the messages are routed to the python logging, with
* levels "debug" and "debug_rpc" respectively, you can leave
* these options on
Also implements IETF RFC 5785 for services discovery on a http server,
which needs explicit configuration in openerp-server.conf too.
""",
'depends': ['base', 'document'],
'data': ['security/ir.model.access.csv',
'webdav_view.xml',
'webdav_setup.xml',
],
'demo': [],
'test': [ #'test/webdav_test1.yml',
],
'auto_install': False,
'installable': True,
'images': ['images/dav_properties.jpeg','images/directories_structure_principals.jpeg'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,41 +0,0 @@
import time
import heapq
def memoize(maxsize):
"""decorator to 'memoize' a function - caching its results"""
def decorating_function(f):
cache = {} # map from key to value
heap = [] # list of keys, in LRU heap
cursize = 0 # because len() is slow
def wrapper(*args):
key = repr(args)
# performance crap
_cache=cache
_heap=heap
_heappop = heapq.heappop
_heappush = heapq.heappush
_time = time.time
_cursize = cursize
_maxsize = maxsize
if not _cache.has_key(key):
if _cursize == _maxsize:
# pop oldest element
(_,oldkey) = _heappop(_heap)
_cache.pop(oldkey)
else:
_cursize += 1
# insert this element
_cache[key] = f(*args)
_heappush(_heap,(_time(),key))
wrapper.misses += 1
else:
wrapper.hits += 1
return cache[key]
wrapper.__doc__ = f.__doc__
wrapper.__name__ = f.__name__
wrapper.hits = wrapper.misses = 0
return wrapper
return decorating_function
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

File diff suppressed because it is too large Load Diff

View File

@ -1,29 +0,0 @@
=================
Well-known URIs
=================
In accordance to IETF RFC 5785 [1], we shall publish a few locations
on the root of our http server, so that clients can discover our
services (CalDAV, eg.).
This module merely installs a special http request handler, that will
redirect the URIs from "http://our-server:port/.well-known/xxx' to
the correct path for each xxx service.
Note that well-known URIs cannot have a database-specific behaviour,
they are server-wide. So, we have to explicitly chose one of our databases
to serve at them. By default, the database of the configuration file
is chosen
Example config:
[http-well-known]
num_services = 2
db_name = openerp-main ; must define that for path_1 below
service_1 = caldav
path_1 = /webdav/%(db_name)s/Calendars/
service_2 = foo
path_2 = /other_db/static/Foo.html
[1] http://www.rfc-editor.org/rfc/rfc5785.txt

View File

@ -1,127 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import fields, osv
from openerp.tools import config
import nodes
class document_davdir(osv.osv):
_inherit = 'document.directory'
_columns = {
# Placed here just for a reference
'dav_prop_ids': fields.one2many('document.webdav.dir.property', 'dir_id', 'DAV properties'),
}
def get_node_class(self, cr, uid, ids, dbro=None, dynamic=False, context=None):
# Note: in this function, nodes come from document_webdav/nodes.py !
if dbro is None:
dbro = self.browse(cr, uid, ids, context=context)
if dynamic:
return nodes.node_res_obj
elif dbro.type == 'directory':
return nodes.node_dir
elif dbro.type == 'ressource':
return nodes.node_res_dir
else:
raise ValueError("Directory node for %s type.", dbro.type)
def _prepare_context(self, cr, uid, nctx, context=None):
nctx.node_file_class = nodes.node_file
# We can fill some more fields, but avoid any expensive function
# that might be not worth preparing.
nctx.extra_ctx['webdav_path'] = '/'+config.get_misc('webdav','vdir','webdav')
usr_obj = self.pool.get('res.users')
res = usr_obj.read(cr, uid, uid, ['login','lang'])
if res:
nctx.extra_ctx['username'] = res['login']
nctx.extra_ctx['lang'] = res['lang']
# TODO group
return
def _locate_child(self, cr, uid, root_id, uri, nparent, ncontext):
""" try to locate the node in uri,
Return a tuple (node_dir, remaining_path)
"""
return (nodes.node_database(context=ncontext), uri)
class dav_dir_property(osv.osv):
""" Arbitrary WebDAV properties, attached to document.directories.
Some DAV properties have to be settable at directories, depending
on the database directory structure.
Example would be the principal-URL.
There _can_ be properties without a directory, which means that they
globally apply to all the directories (aka. collections) of the
present database.
"""
_name = 'document.webdav.dir.property'
_columns = {
'create_date': fields.datetime('Date Created', readonly=True),
'create_uid': fields.many2one('res.users', 'Creator', readonly=True),
'write_date': fields.datetime('Date Modified', readonly=True),
'write_uid': fields.many2one('res.users', 'Last Modification User', readonly=True),
'dir_id': fields.many2one('document.directory', 'Directory', required=False, select=1),
'namespace': fields.char('Namespace', size=127, required=True),
'name': fields.char('Name', size=64, required=True),
'value': fields.text('Value'),
'do_subst': fields.boolean('Substitute', required=True),
}
_defaults = {
'do_subst': False,
}
class dav_file_property(osv.osv):
""" Arbitrary WebDAV properties, attached to ir.attachments.
A special case is the locks that can be applied on file nodes.
There _can_ be properties without a file (RFC?), which means that they
globally apply to all the attachments of the present database.
TODO access permissions, per property.
"""
_name = 'document.webdav.file.property'
_columns = {
'create_date': fields.datetime('Date Created', readonly=True),
'create_uid': fields.many2one('res.users', 'Creator', readonly=True),
'write_date': fields.datetime('Date Modified', readonly=True),
'write_uid': fields.many2one('res.users', 'Last Modification User', readonly=True),
'file_id': fields.many2one('ir.attachment', 'Document', required=False, select=1),
'namespace': fields.char('Namespace', size=127, required=True),
'name': fields.char('Name', size=64, required=True),
'value': fields.text('Value'),
'do_subst': fields.boolean('Substitute', required=True),
}
_defaults = {
'do_subst': False,
}
#eof
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,202 +0,0 @@
# Arabic translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-12-01 18:19+0000\n"
"Last-Translator: gehad shaat <gehad.shaath@gmail.com>\n"
"Language-Team: Arabic <ar@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: 2014-03-04 07:25+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_webdav
#: field:document.webdav.dir.property,create_date:0
#: field:document.webdav.file.property,create_date:0
msgid "Date Created"
msgstr "تاريخ الإنشاء"
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_document_props
msgid "Documents"
msgstr "مستندات"
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Document property"
msgstr "خصائص الوثيقة"
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Search Document properties"
msgstr "ابحث عن خصائص الوثيقة"
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: field:document.webdav.dir.property,namespace:0
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,namespace:0
msgid "Namespace"
msgstr "نطاق أسماء"
#. module: document_webdav
#: field:document.directory,dav_prop_ids:0
msgid "DAV properties"
msgstr "خصائص DAV"
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_file_property
msgid "document.webdav.file.property"
msgstr "الوثيق.ويبDAV.الملف.الخاصية"
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Group By..."
msgstr "تجميع حسب..."
#. module: document_webdav
#: view:document.directory:0
msgid "These properties will be added to WebDAV requests"
msgstr "ستضاف هذه الخصائص إلى طلبات صفحة الويب DAV"
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_file_props_form
msgid "DAV Properties for Documents"
msgstr "خصائص DAV للوثائق"
#. module: document_webdav
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,file_id:0
msgid "Document"
msgstr "مستند"
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_folder_props
msgid "Folders"
msgstr "مجلدات"
#. module: document_webdav
#: view:document.directory:0
msgid "WebDAV properties"
msgstr "خصائص الويبDAV"
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_dir_props_form
msgid "DAV Properties for Folders"
msgstr "خصائص DAV للمجلدات"
#. module: document_webdav
#: view:document.directory:0
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Properties"
msgstr "خصائص"
#. module: document_webdav
#: field:document.webdav.dir.property,name:0
#: field:document.webdav.file.property,name:0
msgid "Name"
msgstr "الاسم"
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_dir_property
msgid "document.webdav.dir.property"
msgstr "الوثيقة.الويبDAV.مباشر.الخاصية"
#. module: document_webdav
#: field:document.webdav.dir.property,value:0
#: field:document.webdav.file.property,value:0
msgid "Value"
msgstr "قيمة"
#. module: document_webdav
#: field:document.webdav.dir.property,dir_id:0
#: model:ir.model,name:document_webdav.model_document_directory
msgid "Directory"
msgstr "مسار"
#. module: document_webdav
#: field:document.webdav.dir.property,write_uid:0
#: field:document.webdav.file.property,write_uid:0
msgid "Last Modification User"
msgstr "اخر مستخدم قام بالتعديل"
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Dir"
msgstr "مسار"
#. module: document_webdav
#: field:document.webdav.dir.property,write_date:0
#: field:document.webdav.file.property,write_date:0
msgid "Date Modified"
msgstr "تاريخ التعديل"
#. module: document_webdav
#: field:document.webdav.dir.property,create_uid:0
#: field:document.webdav.file.property,create_uid:0
msgid "Creator"
msgstr "المُنشِئ"
#. module: document_webdav
#: view:document.webdav.file.property:0
msgid "Document Property"
msgstr "خصائص الوثيقة"
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_properties
msgid "DAV Properties"
msgstr "خصائص DAV"
#. module: document_webdav
#: field:document.webdav.dir.property,do_subst:0
#: field:document.webdav.file.property,do_subst:0
msgid "Substitute"
msgstr "استبدال"
#~ msgid "Error! You can not create recursive Directories."
#~ msgstr "خطأ ! لايمكنك إنشاء مسارات متداخلة."
#~ msgid "Directory cannot be parent of itself!"
#~ msgstr "لا يمكن أن يكون المسار رئيسي لنفسه!"
#~ msgid "The directory name must be unique !"
#~ msgstr "اسم المسار يجب ان يكون فريدا !"
#~ msgid "Dynamic context"
#~ msgstr "النص المتحرك"
#~ msgid "Directory must have a parent or a storage"
#~ msgstr "المسار يجب ان يكون له مسار رئيسي أو مخزن"
#~ msgid "DAV properties for folders"
#~ msgstr "خصائص DAV للملفات"
#~ msgid "DAV properties for documents"
#~ msgstr "خصائصDAV للوثائق"
#~ msgid "WebDAV server for Document Management"
#~ msgstr "خدمة الويبDAV لإدارة الوثائق"
#, python-format
#~ msgid ""
#~ "Please install PyWebDAV from "
#~ "http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-"
#~ "0.9.4.tar.gz&can=2&q=/"
#~ msgstr ""
#~ "الرجاء تثبيت PyWebDAV من "
#~ "http://code.google.com/p/pywebdav/downloads/detail؟name=PyWebDAV-"
#~ "0.9.4.tar.gz&can=2&q=/"
#, python-format
#~ msgid "PyWebDAV Import Error!"
#~ msgstr "خطأ استيراد PyWebDAV"

View File

@ -1,173 +0,0 @@
# Bulgarian 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-03-01 20:38+0000\n"
"Last-Translator: Dimitar Markov <dimitar.markov@gmail.com>\n"
"Language-Team: Bulgarian <bg@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: 2014-03-04 07:26+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_webdav
#: field:document.webdav.dir.property,create_date:0
#: field:document.webdav.file.property,create_date:0
msgid "Date Created"
msgstr "Дата на създаване"
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_document_props
msgid "Documents"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Document property"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Search Document properties"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: field:document.webdav.dir.property,namespace:0
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,namespace:0
msgid "Namespace"
msgstr "Пространство на имената"
#. module: document_webdav
#: field:document.directory,dav_prop_ids:0
msgid "DAV properties"
msgstr ""
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_file_property
msgid "document.webdav.file.property"
msgstr "document.webdav.file.property"
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Group By..."
msgstr "Групирай по"
#. module: document_webdav
#: view:document.directory:0
msgid "These properties will be added to WebDAV requests"
msgstr ""
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_file_props_form
msgid "DAV Properties for Documents"
msgstr ""
#. module: document_webdav
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,file_id:0
msgid "Document"
msgstr "Документ"
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_folder_props
msgid "Folders"
msgstr ""
#. module: document_webdav
#: view:document.directory:0
msgid "WebDAV properties"
msgstr ""
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_dir_props_form
msgid "DAV Properties for Folders"
msgstr ""
#. module: document_webdav
#: view:document.directory:0
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Properties"
msgstr "Свойства"
#. module: document_webdav
#: field:document.webdav.dir.property,name:0
#: field:document.webdav.file.property,name:0
msgid "Name"
msgstr "Име"
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_dir_property
msgid "document.webdav.dir.property"
msgstr "document.webdav.dir.property"
#. module: document_webdav
#: field:document.webdav.dir.property,value:0
#: field:document.webdav.file.property,value:0
msgid "Value"
msgstr "Стойност"
#. module: document_webdav
#: field:document.webdav.dir.property,dir_id:0
#: model:ir.model,name:document_webdav.model_document_directory
msgid "Directory"
msgstr "Директория"
#. module: document_webdav
#: field:document.webdav.dir.property,write_uid:0
#: field:document.webdav.file.property,write_uid:0
msgid "Last Modification User"
msgstr "Последна промяна потребител"
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Dir"
msgstr "Посока"
#. module: document_webdav
#: field:document.webdav.dir.property,write_date:0
#: field:document.webdav.file.property,write_date:0
msgid "Date Modified"
msgstr "Дата на промяна"
#. module: document_webdav
#: field:document.webdav.dir.property,create_uid:0
#: field:document.webdav.file.property,create_uid:0
msgid "Creator"
msgstr "Създател"
#. module: document_webdav
#: view:document.webdav.file.property:0
msgid "Document Property"
msgstr ""
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_properties
msgid "DAV Properties"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,do_subst:0
#: field:document.webdav.file.property,do_subst:0
msgid "Substitute"
msgstr "Замести"
#~ msgid "Error! You can not create recursive Directories."
#~ msgstr "Грешка! Не мжете да създавате директории реурсивно."
#~ msgid "The directory name must be unique !"
#~ msgstr "Името на директорията трябва да бъде уникално"
#~ msgid "Directory cannot be parent of itself!"
#~ msgstr "Директорията не може да наследява сама себе си!"

View File

@ -1,202 +0,0 @@
# Catalan translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-08-17 20:43+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <Unknown>\n"
"Language-Team: Catalan <ca@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: 2014-03-04 07:26+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_webdav
#: field:document.webdav.dir.property,create_date:0
#: field:document.webdav.file.property,create_date:0
msgid "Date Created"
msgstr "Data de creació"
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_document_props
msgid "Documents"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Document property"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Search Document properties"
msgstr "Cerca propietats del document"
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: field:document.webdav.dir.property,namespace:0
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,namespace:0
msgid "Namespace"
msgstr "Espai de noms"
#. module: document_webdav
#: field:document.directory,dav_prop_ids:0
msgid "DAV properties"
msgstr "Propietats DAV"
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_file_property
msgid "document.webdav.file.property"
msgstr "document.webdav.file.property"
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Group By..."
msgstr "Agrupar per..."
#. module: document_webdav
#: view:document.directory:0
msgid "These properties will be added to WebDAV requests"
msgstr "Aquestes propietats s'afegiran a les peticions WebDAV"
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_file_props_form
msgid "DAV Properties for Documents"
msgstr ""
#. module: document_webdav
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,file_id:0
msgid "Document"
msgstr "Document"
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_folder_props
msgid "Folders"
msgstr ""
#. module: document_webdav
#: view:document.directory:0
msgid "WebDAV properties"
msgstr "Propietats WebDAV"
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_dir_props_form
msgid "DAV Properties for Folders"
msgstr ""
#. module: document_webdav
#: view:document.directory:0
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Properties"
msgstr "Propietats"
#. module: document_webdav
#: field:document.webdav.dir.property,name:0
#: field:document.webdav.file.property,name:0
msgid "Name"
msgstr "Nom"
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_dir_property
msgid "document.webdav.dir.property"
msgstr "document.webdav.dir.propietat"
#. module: document_webdav
#: field:document.webdav.dir.property,value:0
#: field:document.webdav.file.property,value:0
msgid "Value"
msgstr "Valor"
#. module: document_webdav
#: field:document.webdav.dir.property,dir_id:0
#: model:ir.model,name:document_webdav.model_document_directory
msgid "Directory"
msgstr "Directori"
#. module: document_webdav
#: field:document.webdav.dir.property,write_uid:0
#: field:document.webdav.file.property,write_uid:0
msgid "Last Modification User"
msgstr "Usuari de l'última modificació"
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Dir"
msgstr "Adr"
#. module: document_webdav
#: field:document.webdav.dir.property,write_date:0
#: field:document.webdav.file.property,write_date:0
msgid "Date Modified"
msgstr "Data de modificació"
#. module: document_webdav
#: field:document.webdav.dir.property,create_uid:0
#: field:document.webdav.file.property,create_uid:0
msgid "Creator"
msgstr "Creador/a"
#. module: document_webdav
#: view:document.webdav.file.property:0
msgid "Document Property"
msgstr ""
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_properties
msgid "DAV Properties"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,do_subst:0
#: field:document.webdav.file.property,do_subst:0
msgid "Substitute"
msgstr "Substitut"
#, python-format
#~ msgid "PyWebDAV Import Error!"
#~ msgstr "Error d'importació PyWebDAV!"
#~ msgid "Error! You can not create recursive Directories."
#~ msgstr "Error! No podeu crear directoris recursius."
#~ msgid "DAV properties for documents"
#~ msgstr "Propietats DAV per a documents"
#~ msgid "DAV properties for folders"
#~ msgstr "Propietats DAV per a carpetes"
#~ msgid "Directory cannot be parent of itself!"
#~ msgstr "El directori no pot ser el seu propi pare!"
#~ msgid "The directory name must be unique !"
#~ msgstr "El nom de directori ha de ser únic!"
#, python-format
#~ msgid ""
#~ "Please install PyWebDAV from "
#~ "http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-"
#~ "0.9.4.tar.gz&can=2&q=/"
#~ msgstr ""
#~ "Instal·leu PyWebDAV des de "
#~ "http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-"
#~ "0.9.4.tar.gz&can=2&q=/"
#~ msgid "Dynamic context"
#~ msgstr "Context dinàmic"
#~ msgid "WebDAV server for Document Management"
#~ msgstr "Servidor WebDAV per a gestió de documents"
#~ msgid "Directory must have a parent or a storage"
#~ msgstr "El directori ha de tenir un pare o un emmagatzematge."

View File

@ -1,164 +0,0 @@
# Czech translation for openobject-addons
# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2010-08-03 03:52+0000\n"
"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
"Language-Team: Czech <cs@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: 2014-03-04 07:26+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_webdav
#: field:document.webdav.dir.property,create_date:0
#: field:document.webdav.file.property,create_date:0
msgid "Date Created"
msgstr ""
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_document_props
msgid "Documents"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Document property"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Search Document properties"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: field:document.webdav.dir.property,namespace:0
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,namespace:0
msgid "Namespace"
msgstr ""
#. module: document_webdav
#: field:document.directory,dav_prop_ids:0
msgid "DAV properties"
msgstr ""
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_file_property
msgid "document.webdav.file.property"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Group By..."
msgstr ""
#. module: document_webdav
#: view:document.directory:0
msgid "These properties will be added to WebDAV requests"
msgstr ""
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_file_props_form
msgid "DAV Properties for Documents"
msgstr ""
#. module: document_webdav
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,file_id:0
msgid "Document"
msgstr ""
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_folder_props
msgid "Folders"
msgstr ""
#. module: document_webdav
#: view:document.directory:0
msgid "WebDAV properties"
msgstr ""
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_dir_props_form
msgid "DAV Properties for Folders"
msgstr ""
#. module: document_webdav
#: view:document.directory:0
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Properties"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,name:0
#: field:document.webdav.file.property,name:0
msgid "Name"
msgstr ""
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_dir_property
msgid "document.webdav.dir.property"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,value:0
#: field:document.webdav.file.property,value:0
msgid "Value"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,dir_id:0
#: model:ir.model,name:document_webdav.model_document_directory
msgid "Directory"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,write_uid:0
#: field:document.webdav.file.property,write_uid:0
msgid "Last Modification User"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Dir"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,write_date:0
#: field:document.webdav.file.property,write_date:0
msgid "Date Modified"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,create_uid:0
#: field:document.webdav.file.property,create_uid:0
msgid "Creator"
msgstr ""
#. module: document_webdav
#: view:document.webdav.file.property:0
msgid "Document Property"
msgstr ""
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_properties
msgid "DAV Properties"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,do_subst:0
#: field:document.webdav.file.property,do_subst:0
msgid "Substitute"
msgstr ""

View File

@ -1,164 +0,0 @@
# Danish 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: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-11-08 21:52+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2014-03-04 07:26+0000\n"
"X-Generator: Launchpad (build 16948)\n"
#. module: document_webdav
#: field:document.webdav.dir.property,create_date:0
#: field:document.webdav.file.property,create_date:0
msgid "Date Created"
msgstr ""
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_document_props
msgid "Documents"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Document property"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Search Document properties"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: field:document.webdav.dir.property,namespace:0
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,namespace:0
msgid "Namespace"
msgstr ""
#. module: document_webdav
#: field:document.directory,dav_prop_ids:0
msgid "DAV properties"
msgstr ""
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_file_property
msgid "document.webdav.file.property"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Group By..."
msgstr "Gruppér efter..."
#. module: document_webdav
#: view:document.directory:0
msgid "These properties will be added to WebDAV requests"
msgstr ""
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_file_props_form
msgid "DAV Properties for Documents"
msgstr ""
#. module: document_webdav
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,file_id:0
msgid "Document"
msgstr ""
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_folder_props
msgid "Folders"
msgstr ""
#. module: document_webdav
#: view:document.directory:0
msgid "WebDAV properties"
msgstr ""
#. module: document_webdav
#: model:ir.actions.act_window,name:document_webdav.action_dir_props_form
msgid "DAV Properties for Folders"
msgstr ""
#. module: document_webdav
#: view:document.directory:0
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Properties"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,name:0
#: field:document.webdav.file.property,name:0
msgid "Name"
msgstr ""
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_dir_property
msgid "document.webdav.dir.property"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,value:0
#: field:document.webdav.file.property,value:0
msgid "Value"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,dir_id:0
#: model:ir.model,name:document_webdav.model_document_directory
msgid "Directory"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,write_uid:0
#: field:document.webdav.file.property,write_uid:0
msgid "Last Modification User"
msgstr ""
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Dir"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,write_date:0
#: field:document.webdav.file.property,write_date:0
msgid "Date Modified"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,create_uid:0
#: field:document.webdav.file.property,create_uid:0
msgid "Creator"
msgstr ""
#. module: document_webdav
#: view:document.webdav.file.property:0
msgid "Document Property"
msgstr ""
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_properties
msgid "DAV Properties"
msgstr ""
#. module: document_webdav
#: field:document.webdav.dir.property,do_subst:0
#: field:document.webdav.file.property,do_subst:0
msgid "Substitute"
msgstr ""

Some files were not shown because too many files have changed in this diff Show More