bzr revid: fp@tinyerp.com-20100302124232-vwgwby56uubk4ua5
This commit is contained in:
Fabien Pinckaers
2010-03-02 13:42:32 +01:00
17 changed files with 1056 additions and 336 deletions
-1
View File
@@ -36,6 +36,5 @@
],
'installable': True,
'active': False,
'certificate': '',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+3
View File
@@ -37,6 +37,9 @@ months = {
10:"October", 11:"November", 12:"December"}
def get_recurrent_dates(rrulestring, exdate, startdate=None):
def todate(date):
val = parser.parse(''.join((re.compile('\d')).findall(date)) + 'Z')
return val
if not startdate:
startdate = datetime.now()
rset1 = rrule.rrulestr(rrulestring, dtstart=startdate, forceset=True)
+1
View File
@@ -46,6 +46,7 @@ class crm_opportunity(osv.osv):
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
'date_closed': fields.datetime('Closed', readonly=True),
'user_id': fields.many2one('res.users', 'Salesman'),
'phone': fields.char("Phone", size=64),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True,
help='The state is set to \'Draft\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\
+1 -1
View File
@@ -58,7 +58,7 @@
<field name="partner_id" select="1" on_change="onchange_partner_id(partner_id, email_from)" colspan="2"/>
<field name="partner_address_id" string="Contact" on_change="onchange_partner_address_id(partner_address_id, email_from)" colspan="1"/>
<field name="email_from" string="Email"/>
<field name="partner_phone"/>
<field name="phone"/>
</group>
<group col="2" colspan="2">
<separator colspan="2" string="Categorization"/>
+117 -123
View File
@@ -27,7 +27,18 @@ import ir
import pooler
from tools.translate import _
class lead2opportunity(wizard.interface):
class partner_create(wizard.interface):
case_form = """<?xml version="1.0"?>
<form string="Convert To Partner">
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
<!--field name="close"/-->
</form>"""
case_fields = {
'close': {'type':'boolean', 'string':'Close Lead'}
}
partner_form = """<?xml version="1.0"?>
<form string="Convert To Partner">
@@ -36,17 +47,115 @@ class lead2opportunity(wizard.interface):
<newline />
<field name="action"/>
<group attrs="{'invisible':[('action','!=','exist')]}">
<field name="partner_id" attrs="{'required':[('action','=','exist')]}"/>
<field name="partner_id"/>
</group>
</form>"""
partner_fields = {
'action': {'type':'selection',
'selection':[('exist','Link to an existing partner'),('create','Create a new partner')],
'string':'Action', 'required':True, 'default': lambda *a:'create'},
'string':'Action', 'required':True, 'default': lambda *a:'exist'},
'partner_id' : {'type':'many2one', 'relation':'res.partner', 'string':'Partner'},
}
def _selectPartner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case_obj = pool.get('crm.lead')
partner_obj = pool.get('res.partner')
contact_obj = pool.get('res.partner.address')
for case in case_obj.browse(cr, uid, data['ids']):
if case.partner_id:
raise wizard.except_wizard(_('Warning !'),
_('A partner is already defined on this lead.'))
partner_ids = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)])
if not partner_ids and case.email_from:
address_ids = contact_obj.search(cr, uid, [('email', '=', case.email_from)])
if address_ids:
addresses = contact_obj.browse(cr, uid, address_ids)
partner_ids = addresses and [addresses[0].partner_id.id] or False
partner_id = partner_ids and partner_ids[0] or False
return {'partner_id': partner_id}
def _create_partner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case_obj = pool.get('crm.lead')
partner_obj = pool.get('res.partner')
contact_obj = pool.get('res.partner.address')
partner_ids = []
partner_id = False
contact_id = False
for case in case_obj.browse(cr, uid, data['ids']):
if data['form']['action'] == 'create':
partner_id = partner_obj.create(cr, uid, {
'name': case.partner_name or case.name,
'user_id': case.user_id.id,
'comment': case.description,
})
contact_id = contact_obj.create(cr, uid, {
'partner_id': partner_id,
'name': case.name,
'phone': case.phone,
'mobile': case.mobile,
'email': case.email_from
})
else:
if data['form']['partner_id']:
partner = partner_obj.browse(cr,uid,data['form']['partner_id'])
partner_id = partner.id
contact_id = partner.address and partner.address[0].id
partner_ids.append(partner_id)
vals = {}
if partner_id:
vals.update({'partner_id': partner_id})
if contact_id:
vals.update({'partner_address_id': contact_id})
case_obj.write(cr, uid, [case.id], vals)
return partner_ids
def _make_partner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
partner_ids = self._create_partner(cr, uid, data, context)
mod_obj = pool.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
res = mod_obj.read(cr, uid, result, ['res_id'])
value = {
'domain': "[]",
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'res.partner',
'res_id': partner_ids and int(partner_ids[0]) or False,
'view_id': False,
'type': 'ir.actions.act_window',
'search_view_id': res['res_id']
}
return value
states = {
'init': {
'actions': [_selectPartner],
'result': {'type': 'form', 'arch': case_form, 'fields': case_fields,
'state' : [('end', 'Cancel', 'gtk-cancel'),('create_partner', 'Create Partner', 'gtk-go-forward')]}
},
'create_partner': {
'actions': [],
'result': {'type': 'form', 'arch': partner_form, 'fields': partner_fields,
'state' : [('end', 'Cancel', 'gtk-cancel'),('create', 'Continue', 'gtk-go-forward')]}
},
'create': {
'actions': [],
'result': {'type': 'action', 'action': _make_partner, 'state': 'end'}
}
}
partner_create('crm.lead.partner_create')
class lead2opportunity(partner_create):
case_form = """<?xml version="1.0"?>
<form string="Convert To Opportunity">
<field name="name"/>
@@ -76,8 +185,7 @@ class lead2opportunity(wizard.interface):
pool = pooler.get_pool(cr.dbname)
case_obj = pool.get('crm.lead')
case = case_obj.browse(cr, uid, data['id'])
return {'name': case.name, 'probability': case.probability,
'planned_revenue':case.planned_revenue, 'partner_id':case.partner_id and case.partner_id.id or False}
return {'name': case.name, 'partner_id':case.partner_id and case.partner_id.id or False}
def _selectChoice(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
@@ -114,9 +222,7 @@ class lead2opportunity(wizard.interface):
'date_deadline': lead.date_deadline,
'partner_address_id':lead.partner_address_id.id,
'priority': lead.priority,
'partner_phone': lead.partner_phone,
'canal_id': lead.canal_id,
'som': lead.som,
'phone': lead.phone,
'email_from': lead.email_from
})
@@ -146,37 +252,7 @@ class lead2opportunity(wizard.interface):
return value
def _makePartner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
lead_case_obj = pool.get('crm.lead')
partner_obj = pool.get('res.partner')
contact_obj = pool.get('res.partner.address')
if data['form']['action'] == 'create':
for case in lead_case_obj.browse(cr, uid, data['ids']):
partner_id = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)])
if partner_id:
raise wizard.except_wizard(_('Warning !'),_('A partner is already existing with the same name.'))
else:
partner_id = partner_obj.create(cr, uid, {
'name': case.partner_name or case.name,
'user_id': case.user_id.id,
'comment': case.description,
})
contact_id = contact_obj.create(cr, uid, {
'partner_id': partner_id,
'name': case.partner_name2,
'phone': case.partner_phone,
'mobile': case.partner_mobile,
'email': case.email_from
})
else:
partner = partner_obj.browse(cr,uid,data['form']['partner_id'])
partner_id = partner.id
contact_id = partner.address and partner.address[0].id
lead_case_obj.write(cr, uid, data['ids'], {
'partner_id': partner_id,
'partner_address_id': contact_id
})
partner_ids = self._create_partner(cr, uid, data, context)
return {}
states = {
@@ -185,8 +261,8 @@ class lead2opportunity(wizard.interface):
'result': {'type':'choice','next_state':_selectChoice}
},
'create_partner': {
'actions': [],
'result': {'type': 'form', 'arch': partner_form, 'fields': partner_fields,
'actions': [partner_create._selectPartner],
'result': {'type': 'form', 'arch': partner_create.partner_form, 'fields': partner_create.partner_fields,
'state' : [('end', 'Cancel', 'gtk-cancel'),('opportunity', 'Skip', 'gtk-goto-last'), ('create', 'Continue', 'gtk-go-forward')]}
},
'create': {
@@ -206,86 +282,4 @@ class lead2opportunity(wizard.interface):
lead2opportunity('crm.lead.opportunity_set')
class partner_create(wizard.interface):
case_form = """<?xml version="1.0"?>
<form string="Convert To Partner">
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
<!--field name="close"/-->
</form>"""
case_fields = {
'close': {'type':'boolean', 'string':'Close Lead'}
}
def _selectPartner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case_obj = pool.get('crm.lead')
for case in case_obj.browse(cr, uid, data['ids']):
if case.partner_id:
raise wizard.except_wizard(_('Warning !'),
_('A partner is already defined on this lead.'))
return {}
def _makeOrder(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
mod_obj = pool.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
res = mod_obj.read(cr, uid, result, ['res_id'])
case_obj = pool.get('crm.lead')
partner_obj = pool.get('res.partner')
contact_obj = pool.get('res.partner.address')
for case in case_obj.browse(cr, uid, data['ids']):
partner_id = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)])
if partner_id:
raise wizard.except_wizard(_('Warning !'),_('A partner is already existing with the same name.'))
else:
partner_id = partner_obj.create(cr, uid, {
'name': case.partner_name or case.name,
'user_id': case.user_id.id,
'comment': case.description,
})
contact_id = contact_obj.create(cr, uid, {
'partner_id': partner_id,
'name': case.partner_name2,
'phone': case.partner_phone,
'mobile': case.partner_mobile,
'email': case.email_from
})
case_obj.write(cr, uid, data['ids'], {
'partner_id': partner_id,
'partner_address_id': contact_id
})
if data['form']['close']:
case_obj.case_close(cr, uid, data['ids'])
value = {
'domain': "[]",
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'res.partner',
'res_id': int(partner_id),
'view_id': False,
'type': 'ir.actions.act_window',
'search_view_id': res['res_id']
}
return value
states = {
'init': {
'actions': [_selectPartner],
'result': {'type': 'form', 'arch': case_form, 'fields': case_fields,
'state' : [('end', 'Cancel', 'gtk-cancel'),('confirm', 'Create Partner', 'gtk-go-forward')]}
},
'confirm': {
'actions': [],
'result': {'type': 'action', 'action': _makeOrder, 'state': 'end'}
}
}
partner_create('crm.lead.partner_create')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+108 -124
View File
@@ -27,26 +27,124 @@ import ir
import pooler
from tools.translate import _
class phonecall2opportunity(wizard.interface):
class partner_create(wizard.interface):
partner_form = """<?xml version="1.0"?>
case_form = """<?xml version="1.0"?>
<form string="Convert To Partner">
<label string="Are you sure you want to create a partner based on this phonecall ?" colspan="4"/>
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
<!--field name="close"/-->
</form>"""
case_fields = {
'close': {'type':'boolean', 'string':'Close Phonecall'}
}
partner_form = """<?xml version="1.0"?>
<form string="Convert To Partner">
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
<newline />
<field name="action"/>
<group attrs="{'invisible':[('action','=','create')]}">
<field name="partner_id" attrs="{'required':[('action','=','exist')]}"/>
<group attrs="{'invisible':[('action','!=','exist')]}">
<field name="partner_id"/>
</group>
</form>"""
partner_fields = {
'action': {'type':'selection',
'selection':[('exist','Link to an existing partner'),('create','Create a new partner')],
'string':'Action', 'required':True, 'default': lambda *a:'create'},
'string':'Action', 'required':True, 'default': lambda *a:'exist'},
'partner_id' : {'type':'many2one', 'relation':'res.partner', 'string':'Partner'},
}
def _selectPartner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case_obj = pool.get('crm.phonecall')
for case in case_obj.browse(cr, uid, data['ids']):
if case.partner_id:
raise wizard.except_wizard(_('Warning !'),
_('A partner is already defined on this phonecall.'))
return {}
def _create_partner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case_obj = pool.get('crm.phonecall')
partner_obj = pool.get('res.partner')
contact_obj = pool.get('res.partner.address')
partner_ids = []
partner_id = False
contact_id = False
for case in case_obj.browse(cr, uid, data['ids']):
if data['form']['action'] == 'create':
partner_id = partner_obj.create(cr, uid, {
'name': case.partner_name or case.name,
'user_id': case.user_id.id,
'comment': case.description,
})
contact_id = contact_obj.create(cr, uid, {
'partner_id': partner_id,
'name': case.name,
'phone': case.phone,
'mobile': case.mobile,
'email': case.email_from
})
else:
if data['form']['partner_id']:
partner = partner_obj.browse(cr,uid,data['form']['partner_id'])
partner_id = partner.id
contact_id = partner.address and partner.address[0].id
partner_ids.append(partner_id)
vals = {}
if partner_id:
vals.update({'partner_id': partner_id})
if contact_id:
vals.update({'partner_address_id': contact_id})
case_obj.write(cr, uid, [case.id], vals)
return partner_ids
def _make_partner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
partner_ids = self._create_partner(cr, uid, data, context)
mod_obj = pool.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
res = mod_obj.read(cr, uid, result, ['res_id'])
value = {
'domain': "[]",
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'res.partner',
'res_id': partner_ids and int(partner_ids[0]) or False,
'view_id': False,
'type': 'ir.actions.act_window',
'search_view_id': res['res_id']
}
return value
states = {
'init': {
'actions': [_selectPartner],
'result': {'type': 'form', 'arch': case_form, 'fields': case_fields,
'state' : [('end', 'Cancel', 'gtk-cancel'),('create_partner', 'Create Partner', 'gtk-go-forward')]}
},
'create_partner': {
'actions': [],
'result': {'type': 'form', 'arch': partner_form, 'fields': partner_fields,
'state' : [('end', 'Cancel', 'gtk-cancel'),('create', 'Continue', 'gtk-go-forward')]}
},
'create': {
'actions': [],
'result': {'type': 'action', 'action': _make_partner, 'state': 'end'}
}
}
partner_create('crm.phonecall.partner_create')
class phonecall2opportunity(partner_create):
case_form = """<?xml version="1.0"?>
<form string="Convert To Opportunity">
<field name="name"/>
@@ -75,10 +173,8 @@ class phonecall2opportunity(wizard.interface):
def _selectopportunity(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case_obj = pool.get('crm.phonecall')
for case in case_obj.browse(cr, uid, data['ids']):
if not case.partner_id:
return 'create_partner'
return {'name': case.name, 'partner_id':case.partner_id.id}
case = case_obj.browse(cr, uid, data['id'])
return {'name': case.name, 'partner_id':case.partner_id and case.partner_id.id or False}
def _selectChoice(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
@@ -138,37 +234,7 @@ class phonecall2opportunity(wizard.interface):
return value
def _makePartner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
phonecall_case_obj = pool.get('crm.phonecall')
partner_obj = pool.get('res.partner')
contact_obj = pool.get('res.partner.address')
if data['form']['action']=='create':
for case in phonecall_case_obj.browse(cr, uid, data['ids']):
partner_id = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)])
if partner_id:
raise wizard.except_wizard(_('Warning !'),_('A partner is already existing with the same name.'))
else:
partner_id = partner_obj.create(cr, uid, {
'name': case.partner_name or case.name,
'user_id': case.user_id.id,
'comment': case.description,
})
contact_id = contact_obj.create(cr, uid, {
'partner_id': partner_id,
'name': case.partner_name2,
'phone': case.partner_phone,
'mobile': case.partner_mobile,
'email': case.email_from
})
else:
partner = partner_obj.browse(cr,uid,data['form']['partner_id'])
partner_id=partner.id
contact_id=partner.address and partner.address[0].id
phonecall_case_obj.write(cr, uid, data['ids'], {
'partner_id': partner_id,
'partner_address_id': contact_id
})
partner_ids = self._create_partner(cr, uid, data, context)
return {}
states = {
@@ -178,8 +244,8 @@ class phonecall2opportunity(wizard.interface):
},
'create_partner': {
'actions': [],
'result': {'type': 'form', 'arch': partner_form, 'fields': partner_fields,
'state' : [('end', 'Cancel', 'gtk-cancel'),('create', 'Continue', 'gtk-go-forward')]}
'result': {'type': 'form', 'arch': partner_create.partner_form, 'fields': partner_create.partner_fields,
'state' : [('end', 'Cancel', 'gtk-cancel'),('opportunity', 'Skip', 'gtk-goto-last'),('create', 'Continue', 'gtk-go-forward')]}
},
'create': {
'actions': [],
@@ -239,86 +305,4 @@ class phonecall2meeting(wizard.interface):
}
phonecall2meeting('crm.phonecall.meeting_set')
class partner_create(wizard.interface):
case_form = """<?xml version="1.0"?>
<form string="Convert To Partner">
<label string="Are you sure you want to create a partner based on this phonecall ?" colspan="4"/>
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
<!--field name="close"/-->
</form>"""
case_fields = {
'close': {'type':'boolean', 'string':'Close Phonecall'}
}
def _selectPartner(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case_obj = pool.get('crm.phonecall')
for case in case_obj.browse(cr, uid, data['ids']):
if case.partner_id:
raise wizard.except_wizard(_('Warning !'),
_('A partner is already defined on this phonecall.'))
return {}
def _makeOrder(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
mod_obj = pool.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
res = mod_obj.read(cr, uid, result, ['res_id'])
case_obj = pool.get('crm.phonecall')
partner_obj = pool.get('res.partner')
contact_obj = pool.get('res.partner.address')
for case in case_obj.browse(cr, uid, data['ids']):
partner_id = partner_obj.search(cr, uid, [('name', '=', case.name)])
if partner_id:
raise wizard.except_wizard(_('Warning !'),_('A partner is already existing with the same name.'))
else:
partner_id = partner_obj.create(cr, uid, {
'name': case.name,
'user_id': case.user_id.id,
'comment': case.description,
})
contact_id = contact_obj.create(cr, uid, {
'partner_id': partner_id,
'name': case.name,
'phone': case.partner_phone,
'mobile': case.partner_mobile,
'email': case.email_from
})
case_obj.write(cr, uid, data['ids'], {
'partner_id': partner_id,
'partner_address_id': contact_id
})
if data['form']['close']:
case_obj.case_close(cr, uid, data['ids'])
value = {
'domain': "[]",
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'res.partner',
'res_id': int(partner_id),
'view_id': False,
'type': 'ir.actions.act_window',
'search_view_id': res['res_id']
}
return value
states = {
'init': {
'actions': [_selectPartner],
'result': {'type': 'form', 'arch': case_form, 'fields': case_fields,
'state' : [('end', 'Cancel', 'gtk-cancel'),('confirm', 'Create Partner', 'gtk-go-forward')]}
},
'confirm': {
'actions': [],
'result': {'type': 'action', 'action': _makeOrder, 'state': 'end'}
}
}
partner_create('crm.phonecall.partner_create')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-1
View File
@@ -46,6 +46,5 @@
'demo_xml': ['crm_bugs_demo.xml'],
'installable': True,
'active': False,
'certificate': '',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+13 -30
View File
@@ -18,29 +18,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import logging
import os
import tempfile
# A quick hack: if netsvc is not there, emulate it. Thus, work offline, too
try:
import netsvc
def log(lvl,msg):
netsvc.Logger().notifyChannel("index",lvl,msg)
except:
class netsvc:
LOG_NOTSET = 'notset'
LOG_DEBUG_RPC = 'debug_rpc'
LOG_DEBUG = 'debug'
LOG_DEBUG2 = 'debug2'
LOG_INFO = 'info'
LOG_WARNING = 'warn'
LOG_ERROR = 'error'
LOG_CRITICAL = 'critical'
def log(lvl,msg):
print msg
class NhException(Exception):
pass
@@ -130,7 +111,8 @@ def mime_match(mime, mdict):
return (None, None)
class contentIndex() :
class contentIndex():
__logger = logging.getLogger('addons.document.content_index')
def __init__(self):
self.mimes = {}
self.exts = {}
@@ -146,7 +128,7 @@ class contentIndex() :
f = True
if f:
log(netsvc.LOG_DEBUG, "Register content indexer: %r" % obj)
self.__logger.debug('Register content indexer: %s', obj)
if not f:
raise Exception("Your indexer should at least suport a mimetype or extension")
@@ -180,30 +162,31 @@ class contentIndex() :
result = fp.read()
fp.close()
mime2 = result.strip()
log(netsvc.LOG_DEBUG,"File gave us: %s" % mime2)
self.__logger.debug('File gave us: %s', mime2)
# Note that the temporary file still exists now.
mime,fobj = mime_match(mime2, self.mimes)
if not mime:
mime = mime2
except Exception, e:
log(netsvc.LOG_WARNING,"Cannot determine mime type: %s" % str(e))
except Exception:
self.__logger.exception('Cannot determine mime type')
try:
if fobj:
res = (mime, fobj.indexContent(content,filename,fname or realfname) )
else:
log(netsvc.LOG_DEBUG,"Have no object, return (%s, None)" % mime)
self.__logger.debug("Have no object, return (%s, None)", mime)
res = (mime, None )
except Exception, e:
log(netsvc.LOG_WARNING,"Could not index file, %s" % e)
except Exception:
self.__logger.exception("Could not index file %s (%s)",
filename, fname or realfname)
res = None
# If we created a tmp file, unlink it now
if not realfname and fname:
try:
os.unlink(fname)
except Exception, e:
log(netsvc.LOG_WARNING,"Could not unlink %s, %s" %(fname, e))
except Exception:
self.__logger.exception("Could not unlink %s", fname)
return res
+18 -18
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-09-18 13:26+0000\n"
"Last-Translator: Miro Glavić <glavicmiro@gmail.com>\n"
"PO-Revision-Date: 2010-03-01 13:04+0000\n"
"Last-Translator: Miroslav Stampar <miroslav.stampar@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-16 05:24+0000\n"
"X-Launchpad-Export-Date: 2010-03-02 04:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: l10n_lu
@@ -24,27 +24,27 @@ msgstr ""
#. module: l10n_lu
#: constraint:account.account.template:0
msgid "Error ! You can not create recursive account templates."
msgstr ""
msgstr "Greška ! Ne možete kreirati rekurzivne predloške računa."
#. module: l10n_lu
#: wizard_button:l10n_lu.tax.report.wizard,init,pdf:0
msgid "Print Taxes Statement"
msgstr ""
msgstr "Isprintaj poreznu stavku"
#. module: l10n_lu
#: wizard_field:l10n_lu.tax.report.wizard,init,tax_code_id:0
msgid "Company"
msgstr ""
msgstr "Tvrtka"
#. module: l10n_lu
#: model:account.account.type,name:l10n_lu.account_type_income
msgid "Income"
msgstr ""
msgstr "Prihodi"
#. module: l10n_lu
#: model:account.account.type,name:l10n_lu.account_type_cash_moves
msgid "Cash"
msgstr ""
msgstr "Gotovina"
#. module: l10n_lu
#: model:ir.actions.todo,note:l10n_lu.config_call_account_template
@@ -61,33 +61,33 @@ msgstr ""
#. module: l10n_lu
#: model:ir.actions.report.xml,name:l10n_lu.legal_vat
msgid "Luxembourg VAT Declaration"
msgstr ""
msgstr "Luksemburg VAT Deklaracija"
#. module: l10n_lu
#: model:account.account.type,name:l10n_lu.account_type_liability
msgid "Liability"
msgstr ""
msgstr "Obveza"
#. module: l10n_lu
#: model:ir.ui.menu,name:l10n_lu.legal_lu
msgid "Luxembourg"
msgstr ""
msgstr "Luksemburg"
#. module: l10n_lu
#: model:ir.actions.wizard,name:l10n_lu.wizard_print_vat
#: model:ir.ui.menu,name:l10n_lu.legal_lu_vat
msgid "VAT Declaration"
msgstr ""
msgstr "VAT Deklaracija"
#. module: l10n_lu
#: wizard_field:l10n_lu.tax.report.wizard,init,period_id:0
msgid "Period"
msgstr ""
msgstr "Razdoblje"
#. module: l10n_lu
#: model:account.account.type,name:l10n_lu.account_type_asset
msgid "Asset"
msgstr ""
msgstr "Sredstvo"
#. module: l10n_lu
#: model:account.account.type,name:l10n_lu.account_type_cash_equity
@@ -97,12 +97,12 @@ msgstr ""
#. module: l10n_lu
#: wizard_button:l10n_lu.tax.report.wizard,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Odustani"
#. module: l10n_lu
#: constraint:account.tax.code.template:0
msgid "Error ! You can not create recursive Tax Codes."
msgstr ""
msgstr "Greška ! Ne možete kreirati rekurzivne Porezne Kodove."
#. module: l10n_lu
#: model:ir.module.module,shortdesc:l10n_lu.module_meta_information
@@ -112,7 +112,7 @@ msgstr ""
#. module: l10n_lu
#: model:account.account.type,name:l10n_lu.account_type_expense
msgid "Expense"
msgstr ""
msgstr "Trošak"
#. module: l10n_lu
#: model:account.account.type,name:l10n_lu.account_type_creances
@@ -122,4 +122,4 @@ msgstr ""
#. module: l10n_lu
#: model:account.account.type,name:l10n_lu.account_type_root
msgid "View"
msgstr ""
msgstr "Prikaz"
+1 -1
View File
@@ -689,7 +689,7 @@ class mrp_production(osv.osv):
def action_in_production(self, cr, uid, ids):
move_ids = []
self.write(cr, uid, ids, {'state': 'in_production'})
self.write(cr, uid, ids, {'state': 'in_production','date_start':time.strftime('%Y-%m-%d %H:%M:%S')})
return True
def test_if_product(self, cr, uid, ids):
+2
View File
@@ -8,10 +8,12 @@
<record id="mrp_workcenter_0" model="mrp.workcenter">
<field name="name">Assembly workshop</field>
<field name="calendar_id" ref="hr.timesheet_group1"/>
<field name="type">hr</field>
</record>
<record id="mrp_workcenter_1" model="mrp.workcenter">
<field name="name">Repairs workshop</field>
<field name="calendar_id" ref="hr.timesheet_group1"/>
<field name="type">hr</field>
</record>
+8 -7
View File
@@ -461,8 +461,10 @@
<field name="product_id" on_change="product_id_change(product_id)" select="1"/>
<field name="product_qty"/>
<group colspan="2" col="3">
<field name="product_uom"/>
<field name="product_uom"/>
<button type="action" name="%(mrp.wizard_change_production_qty)d" string="Change Qty" states="ready,confirmed,in_production"/>
</group>
<label string="" colspan="2"/>
<field name="product_uos_qty" groups="product.group_uos"/>
<group colspan="2" col="3" groups="product.group_uos">
@@ -529,21 +531,17 @@
<field name="product_uom" />
</form>
</field>
<group col="9" colspan="4">
<field name="state" select="2"/>
<button name="action_compute" states="draft" string="Compute Data" type="object" icon="gtk-execute"/>
<button name="button_confirm" states="draft" string="Confirm Production" icon="gtk-apply"/>
<button name="button_produce" states="ready" string="Mark as Start" icon="gtk-execute"/>
<button name="button_produce" states="ready" string="Mark as Started" icon="gtk-execute"/>
<button name="%(act_mrp_product_produce)d" states="in_production" string="Produce" icon="gtk-ok" type="action"/>
<button name="force_production" states="confirmed,picking_except" string="Force Reservation" type="object" icon="gtk-jump-to"/>
<button name="button_cancel" states="draft,ready,confirmed,in_production,picking_except" string="Cancel" icon="gtk-cancel"/>
<button name="button_recreate" states="picking_except" string="Recreate Picking" icon="gtk-convert"/>
</group>
</page>
<page string="Scheduled Products">
<field colspan="4" name="product_lines" nolabel="1" widget="one2many_list"/>
</page>
</page>
<page string="Finished Products">
<field colspan="2" name="move_created_ids" nolabel="1" widget="one2many_list"
mode="tree,form" height="275" domain="[('state','&lt;&gt;', ('done', 'cancel'))]">
@@ -610,6 +608,9 @@
</field>
</page>
<page string="Scheduled Products">
<field colspan="4" name="product_lines" nolabel="1" widget="one2many_list"/>
</page>
<page string="Extra Information">
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
<field name="priority" groups="base.group_extended"/>
+31
View File
@@ -0,0 +1,31 @@
# Slovak translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-26 05:29+0000\n"
"PO-Revision-Date: 2010-03-01 19:28+0000\n"
"Last-Translator: Radoslav Sloboda <rado.sloboda@gmail.com>\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: 2010-03-02 04:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: olap_sale
#: model:ir.module.module,description:olap_sale.module_meta_information
msgid ""
"\n"
" Sale module will load the data in olap tables\n"
" "
msgstr ""
#. module: olap_sale
#: model:ir.module.module,shortdesc:olap_sale.module_meta_information
msgid "olap_sale"
msgstr "olap_sale"
+22 -22
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-02-03 06:25+0000\n"
"Last-Translator: <>\n"
"PO-Revision-Date: 2010-03-01 21:46+0000\n"
"Last-Translator: Jiří Jindra <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-16 05:25+0000\n"
"X-Launchpad-Export-Date: 2010-03-02 04:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: product_margin
@@ -40,12 +40,12 @@ msgstr ""
#. module: product_margin
#: field:product.product,date_to:0
msgid "To Date"
msgstr ""
msgstr "Do data"
#. module: product_margin
#: field:product.product,date_from:0
msgid "From Date"
msgstr ""
msgstr "Od data"
#. module: product_margin
#: selection:product.margins,init,invoice_state:0
@@ -56,7 +56,7 @@ msgstr ""
#. module: product_margin
#: model:ir.ui.menu,name:product_margin.menu_product_reporting
msgid "Reporting"
msgstr ""
msgstr "Hlášení"
#. module: product_margin
#: field:product.product,purchase_avg_price:0
@@ -99,7 +99,7 @@ msgstr ""
#. module: product_margin
#: view:product.product:0
msgid "Standard Price"
msgstr ""
msgstr "Standardní cena"
#. module: product_margin
#: help:product.product,purchase_num_invoiced:0
@@ -132,7 +132,7 @@ msgstr ""
#. module: product_margin
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
msgstr "Invalidní XML pro zobrazení architektury!"
#. module: product_margin
#: help:product.product,expected_margin:0
@@ -152,7 +152,7 @@ msgstr ""
#. module: product_margin
#: view:product.product:0
msgid "#Purchased"
msgstr ""
msgstr "#Koupeno"
#. module: product_margin
#: help:product.product,turnover:0
@@ -168,12 +168,12 @@ msgstr ""
#. module: product_margin
#: help:product.product,sale_avg_price:0
msgid "Avg. Price in Customer Invoices)"
msgstr ""
msgstr "Prům. cena ve faktůrách zákazníků)"
#. module: product_margin
#: wizard_view:product.margins,init:0
msgid "Select "
msgstr ""
msgstr "Zvolte "
#. module: product_margin
#: wizard_field:product.margins,init,invoice_state:0
@@ -195,43 +195,43 @@ msgstr ""
#. module: product_margin
#: field:product.product,normal_cost:0
msgid "Normal Cost"
msgstr ""
msgstr "Normální náklad"
#. module: product_margin
#: view:product.product:0
msgid "Purchases"
msgstr ""
msgstr "Nákupy"
#. module: product_margin
#: help:product.product,purchase_avg_price:0
msgid "Avg. Price in Supplier Invoices "
msgstr ""
msgstr "Prům. cena ve fakturách zásobitelů "
#. module: product_margin
#: field:product.product,total_margin:0
msgid "Total Margin"
msgstr ""
msgstr "Celkový rozsah"
#. module: product_margin
#: help:product.product,total_margin_rate:0
msgid "Total margin * 100 / Turnover"
msgstr ""
msgstr "Celkový rozsah * 100 / Obrat"
#. module: product_margin
#: view:product.product:0
msgid "Analysis Criteria"
msgstr ""
msgstr "Kritérium analýzy"
#. module: product_margin
#: selection:product.margins,init,invoice_state:0
#: selection:product.product,invoice_state:0
msgid "Open and Paid"
msgstr ""
msgstr "Otevřeno a zaplaceno"
#. module: product_margin
#: view:product.product:0
msgid "Sales"
msgstr ""
msgstr "Prodeje"
#. module: product_margin
#: model:ir.actions.wizard,name:product_margin.action_open_margin
@@ -258,7 +258,7 @@ msgstr ""
#. module: product_margin
#: wizard_button:product.margins,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Zrušit"
#. module: product_margin
#: view:product.product:0
@@ -268,9 +268,9 @@ msgstr ""
#. module: product_margin
#: help:product.product,sale_num_invoiced:0
msgid "Sum of Quantity in Customer Invoices"
msgstr ""
msgstr "Součet množství ve fakturách zákazníků"
#. module: product_margin
#: wizard_view:product.margins,init:0
msgid "View Stock of Products"
msgstr ""
msgstr "Zobrazit inventář produktů"
+28
View File
@@ -609,12 +609,40 @@
</field>
</record>
<record id="view_project_message_search" model="ir.ui.view">
<field name="name">project.message.search</field>
<field name="model">project.message</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Messages">
<group col="20" colspan="4">
<filter domain="[('date','&gt;=',time.strftime('%%Y-%%m-01'))]" icon="terp-project" string="This Month" />
<filter domain="[('date', '=', time.strftime('%%Y-%%m-%%d'))]" icon="terp-project" string="Today" />
<separator orientation="vertical"/>
<field name="subject"/>
<field name="project_id" select="1" widget="selection"/>
<field name="user_id" select="1" widget="selection">
<filter domain="[('user_id','=',uid)]" help="My Message" icon="gtk-execute" default="1"/>
</field>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="20">
<filter string="Project" icon="terp-project" domain="[]" context="{'group_by':'project_id'}"/>
<filter string="User" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Date" icon="terp-project" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
<record id="action_view_project_messages_tree" model="ir.actions.act_window">
<field name="name">Messages</field>
<field name="res_model">project.message</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_project_message_tree"/>
<field name="search_view_id" ref="view_project_message_search"/>
</record>
<!--<menuitem id="menu_message_main" name="Message" parent="base.menu_main_pm"/>-->
+695
View File
@@ -0,0 +1,695 @@
# Czech translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-26 06:01+0000\n"
"PO-Revision-Date: 2010-03-01 22:26+0000\n"
"Last-Translator: Jiří Jindra <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: 2010-03-02 04:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: survey
#: model:ir.ui.menu,name:survey.menu_survey_form
msgid "Surveys"
msgstr "Průzkumy"
#. module: survey
#: model:ir.actions.report.xml,name:survey.survey
msgid "Survey Analysis Report"
msgstr "Zpráva o analýze průzkumů"
#. module: survey
#: model:ir.actions.act_window,name:survey.act_survey_page_question
#: model:ir.ui.menu,name:survey.menu_survey_question_form1
msgid "Survey Questions"
msgstr "Otázky průzkumu"
#. module: survey
#: view:survey:0
#: view:survey.response:0
msgid "Set to draft"
msgstr ""
#. module: survey
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Špatný název modelu v definici akce"
#. module: survey
#: field:survey.history,date:0
msgid "Date started"
msgstr ""
#. module: survey
#: field:survey,history:0
msgid "History Lines"
msgstr ""
#. module: survey
#: wizard_field:wizard.send.invitation,init,mail:0
msgid "Body"
msgstr "Tělo"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_view_survey_name
#: model:ir.ui.menu,name:survey.menu_run_survey_form
msgid "Give Survey Response"
msgstr "Dát odpověď na průzkum"
#. module: survey
#: model:ir.actions.act_window,name:survey.act_survey_question
msgid "All Questions"
msgstr "Všechny otázky"
#. module: survey
#: field:survey,date_open:0
msgid "Survey Open Date"
msgstr "Datum zahájení průzkumu"
#. module: survey
#: model:ir.model,name:survey.model_survey_name_wiz
msgid "survey.name.wiz"
msgstr "survey.name.wiz"
#. module: survey
#: view:survey:0
msgid "Users Details"
msgstr "Detaily uživatele"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_view_survey_question_message
#: model:ir.model,name:survey.model_survey_question
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
msgid "Survey Question"
msgstr "Otázka průzkumu"
#. module: survey
#: help:survey,response_user:0
msgid "Set to one if you require only one response per user"
msgstr "Nastavit jedna pokud vyžadujete pouze jednu odpověď na uživatele"
#. module: survey
#: field:survey.page,title:0
msgid "Page Title"
msgstr "Název stránky"
#. module: survey
#: model:ir.model,name:survey.model_survey_history
msgid "Survey History"
msgstr "Historie průzkumů"
#. module: survey
#: field:survey.response,comment:0
#: field:survey.response.answer,comment:0
msgid "Notes"
msgstr "Poznámky"
#. module: survey
#: field:survey.question,tot_resp:0
msgid "Total Response"
msgstr "Celková odpověď"
#. module: survey
#: view:survey.question.wiz:0
msgid "Your Messages"
msgstr "Vaše zprávy"
#. module: survey
#: selection:survey,state:0
msgid "Cancelled"
msgstr "Zrušeno"
#. module: survey
#: field:survey.question,allow_comment:0
msgid "Allow Comment Field"
msgstr "Povolit pole komentáře"
#. module: survey
#: code:addons/survey/survey.py:0
#, python-format
msgid "Warning !"
msgstr "Varování !"
#. module: survey
#: wizard_view:wizard.send.invitation,init:0
#: wizard_field:wizard.send.invitation,init,send_mail_existing:0
msgid "Send reminder for existing user"
msgstr ""
#. module: survey
#: model:ir.actions.act_window,name:survey.action_new_survey_question_form
#: model:ir.ui.menu,name:survey.menu_new_survey_question_form1
msgid "New Survey Question"
msgstr "Nová otázka průzkumu"
#. module: survey
#: view:survey.response:0
msgid "Skip"
msgstr "Přeskočit"
#. module: survey
#: wizard_field:wizard.send.invitation,init,partner_ids:0
msgid "Partner"
msgstr "Partner"
#. module: survey
#: wizard_field:wizard.send.invitation,init,mail_subject:0
#: wizard_field:wizard.send.invitation,init,mail_subject_existing:0
msgid "Subject"
msgstr "Předmět"
#. module: survey
#: field:survey,max_response_limit:0
msgid "Maximum Response Limit"
msgstr "Maximální limit odpovědí"
#. module: survey
#: wizard_field:wizard.send.invitation,init,mail_from:0
msgid "From"
msgstr "Od"
#. module: survey
#: field:survey.response,response_type:0
msgid "Response Type"
msgstr "Druh odpovědia"
#. module: survey
#: field:survey.name.wiz,transfer:0
msgid "Page Transfer"
msgstr ""
#. module: survey
#: field:survey.answer,question_id:0
#: field:survey.page,question_ids:0
#: field:survey.question,question:0
#: field:survey.response,question_id:0
msgid "Question"
msgstr "Otázka"
#. module: survey
#: wizard_button:wizard.send.invitation,init,send:0
msgid "Send"
msgstr "Poslat"
#. module: survey
#: field:survey.answer,response:0
msgid "#Response"
msgstr "#Odpověď"
#. module: survey
#: field:survey.response,response_answer_ids:0
msgid "Response Answer"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "Response Summary"
msgstr ""
#. module: survey
#: wizard_view:wizard.send.invitation,init:0
#: wizard_field:wizard.send.invitation,init,send_mail:0
msgid "Send mail for new user"
msgstr "Zaslat mail pro nového uživatele"
#. module: survey
#: code:addons/survey/survey.py:0
#, python-format
msgid "Error !"
msgstr "Chyba !"
#. module: survey
#: rml:survey_analysis_report:0
msgid "Skipped Question"
msgstr "Přeskočená otázka"
#. module: survey
#: wizard_button:wizard.send.invitation,send,end:0
msgid "_Ok"
msgstr "_OK"
#. module: survey
#: selection:survey.response,response_type:0
msgid "Link"
msgstr "Odkaz"
#. module: survey
#: model:ir.ui.menu,name:survey.menu_survey_config
msgid "Configuration"
msgstr "Nastavení"
#. module: survey
#: model:ir.model,name:survey.model_survey_question_wiz
msgid "survey.question.wiz"
msgstr "survey.question.wiz"
#. module: survey
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "Invalidní XML pro zobrazení architektury!"
#. module: survey
#: model:ir.model,name:survey.model_survey_response_answer
#: view:survey.response.answer:0
msgid "Survey Response Answer"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "Page :-"
msgstr ""
#. module: survey
#: field:survey,response_user:0
msgid "Maximum Response per User"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "Total Started Survey :-"
msgstr ""
#. module: survey
#: view:survey.response:0
msgid "Comment"
msgstr "komentář"
#. module: survey
#: field:survey.response,date_modify:0
msgid "Modify Date"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "Answered Question"
msgstr ""
#. module: survey
#: code:addons/survey/survey.py:0
#, python-format
msgid "You can not give response for this survey more than %s times"
msgstr ""
#. module: survey
#: selection:survey.response,response_type:0
msgid "Manually"
msgstr ""
#. module: survey
#: model:ir.actions.act_window,name:survey.action_survey_form1
msgid "All Surveys"
msgstr ""
#. module: survey
#: view:survey:0
#: field:survey,users:0
msgid "Users"
msgstr ""
#. module: survey
#: wizard_view:wizard.send.invitation,init:0
msgid "Message"
msgstr ""
#. module: survey
#: field:survey.name.wiz,page_no:0
msgid "Page Number"
msgstr ""
#. module: survey
#: wizard_field:wizard.send.invitation,send,note:0
msgid "Log"
msgstr ""
#. module: survey
#: model:ir.actions.act_window,name:survey.action_survey_question_form
msgid "All Survey Questions"
msgstr ""
#. module: survey
#: field:survey,date_close:0
msgid "Survey Close Date"
msgstr ""
#. module: survey
#: view:survey.name.wiz:0
msgid "Start"
msgstr ""
#. module: survey
#: selection:survey,state:0
#: selection:survey.response,state:0
msgid "Draft"
msgstr ""
#. module: survey
#: selection:survey,state:0
msgid "Closed"
msgstr ""
#. module: survey
#: view:survey:0
#: field:survey.answer,answer:0
#: view:survey.page:0
#: view:survey.question:0
#: field:survey.question,answer_choice_ids:0
#: field:survey.response.answer,answer_id:0
msgid "Answer"
msgstr ""
#. module: survey
#: model:ir.actions.act_window,name:survey.action_survey_page_form
msgid "All Survey Pages"
msgstr ""
#. module: survey
#: field:survey.name.wiz,store_ans:0
msgid "Store Answer"
msgstr ""
#. module: survey
#: field:survey,state:0
#: field:survey.response,state:0
msgid "Status"
msgstr ""
#. module: survey
#: model:ir.module.module,shortdesc:survey.module_meta_information
msgid "Survey Module"
msgstr ""
#. module: survey
#: model:ir.module.module,description:survey.module_meta_information
msgid ""
"\n"
" This module is used for surveing. It depends on the answers or reviews "
"of some questions by different users.\n"
" A survey may have multiple pages. Each page may contain multiple "
"questions and each question may have multiple answers.\n"
" Different users may give different answers of question and according to "
"that survey is done. \n"
" Partners are also sent mails with user name and password for the "
"invitation of the survey\n"
" "
msgstr ""
#. module: survey
#: view:survey:0
#: view:survey.name.wiz:0
msgid "Survey Details"
msgstr ""
#. module: survey
#: field:survey.question,is_require_answer:0
msgid "Required Answer"
msgstr ""
#. module: survey
#: field:survey.history,user_id:0
#: field:survey.response,response_id:0
msgid "User"
msgstr ""
#. module: survey
#: field:res.users,survey_id:0
msgid "Groups"
msgstr ""
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
#: field:survey.question,response_ids:0
#: view:survey.response:0
#: field:survey.response.answer,response_id:0
msgid "Response"
msgstr ""
#. module: survey
#: model:ir.actions.act_window,name:survey.action_new_survey_form1
#: model:ir.ui.menu,name:survey.menu_new_survey_form
msgid "New Survey"
msgstr ""
#. module: survey
#: model:ir.ui.menu,name:survey.main_menu_survey
msgid "Survey Management"
msgstr ""
#. module: survey
#: selection:survey.response,state:0
msgid "Skiped"
msgstr ""
#. module: survey
#: model:ir.model,name:survey.model_survey_answer
#: view:survey.answer:0
msgid "Survey Answer"
msgstr ""
#. module: survey
#: code:addons/survey/wizard/wizard_survey.py:0
#, python-format
msgid "Attention!"
msgstr ""
#. module: survey
#: model:ir.model,name:survey.model_survey
#: view:res.users:0
#: view:survey:0
#: field:survey.history,survey_id:0
#: view:survey.name.wiz:0
#: field:survey.name.wiz,survey_id:0
#: field:survey.page,survey_id:0
#: field:survey.question,survey:0
msgid "Survey"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "Total Completed Survey :-"
msgstr ""
#. module: survey
#: view:survey:0
msgid "History"
msgstr ""
#. module: survey
#: view:survey:0
#: view:survey.answer:0
#: view:survey.page:0
#: view:survey.question:0
msgid "Seq"
msgstr ""
#. module: survey
#: field:survey,tot_comp_survey:0
msgid "Total Completed Survey"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "Response Percentage"
msgstr ""
#. module: survey
#: field:survey.question.wiz,name:0
msgid "Number"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "Survey Title :-"
msgstr ""
#. module: survey
#: view:survey.response:0
msgid "Done"
msgstr ""
#. module: survey
#: code:addons/survey/survey.py:0
#, python-format
msgid "'\" + que_rec[0]['question'] + \"' This question requires an answer."
msgstr ""
#. module: survey
#: view:survey:0
#: view:survey.name.wiz:0
#: wizard_button:wizard.send.invitation,init,end:0
msgid "Cancel"
msgstr ""
#. module: survey
#: view:survey:0
msgid "Close"
msgstr ""
#. module: survey
#: view:survey:0
#: selection:survey,state:0
msgid "Open"
msgstr ""
#. module: survey
#: field:survey,tot_start_survey:0
msgid "Total Started Survey"
msgstr ""
#. module: survey
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
#. module: survey
#: model:ir.model,name:survey.model_survey_response
#: view:survey.response:0
msgid "Survey Response"
msgstr ""
#. module: survey
#: field:survey.answer,average:0
msgid "#Avg"
msgstr ""
#. module: survey
#: field:survey,responsible_id:0
msgid "Responsible"
msgstr ""
#. module: survey
#: selection:survey.response,state:0
msgid "Answered"
msgstr ""
#. module: survey
#: view:survey:0
msgid "Other"
msgstr ""
#. module: survey
#: model:ir.actions.wizard,name:survey.wizard_send_invitation
#: wizard_view:wizard.send.invitation,init:0
msgid "Send Invitation"
msgstr ""
#. module: survey
#: field:survey,title:0
msgid "Survey Title"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "%"
msgstr ""
#. module: survey
#: view:survey:0
#: field:survey,note:0
#: field:survey.name.wiz,note:0
#: view:survey.page:0
#: field:survey.page,note:0
#: view:survey.response:0
msgid "Description"
msgstr ""
#. module: survey
#: view:survey.name.wiz:0
msgid "Select Survey"
msgstr ""
#. module: survey
#: model:ir.actions.act_window,name:survey.action_new_survey_page_form
#: model:ir.ui.menu,name:survey.menu_new_survey_page_form1
msgid "New Survey Page"
msgstr ""
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: field:survey.question,page_id:0
msgid "Survey Page"
msgstr ""
#. module: survey
#: model:ir.actions.act_window,name:survey.act_survey_answer
msgid "Survey Answers"
msgstr ""
#. module: survey
#: view:survey.page:0
msgid "#Questions"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "Que:"
msgstr ""
#. module: survey
#: field:survey,page_ids:0
msgid "Page"
msgstr ""
#. module: survey
#: wizard_view:wizard.send.invitation,send:0
msgid "User creation"
msgstr ""
#. module: survey
#: field:survey.answer,sequence:0
#: field:survey.page,sequence:0
#: field:survey.question,sequence:0
msgid "Sequence"
msgstr ""
#. module: survey
#: wizard_view:wizard.send.invitation,send:0
msgid "Results :"
msgstr ""
#. module: survey
#: code:addons/survey/wizard/wizard_survey.py:0
#, python-format
msgid "%sSurvey is not in open state"
msgstr ""
#. module: survey
#: wizard_view:wizard.send.invitation,init:0
msgid "Select Partner"
msgstr ""
#. module: survey
#: field:survey.response,date_create:0
msgid "Create Date"
msgstr ""
#. module: survey
#: model:ir.actions.act_window,name:survey.act_survey_pages
#: model:ir.model,name:survey.model_survey_page
#: model:ir.ui.menu,name:survey.menu_survey_page_form1
msgid "Survey Pages"
msgstr ""
#. module: survey
#: rml:survey_analysis_report:0
msgid "Response Count"
msgstr ""
#. module: survey
#: field:survey.name.wiz,page:0
msgid "Page Position"
msgstr ""
+8 -8
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-02-05 16:04+0000\n"
"Last-Translator: Konki <pavel.konkol@seznam.cz>\n"
"PO-Revision-Date: 2010-03-01 22:00+0000\n"
"Last-Translator: Jiří Jindra <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-06 04:53+0000\n"
"X-Launchpad-Export-Date: 2010-03-02 04:41+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: wiki
@@ -41,12 +41,12 @@ msgstr "Tvůrce"
#. module: wiki
#: model:ir.actions.wizard,name:wiki.wizard_open_page
msgid "Open Page"
msgstr "Otevřená sránka"
msgstr "Otevřít stránku"
#. module: wiki
#: field:wiki.groups.link,action_id:0
msgid "Menu"
msgstr "Menu"
msgstr "Nabídka"
#. module: wiki
#: field:wiki.groups,child_ids:0
@@ -100,7 +100,7 @@ msgstr "Wiki skupina"
#. module: wiki
#: field:wiki.wiki,name:0
msgid "Title"
msgstr "Nadpis"
msgstr "Název"
#. module: wiki
#: field:wiki.wiki,history_id:0
@@ -331,7 +331,7 @@ msgstr "Obsah"
#: wizard_button:wiki.create.menu,init,end:0
#: wizard_button:wiki.make.index,init,end:0
msgid "Cancel"
msgstr "Ukončení"
msgstr "Zrušit"
#. module: wiki
#: field:wizard.wiki.history.show_diff,diff:0
@@ -341,4 +341,4 @@ msgstr "Rozdíl"
#. module: wiki
#: field:wiki.wiki,review:0
msgid "Need Review"
msgstr "Nemá kontrolu"
msgstr "Potřebuje kontrolu"