[MERGE] Merge from trunk-wms
bzr revid: jco@openerp.com-20140326155150-4y47ny5gyvjezlm9
This commit is contained in:
commit
af1d4acba3
|
@ -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:
|
||||
|
|
|
@ -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"/>
|
||||
|
||||
|
|
|
@ -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"/>
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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):
|
||||
"""
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -2,3 +2,4 @@ import controllers
|
|||
import auth_oauth
|
||||
import res_users
|
||||
import res_config
|
||||
import ir_configparameter
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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})
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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'
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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"/>
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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 user’s ID for security checks,
|
||||
@param ids: List of compute data’s 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:
|
||||
|
|
|
@ -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 = {}
|
||||
|
|
|
@ -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="['&', '|', ('case_default', '=', True), ('section_ids', '=', section_id), '|', ('type', '=', type), ('type', '=', 'both')]"
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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/>
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)]}">
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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','<=',0)]}">N </span>
|
||||
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_latitude','>=',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','<=',0)]}">E </span>
|
||||
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_longitude','>=',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','<=',0)]}">N </span>
|
||||
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_latitude','>=',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','<=',0)]}">E </span>
|
||||
<span class="oe_grey oe_inline" attrs="{'invisible':[('partner_longitude','>=',0)]}">W </span>
|
||||
<span class="oe_grey">) </span>
|
||||
|
|
|
@ -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");
|
||||
}
|
|
@ -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:
|
|
@ -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:
|
||||
|
|
@ -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:
|
||||
|
|
@ -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
|
@ -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"
|
|
@ -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 "_Отказ"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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 ""
|
|
@ -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"
|
|
@ -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 ""
|
||||
|
|
@ -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 "_Άκυρο"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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)"
|
|
@ -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"
|
|
@ -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 "_Цуцлах"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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ç"
|
|
@ -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 ""
|
|
@ -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 "设置进度"
|
|
@ -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的服務器上的網絡地址應該為最終用戶訪問。這取決於您的網絡拓撲和配置,而且只會影響顯示給用戶的鏈接。的格式為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 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)"
|
|
@ -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>
|
|
@ -1 +0,0 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
|
|
@ -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.
|
|
@ -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()
|
|
@ -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('Äïêéìáóôéêüò ÖÜêåëëïò')
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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:
|
|
@ -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:
|
|
@ -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>
|
|
@ -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:
|
|
@ -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>
|
|
@ -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:
|
|
@ -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
|
@ -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
|
|
@ -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:
|
|
@ -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"
|
|
@ -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 "Директорията не може да наследява сама себе си!"
|
|
@ -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."
|
|
@ -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 ""
|
|
@ -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
Loading…
Reference in New Issue