uco (OpenERP) 2010-02-05 16:10:39 +05:30
commit 242cd6f61a
45 changed files with 1655 additions and 668 deletions

View File

@ -327,7 +327,7 @@
<field name="arch" type="xml">
<search string="Search Invoice">
<group col="10" colspan="4">
<filter icon="terp-account" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/>
<filter icon="terp-account" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/>
<filter icon="terp-account" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices"/>
<filter icon="terp-account" string="Unpaid" domain="[('state','in',('open','cancel'))]" help="Unpaid Invoices"/>
<separator orientation="vertical"/>
@ -335,7 +335,12 @@
<field name="partner_id" select='1'/>
<field name="amount_total" string="Price" select='1'/>
<field name="origin" select='1'/>
</group>
</group>
<group expand="context.get('report',False)" string="Group By..." colspan="4" col="10">
<filter string="By Partner" icon="terp-account" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="By State" icon="terp-account" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Date Invoice" icon="terp-account" domain="[]" context="{'group_by':'date_invoice'}"/>
</group>
</search>
</field>
</record>

View File

@ -30,9 +30,14 @@ import pooler
import pytz
import re
import tools
import vobject
import time
try:
import vobject
except ImportError:
raise osv.except_osv('vobject Import Error!','Please install python-vobject from http://vobject.skyhouseconsulting.com/')
# O-1 Optional and can come only once
# O-n Optional and can come more than once
# R-1 Required and can come only once
@ -66,33 +71,33 @@ def openobjectid2uid(cr, uidval, oomodel):
return value
def get_attribute_mapping(cr, uid, calname, context={}):
if not context:
context = {}
pool = pooler.get_pool(cr.dbname)
field_obj = pool.get('basic.calendar.fields')
type_obj = pool.get('basic.calendar.lines')
domain = [('object_id.model', '=', context.get('model'))]
if context.get('calendar_id'):
domain.append(('calendar_id', '=', context.get('calendar_id')))
type_id = type_obj.search(cr, uid, domain)
fids = field_obj.search(cr, uid, [('type_id', '=', type_id[0])])
res = {}
for field in field_obj.browse(cr, uid, fids):
attr = field.name.name
res[attr] = {}
res[attr]['field'] = field.field_id.name
res[attr]['type'] = field.field_id.ttype
if field.fn == 'hours':
res[attr]['type'] = "timedelta"
if res[attr]['type'] in ('one2many', 'many2many', 'many2one'):
res[attr]['object'] = field.field_id.relation
elif res[attr]['type'] in ('selection') and field.mapping:
res[attr]['mapping'] = eval(field.mapping)
if not res.get('uid', None):
res['uid'] = {}
res['uid']['field'] = 'id'
res['uid']['type'] = "integer"
return res
if not context:
context = {}
pool = pooler.get_pool(cr.dbname)
field_obj = pool.get('basic.calendar.fields')
type_obj = pool.get('basic.calendar.lines')
domain = [('object_id.model', '=', context.get('model'))]
if context.get('calendar_id'):
domain.append(('calendar_id', '=', context.get('calendar_id')))
type_id = type_obj.search(cr, uid, domain)
fids = field_obj.search(cr, uid, [('type_id', '=', type_id[0])])
res = {}
for field in field_obj.browse(cr, uid, fids):
attr = field.name.name
res[attr] = {}
res[attr]['field'] = field.field_id.name
res[attr]['type'] = field.field_id.ttype
if field.fn == 'hours':
res[attr]['type'] = "timedelta"
if res[attr]['type'] in ('one2many', 'many2many', 'many2one'):
res[attr]['object'] = field.field_id.relation
elif res[attr]['type'] in ('selection') and field.mapping:
res[attr]['mapping'] = eval(field.mapping)
if not res.get('uid', None):
res['uid'] = {}
res['uid']['field'] = 'id'
res['uid']['type'] = "integer"
return res
def map_data(cr, uid, obj):
vals = {}
@ -345,13 +350,13 @@ class Calendar(CalDAV, osv.osv):
_columns = {
'name': fields.char("Name", size=64),
'line_ids': fields.one2many('basic.calendar.lines', 'calendar_id', 'Calendar Lines'),
'active': fields.boolean('Active'),
'active': fields.boolean('Active'),
'create_date': fields.datetime('Created Date'),
'write_date': fields.datetime('Modifided Date'),
}
_defaults = {
'active': lambda *a: True,
'active': lambda *a: True,
}
def export_cal(self, cr, uid, ids, vobj='vevent', context={}):
@ -413,7 +418,7 @@ class basic_calendar_line(osv.osv):
}
_defaults = {
'domain': lambda *a: '[]',
'domain': lambda *a: '[]',
}
basic_calendar_line()
@ -422,11 +427,11 @@ class basic_calendar_attribute(osv.osv):
_name = 'basic.calendar.attributes'
_description = 'Calendar attributes'
_columns = {
'name': fields.char("Name", size=64, required=True),
'name': fields.char("Name", size=64, required=True),
'type': fields.selection([('vevent', 'Event'), ('vtodo', 'TODO'), \
('alarm', 'Alarm'), \
('attendee', 'Attendee')], \
string="Type", size=64, required=True),
string="Type", size=64, required=True),
}
basic_calendar_attribute()
@ -436,20 +441,20 @@ class basic_calendar_fields(osv.osv):
_description = 'Calendar fields'
_columns = {
'field_id': fields.many2one('ir.model.fields', 'OpenObject Field'),
'name': fields.many2one('basic.calendar.attributes', 'Name', required=True),
'field_id': fields.many2one('ir.model.fields', 'OpenObject Field'),
'name': fields.many2one('basic.calendar.attributes', 'Name', required=True),
'type_id': fields.many2one('basic.calendar.lines', 'Type', \
required=True, ondelete='cascade'),
'expr': fields.char("Expression", size=64),
'fn': fields.selection( [('field', 'Use the field'),
('const', 'Expression as constant'),
('hours', 'Interval in hours'),
],'Function'),
required=True, ondelete='cascade'),
'expr': fields.char("Expression", size=64),
'fn': fields.selection([('field', 'Use the field'),
('const', 'Expression as constant'),
('hours', 'Interval in hours'),
], 'Function'),
'mapping': fields.text('Mapping'),
}
_defaults = {
'fn': lambda *a: 'field',
'fn': lambda *a: 'field',
}
def check_line(self, cr, uid, vals, name, context=None):
@ -471,7 +476,7 @@ class basic_calendar_fields(osv.osv):
name = cr.fetchone()
name = name[0]
if name in ('valarm', 'attendee'):
self.check_line(cr, uid, vals, name, context=context)
self.check_line(cr, uid, vals, name, context=context)
cr.execute("Select count(id) from basic_calendar_fields \
where name=%s and type_id=%s" % (vals.get('name'), vals.get('type_id')))
res = cr.fetchone()
@ -487,7 +492,7 @@ class basic_calendar_fields(osv.osv):
field = self.browse(cr, uid, id, context=context)
name = field.name.name
if name in ('valarm', 'attendee'):
self.check_line(cr, uid, vals, name, context=context)
self.check_line(cr, uid, vals, name, context=context)
qry = "Select count(id) from basic_calendar_fields \
where name=%s and type_id=%s" % (field.name.id, field.type_id.id)
cr.execute(qry)

View File

@ -40,7 +40,7 @@
""",
'author': 'Tiny',
'website': 'http://www.openerp.com',
'depends': ['base','process','sale'],
'depends': ['base','process'],
'init_xml': [],
'update_xml': [
'security/ir.model.access.csv',

View File

@ -419,7 +419,18 @@
res_model="res.partner.job"
src_model="res.partner"
/>
<menuitem name="Contacts" id="menu_procurement_mgt_partner_contact_form" action="action_partner_contact_form"
parent="purchase.menu_procurement_management_supplier"/>
<!-- Act window defining a shorcut on partner address to open all his jobs -->
<act_window
id="act_res_partner_jobs" name="Open Jobs"
domain="[('address_id', '=', active_id)]"
res_model="res.partner.job"
src_model="res.partner.address"
/>
<menuitem icon="terp-purchase" id="base.menu_purchase_root" name="Procurement Management"/>
<menuitem id="base.menu_procurement_management_supplier" name="Suppliers"
parent="base.menu_purchase_root" sequence="3"/>
<menuitem name="Contacts" id="menu_partner_contact_supplier_form" action="action_partner_contact_form" parent = "base.menu_procurement_management_supplier" sequence="2"/>
</data>
</openerp>

View File

@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-04 04:47+0000\n"
"X-Launchpad-Export-Date: 2010-02-05 05:01+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_module_merge

View File

@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-12-07 16:08+0000\n"
"Last-Translator: Pedro_Maschio <pedro.bicudo@tgtconsult.com.br>\n"
"PO-Revision-Date: 2010-02-04 10:26+0000\n"
"Last-Translator: Holverat Bortolossi <holverat@gmail.com>\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: 2009-12-16 05:26+0000\n"
"X-Launchpad-Export-Date: 2010-02-05 05:01+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_module_quality
@ -27,18 +27,18 @@ msgstr "Pontuação Final (%)"
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"O nome do objeto precisa iniciar com x_ e não conter nenhum caracter "
"O nome do Objeto deve começar com x_ e não deve conter nenhum caracter "
"especial!"
#. module: base_module_quality
#: model:ir.module.module,shortdesc:base_module_quality.module_meta_information
msgid "Base module quality"
msgstr "Qualidade do módulo base"
msgstr "Módulo base da qualidade"
#. module: base_module_quality
#: field:module.quality.check,name:0
msgid "Rated Module"
msgstr "Nota do Módulo"
msgstr "Módulo Avaliado"
#. module: base_module_quality
#: view:module.quality.detail:0
@ -53,7 +53,7 @@ msgstr "Nota"
#. module: base_module_quality
#: field:module.quality.detail,state:0
msgid "State"
msgstr "Status"
msgstr "Estado"
#. module: base_module_quality
#: field:module.quality.detail,detail:0

View File

@ -82,7 +82,7 @@ html_invitation = """
<td width="100%%">You are invited for <i>%(company)s</i> Event.</td>
</tr>
<tr>
<td width="100%%">Below are the details of event :</td>
<td width="100%%">Below are the details of event:</td>
</tr>
</table>
@ -237,7 +237,7 @@ class calendar_attendee(osv.osv):
result[id][name] = uid
if name == 'language':
user_obj = self.pool.get('res.users')
lang = user_obj.read(cr, uid, uid, ['context_lang']) ['context_lang']
lang = user_obj.read(cr, uid, uid, ['context_lang'])['context_lang']
result[id][name] = lang.replace('_', '-')
return result
@ -285,10 +285,10 @@ request was delegated to"),
'del_from_user_ids': fields.many2many('calendar.attendee', 'att_del_from_user_rel', \
'attendee_id', 'user_id', 'Users'),
'sent_by': fields.function(_compute_data, method=True, string='Sent By', type="char", multi='sent_by', store=True, size=124, help="Specify the user that is acting on behalf of the calendar user"),
'sent_by_uid': fields.function(_compute_data, method=True, string='Sent By User', type="many2one", relation="res.users", multi='sent_by_uid'),
'sent_by_uid': fields.function(_compute_data, method=True, string='Sent By User', type="many2one", relation="res.users", multi='sent_by_uid'),
'cn': fields.function(_compute_data, method=True, string='Common name', type="char", size=124, multi='cn', store=True),
'dir': fields.char('URI Reference', size=124, help="Reference to the URI that points to the directory information corresponding to the attendee."),
'language': fields.function(_compute_data, method=True, string='Language', type="selection", selection=_lang_get, multi='language', store=True, help="To specify the language for text values in a property or property parameter."),
'language': fields.function(_compute_data, method=True, string='Language', type="selection", selection=_lang_get, multi='language', store=True, help="To specify the language for text values in a property or property parameter."),
'user_id': fields.many2one('res.users', 'User'),
'partner_address_id': fields.many2one('res.partner.address', 'Contact'),
'partner_id':fields.related('partner_address_id', 'partner_id', type='many2one', relation='res.partner', string='Partner'),
@ -424,7 +424,7 @@ are both optional, but if one occurs, so MUST the other"""),
model_obj = self.pool.get(model)
for datas in model_obj.browse(cr, uid, ids):
alarm_ids = alarm_obj.search(cr, uid, [('model_id', '=', model_id), ('res_id', '=', datas.id)])
if alarm_ids and len(alarm_ids):
if alarm_ids:
alarm_obj.unlink(cr, uid, alarm_ids)
cr.execute('Update %s set caldav_alarm_id=NULL, alarm_id=NULL\
where id=%s' % (model_obj._table, datas.id))
@ -486,7 +486,7 @@ or contains the text to be used for display"""),
res = super(calendar_alarm, self).create(cr, uid, vals, context)
return res
def do_run_scheduler(self, cr, uid, automatic=False, use_new_cursor=False, \
def do_run_scheduler(self, cr, uid, automatic=False, use_new_cursor=False,\
context=None):
if not context:
context = {}
@ -535,7 +535,7 @@ or contains the text to be used for display"""),
mail_to.append(att.user_id.address_id.email)
tools.email_send(
tools.config.get('email_from',False),
tools.config.get('email_from', False),
mail_to,
sub,
body
@ -551,7 +551,7 @@ class calendar_event(osv.osv):
_description = "Calendar Event"
__attribute__ = {}
def _tz_get(self,cr,uid, context={}):
def _tz_get(self, cr, uid, context={}):
return [(x.lower(), x) for x in pytz.all_timezones]
def onchange_rrule_type(self, cr, uid, ids, rtype, *args, **argv):
@ -590,7 +590,7 @@ class calendar_event(osv.osv):
'name': fields.char('Description', size=64, required=True),
'date': fields.datetime('Date'),
'date_deadline': fields.datetime('Deadline'),
'create_date': fields.datetime('Created' ,readonly=True),
'create_date': fields.datetime('Created', readonly=True),
'duration': fields.function(_get_duration, method=True, \
fnct_inv=_set_duration, string='Duration'),
'description': fields.text('Your action'),
@ -613,7 +613,7 @@ rule or repeating pattern for anexception to a recurrence set"),
'caldav_alarm_id': fields.many2one('calendar.alarm', 'Alarm'),
'recurrent_uid': fields.integer('Recurrent ID'),
'recurrent_id': fields.datetime('Recurrent ID date'),
'vtimezone': fields.selection(_tz_get, 'Timezone', size=64),
'vtimezone': fields.selection(_tz_get, 'Timezone', size=64),
'user_id': fields.many2one('res.users', 'Responsible'),
}
@ -637,8 +637,8 @@ rule or repeating pattern for anexception to a recurrence set"),
def check_import(self, cr, uid, vals, context={}):
ids = []
for val in vals:
exists, r_id = base_calendar.uid2openobjectid(cr, val['id'], self._name, \
val.get('recurrent_id'))
exists, r_id = base_calendar.uid2openobjectid(cr, val['id'], \
self._name, val.get('recurrent_id'))
if val.has_key('create_date'): val.pop('create_date')
val['caldav_url'] = context.get('url') or ''
val.pop('id')
@ -752,8 +752,8 @@ rule or repeating pattern for anexception to a recurrence set"),
start_date = arg[2]
elif arg[1] in ('<', '<='):
until_date = arg[2]
res = super(calendar_event, self).search(cr, uid, args_without_date, offset,
limit, order, context, count)
res = super(calendar_event, self).search(cr, uid, args_without_date, \
offset, limit, order, context, count)
return self.get_recurrent_ids(cr, uid, res, start_date, until_date, limit)
@ -825,8 +825,7 @@ rule or repeating pattern for anexception to a recurrence set"),
for record in self.read(cr, uid, [caldav_id2real_id(id)], \
['date', 'rrule', 'exdate']):
if record['rrule']:
exdate = (record['exdate'] and (record['exdate'] + ',') or '') + \
''.join((re.compile('\d')).findall(date_new)) + 'Z'
exdate = (record['exdate'] and (record['exdate'] + ',') or '') + ''.join((re.compile('\d')).findall(date_new)) + 'Z'
if record['date'] == date_new:
res = self.write(cr, uid, [caldav_id2real_id(id)], {'exdate': exdate})
else:
@ -867,14 +866,14 @@ class calendar_todo(osv.osv):
return True
_columns = {
'date': fields.function(_get_date, method=True, fnct_inv=_set_date, \
string='Duration', store=True, type='datetime'),
'date': fields.function(_get_date, method=True, fnct_inv=_set_date, \
string='Duration', store=True, type='datetime'),
'duration': fields.integer('Duration'),
}
__attribute__ = {}
def import_cal(self, cr, uid, data, data_id=None, context={}):
def import_cal(self, cr, uid, data, data_id=None, context={}):
todo_obj = self.pool.get('basic.calendar.todo')
vals = todo_obj.import_cal(cr, uid, data, context=context)
return self.check_import(cr, uid, vals, context=context)
@ -954,7 +953,7 @@ class ir_values(osv.osv):
new_model.append((data[0], caldav_id2real_id(data[1])))
else:
new_model.append(data)
return super(ir_values, self).set(cr, uid, key, key2, name, new_model, \
return super(ir_values, self).set(cr, uid, key, key2, name, new_model,\
value, replace, isobject, meta, preserve_user, company)
def get(self, cr, uid, key, key2, models, meta=False, context={}, \

View File

@ -651,23 +651,22 @@ class crm_case(osv.osv):
def onchange_partner_id(self, cr, uid, ids, part, email=False):
if not part:
return {'value':{'partner_address_id': False}}
return {'value':{'partner_address_id': False,
'email_from': False,
'partner_name2': False}}
addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact'])
data = {'partner_address_id':addr['contact']}
if addr['contact'] and not email:
data['email_from'] = self.pool.get('res.partner.address').browse(cr, uid, addr['contact']).email
data = {'partner_address_id': addr['contact']}
data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value'])
return {'value':data}
def onchange_partner_address_id(self, cr, uid, ids, part, email=False):
if not part:
return {'value':{}}
def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
data = {}
if not email:
data['email_from'] = self.pool.get('res.partner.address').browse(cr, uid, part).email
return {'value':data}
if not add:
return {'value': {'email_from': False, 'partner_name2': False}}
address= self.pool.get('res.partner.address').browse(cr, uid, add)
data['email_from'] = address.email
data['partner_name2'] = address.name or ''
return {'value': data}
def case_close(self, cr, uid, ids, *args):
cases = self.browse(cr, uid, ids)
@ -832,19 +831,21 @@ class crm_email_add_cc_wizard(osv.osv_memory):
if not context:
return {}
history_line = self.pool.get('crm.case.history').browse(cr, uid, context['active_id'])
crm_case = self.pool.get('crm.case')
case = history_line.log_id.case_id
model = history_line.log_id.model_id.model
model_pool = self.pool.get(model)
case = model_pool.browse(cr, uid, history_line.log_id.res_id)
body = history_line.description.replace('\n','\n> ')
flag = tools.email_send(
case.user_id.address_id.email,
[case.email_from],
subject or '['+str(case.id)+'] '+case.name,
crm_case.format_body(body),
model_pool.format_body(body),
email_cc = [email],
openobject_id=str(case.id)
openobject_id=str(case.id),
subtype="html"
)
if flag:
crm_case.write(cr, uid, case.id, {'email_cc' : case.email_cc and case.email_cc +','+ email or email})
model_pool.write(cr, uid, case.id, {'email_cc' : case.email_cc and case.email_cc +','+ email or email})
else:
raise osv.except_osv(_('Email Fail!'),("Lastest Email is not sent successfully"))
return {}

View File

@ -10,7 +10,6 @@
<field name="res_model">crm.lead</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="crm_case_tree_view_leads"/>
<field name="context" eval="{'default_state':'open'}"/>
<field name="search_view_id" ref="crm.view_crm_case_leads_filter"/>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_view_leads_all">

View File

@ -47,8 +47,11 @@
<notebook>
<page string="Leads">
<separator colspan="4" string="Communication"/>
<field name="partner_id" string="Partner"/>
<field name="partner_address_id" string="Contact" on_change="onchange_partner_address_id(partner_address_id, email_from)"/>
<field name="partner_id" string="Partner"
on_change="onchange_partner_id(partner_id)" />
<field name="partner_address_id"
string="Contact"
on_change="onchange_partner_address_id(partner_address_id, email_from)" />
<field name="partner_phone"/>
<field name="partner_mobile"/>
<separator colspan="4" string="Status and Categarization"/>
@ -174,7 +177,7 @@
/>
</field>
<field name="state" select="1">
<filter icon="gtk-new" domain="[('state','=','draft')]" help="Draft Leads"/>
<filter icon="gtk-new" domain="[('state','in',('draft', 'open'))]" help="Current Leads"/>
<filter icon="gtk-yes" domain="[('state','=','open')]" help="Open Leads"/>
</field>
<field name="section_id" select="1" default="context.get('section_id', False)" widget="selection" string="Section">

View File

@ -1484,7 +1484,6 @@ msgstr "borrador"
#. module: crm
#: model:crm.case.stage,name:crm.stage_claim5
#: model:crm.case.stage,name:crm.stage_meet4
#, fuzzy
msgid "Awaiting Response"
msgstr "Enviar correo ao responsábel"

View File

@ -913,7 +913,6 @@ msgstr ""
#: model:crm.case.section,name:crm.section_support3 view:crm.opportunity:0
#: model:ir.ui.menu,name:crm.menu_crm_case_opp
#: model:process.node,name:crm.process_node_opportunities0
#, fuzzy
msgid "Opportunities"
msgstr "Galimybės"
@ -1470,7 +1469,6 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead4
#, fuzzy
msgid "Converted"
msgstr "Sukurta"
@ -1498,7 +1496,6 @@ msgstr "Istorija"
#. module: crm
#: model:ir.model,name:crm.model_crm_job
#, fuzzy
msgid "Job Cases"
msgstr "Klausimai"
@ -1517,7 +1514,6 @@ msgstr ""
#: field:report.crm.case.section.categ.stage,state:0
#: field:report.crm.case.section.categ2,state:0
#: field:report.crm.case.section.stage,state:0
#, fuzzy
msgid "State"
msgstr "Būklė"
@ -1585,13 +1581,11 @@ msgstr "Bendras aprašymas"
#. module: crm
#: view:crm.meeting:0
#, fuzzy
msgid "Other Info"
msgstr "Papildoma informacija"
#. module: crm
#: view:crm.claim:0
#, fuzzy
msgid "Claim Cost"
msgstr "Planuojamos išlaidos"
@ -1607,7 +1601,6 @@ msgstr "Nuoroda"
#. module: crm
#: field:crm.meeting,exrule:0
#, fuzzy
msgid "Exception Rule"
msgstr "Atlikimo būklė"
@ -1618,7 +1611,6 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_lead2
#, fuzzy
msgid "Mail"
msgstr "El. paštas"
@ -1671,7 +1663,6 @@ msgstr "Vardas"
#. module: crm
#: view:crm.opportunity:0
#, fuzzy
msgid "Sales Stage"
msgstr "Klausimo būklė"
@ -1682,13 +1673,11 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_mail_to_watchers:0
#, fuzzy
msgid "Mail to watchers (CC)"
msgstr "Laiškas stebėtojams (Cc)"
#. module: crm
#: view:crm.fundraising:0 view:crm.meeting:0
#, fuzzy
msgid "Next Meeting"
msgstr "Kitas veiksmas"
@ -1707,7 +1696,6 @@ msgstr "Leidžia ištrinti nejuodraštinius klausimus"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor7
#, fuzzy
msgid "Closed Lost"
msgstr "Uždaryta"
@ -1784,7 +1772,6 @@ msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_history-act
#, fuzzy
msgid "Histories"
msgstr "Archyvuoti"
@ -1818,7 +1805,7 @@ msgstr ""
#. module: crm
#: code:addons/crm/crm.py:0
#, fuzzy, python-format
#, python-format
msgid "Email Fail!"
msgstr "El. paštas"
@ -1867,7 +1854,6 @@ msgstr "Aukščiausias"
#. module: crm
#: view:crm.job:0
#, fuzzy
msgid "Contract Data"
msgstr "Sukūrimo data"
@ -1883,7 +1869,6 @@ msgstr ""
#. module: crm
#: field:crm.menu.config_wizard,document_ics:0
#, fuzzy
msgid "Shared Calendar"
msgstr "Kalendorius"
@ -1930,7 +1915,6 @@ msgstr ""
#. module: crm
#: field:crm.case.category2,name:0
#, fuzzy
msgid "Case Category2 Name"
msgstr "Klausimo kategorijos pavadinimas"
@ -1998,13 +1982,11 @@ msgstr ""
#. module: crm
#: field:crm.meeting,location:0
#, fuzzy
msgid "Location"
msgstr "Veiksmas"
#. module: crm
#: view:crm.fundraising:0
#, fuzzy
msgid "Payment Mode"
msgstr "Pirminis meniu"
@ -2061,7 +2043,6 @@ msgstr "Sukurta"
#. module: crm
#: view:crm.lead:0
#, fuzzy
msgid "Lead Information"
msgstr "Bazinė informacija"
@ -2074,7 +2055,6 @@ msgstr "Segmentacijos eilutė"
#: wizard_field:crm.job.reschedule_phone_call,init,deadline:0
#: wizard_field:crm.opportunity.reschedule_phone_call,init,deadline:0
#: view:crm.phonecall:0
#, fuzzy
msgid "Planned Date"
msgstr "Planuojamos išlaidos"
@ -2115,7 +2095,6 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor1
#, fuzzy
msgid "Prospecting"
msgstr "Profiliavimas"
@ -2126,7 +2105,6 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_meeting
#, fuzzy
msgid "Meeting Cases"
msgstr "Atviri klausimai"
@ -2137,7 +2115,6 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
#, fuzzy
msgid "Cancel Meeting"
msgstr "Klausimo sekcija"
@ -2148,13 +2125,11 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
#, fuzzy
msgid "%(case_date)s = Creation date"
msgstr "%(case_id)s = Klausimo ID"
#. module: crm
#: model:crm.case.stage,name:crm.stage_phone3 view:crm.phonecall:0
#, fuzzy
msgid "Not Held"
msgstr "Pastaba"
@ -2170,13 +2145,11 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_claim1
#, fuzzy
msgid "Corrective"
msgstr "Aktyvuota"
#. module: crm
#: model:ir.model,name:crm.model_crm_opportunity
#, fuzzy
msgid "Opportunity Cases"
msgstr "Atviri klausimai"
@ -2195,7 +2168,6 @@ msgstr "Pašto šablonas siuntimui"
#: field:report.crm.case.section.categ.stage,month:0
#: field:report.crm.case.section.categ2,month:0
#: field:report.crm.case.section.stage,month:0
#, fuzzy
msgid "Month"
msgstr "Mėnesiai"
@ -2211,13 +2183,11 @@ msgstr ""
#. module: crm
#: wizard_button:crm.new.send.mail,init,send:0
#: wizard_button:crm.send.mail,init,send:0
#, fuzzy
msgid "Send Email"
msgstr "El. paštas"
#. module: crm
#: wizard_view:crm.new.send.mail,init:0
#, fuzzy
msgid "Set case state to"
msgstr "Nustatyti būklę į"
@ -2274,7 +2244,6 @@ msgstr "Pastaba"
#: field:report.crm.case.section.categ.stage,delay_close:0
#: field:report.crm.case.section.categ2,delay_close:0
#: field:report.crm.case.section.stage,delay_close:0
#, fuzzy
msgid "Delay Close"
msgstr "Delsos tipas"
@ -2299,13 +2268,12 @@ msgstr "Uždaryta"
#. module: crm
#: view:crm.job:0
#, fuzzy
msgid "Candidate Name2"
msgstr "Klausimo kategorijos pavadinimas"
#. module: crm
#: code:addons/crm/crm.py:0
#, fuzzy, python-format
#, python-format
msgid "cancel"
msgstr "Atšaukti"
@ -2317,7 +2285,6 @@ msgstr ""
#. module: crm
#: view:crm.case:0 field:crm.case,child_ids:0 view:crm.claim:0 view:crm.lead:0
#: view:crm.opportunity:0
#, fuzzy
msgid "Events"
msgstr "Partnerio renginiai"
@ -2395,7 +2362,6 @@ msgstr "Klausimo istorija"
#. module: crm
#: field:crm.case,partner_phone:0
#, fuzzy
msgid "Phone"
msgstr "Niekas"
@ -2479,7 +2445,7 @@ msgstr "Veiksmas"
#: model:crm.case.section,name:crm.section_support_claims view:crm.claim:0
#: field:crm.menu.config_wizard,claims:0 view:crm.phonecall:0
#: model:ir.ui.menu,name:crm.menu_crm_case_claims
#, fuzzy, python-format
#, python-format
msgid "Claims"
msgstr "Klausimas"
@ -2495,7 +2461,6 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_case_category2
#, fuzzy
msgid "Category2 of case"
msgstr "Klausimo kategorija"
@ -2512,7 +2477,6 @@ msgstr "%(case_user_email)s = Atsakingo paštas"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_presale
#, fuzzy
msgid "Sales"
msgstr "Klausimai"
@ -2523,7 +2487,6 @@ msgstr "Bendra"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead2
#, fuzzy
msgid "Assigned"
msgstr "Visi nepriskirti "
@ -2541,7 +2504,6 @@ msgstr ""
#. module: crm
#: view:crm.case:0 view:crm.claim:0 view:crm.fundraising:0 view:crm.lead:0
#: selection:crm.new.send.mail,init,state:0 view:crm.opportunity:0
#, fuzzy
msgid "Done"
msgstr "Niekas"
@ -2552,7 +2514,6 @@ msgstr "Maks. intervalas"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_oppor11
#, fuzzy
msgid "All Opportunities"
msgstr "Verslo galimybės"
@ -2586,7 +2547,6 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_phonecall
#, fuzzy
msgid "Phonecall Cases"
msgstr "Visi klausimai"
@ -2619,13 +2579,11 @@ msgstr ""
#. module: crm
#: wizard_button:crm.job.meeting_set,init,order:0
#: wizard_button:crm.phonecall.meeting_set,init,order:0
#, fuzzy
msgid "Set Meeting"
msgstr "Nustatyti sekciją į"
#. module: crm
#: field:crm.menu.config_wizard,meeting:0
#, fuzzy
msgid "Calendar of Meetings"
msgstr "Kalendoriaus peržiūra"
@ -2644,13 +2602,11 @@ msgstr ""
#. module: crm
#: view:crm.lead:0
#, fuzzy
msgid "Lead Name"
msgstr "Taisyklės pavadinimas"
#. module: crm
#: view:crm.claim:0
#, fuzzy
msgid "Claim/Action Description"
msgstr "Segmentacijos aprašymas"
@ -2689,7 +2645,6 @@ msgstr ""
#: view:report.crm.case.section.categ.categ2:0
#: view:report.crm.case.section.categ.stage:0
#: view:report.crm.case.section.categ2:0 view:report.crm.case.section.stage:0
#, fuzzy
msgid "This Month"
msgstr "Mėnesiai"
@ -2700,7 +2655,6 @@ msgstr ""
#. module: crm
#: view:crm.opportunity:0
#, fuzzy
msgid "Opportunities Tree"
msgstr "Verslo galimybės"
@ -2718,7 +2672,6 @@ msgstr ""
#. module: crm
#: view:crm.job:0
#, fuzzy
msgid "Open Jobs"
msgstr "Atviri klausimai"
@ -2741,13 +2694,11 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,server_action_id:0
#, fuzzy
msgid "Server Action"
msgstr "Sekcija"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_categ_claim0
#, fuzzy
msgid "All Claims"
msgstr "Visi klausimai"
@ -2774,7 +2725,6 @@ msgstr "Naujausi laiškai"
#. module: crm
#: view:crm.case.rule:0
#, fuzzy
msgid "Regex on Communication History"
msgstr "Klausimų komunikacijos istorija"
@ -2827,13 +2777,11 @@ msgstr "Paskutinis veiksmas"
#. module: crm
#: field:crm.case,duration:0
#, fuzzy
msgid "Duration"
msgstr "Jūsų veiksmas"
#. module: crm
#: model:ir.model,name:crm.model_report_crm_case_section_categ_stage
#, fuzzy
msgid "Cases by section, Category and stage"
msgstr "Klausimai pagal sekciją"
@ -2844,7 +2792,6 @@ msgstr ""
#. module: crm
#: field:crm.menu.config_wizard,jobs:0
#, fuzzy
msgid "Jobs Hiring Process"
msgstr "Tęsti procesą"
@ -2869,7 +2816,6 @@ msgstr ""
#: field:report.crm.case.section.categ.stage,nbr:0
#: field:report.crm.case.section.categ2,nbr:0
#: field:report.crm.case.section.stage,nbr:0
#, fuzzy
msgid "# of Cases"
msgstr "Klausimai"
@ -2895,14 +2841,12 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
#, fuzzy
msgid "Search Meetings"
msgstr "Sekcijos"
#. module: crm
#: selection:crm.lead.opportunity_set,create_partner,action:0
#: selection:crm.phonecall.opportunity_set,create_partner,action:0
#, fuzzy
msgid "Create a new partner"
msgstr "Sukūrimo data"
@ -2913,7 +2857,6 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead3
#, fuzzy
msgid "In Process"
msgstr "Stabdyti procesą"
@ -2936,7 +2879,6 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_section_categ_tree
#: view:report.crm.case.section.categ2:0
#, fuzzy
msgid "Cases by Section and Type"
msgstr "Klausimai pagal sekciją"
@ -2954,7 +2896,6 @@ msgstr ""
#. module: crm
#: wizard_field:caldav.crm.export,init,name:0
#, fuzzy
msgid "File name"
msgstr "Taisyklės pavadinimas"
@ -2995,7 +2936,6 @@ msgstr ""
#: selection:report.crm.case.section.categ.stage,state:0
#: selection:report.crm.case.section.categ2,state:0
#: selection:report.crm.case.section.stage,state:0
#, fuzzy
msgid "Cancelled"
msgstr "Atšaukti"
@ -3048,7 +2988,6 @@ msgstr "Klausimų komunikacijos istorija"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor_categ
#, fuzzy
msgid "Cases by Opportunities and Type"
msgstr "Verslo galimybės"
@ -3092,7 +3031,6 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead1
#, fuzzy
msgid "New"
msgstr "Naujas "
@ -3120,7 +3058,6 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_claim
#, fuzzy
msgid "Claim Cases"
msgstr "Visi klausimai"
@ -3136,7 +3073,6 @@ msgstr ""
#. module: crm
#: field:crm.meeting,exdate:0
#, fuzzy
msgid "Exception Date/Times"
msgstr "Atlikimo būklė"
@ -3147,7 +3083,6 @@ msgstr ""
#. module: crm
#: model:process.transition,note:crm.process_transition_leadopportunity0
#, fuzzy
msgid "Creating business opportunities from Leads"
msgstr "Verslo galimybės"
@ -3173,7 +3108,6 @@ msgstr "Laukia"
#. module: crm
#: model:process.transition,name:crm.process_transition_leadopportunity0
#, fuzzy
msgid "Prospect Opportunity"
msgstr "Verslo galimybės"
@ -3204,7 +3138,6 @@ msgstr ""
#. module: crm
#: view:crm.case:0
#, fuzzy
msgid "My Cases"
msgstr "Mano klausimai"
@ -3226,7 +3159,6 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_phone1
#, fuzzy
msgid "Planned"
msgstr "Planuojamos išlaidos"
@ -3237,19 +3169,16 @@ msgstr ""
#. module: crm
#: view:crm.job:0
#, fuzzy
msgid "Candidate Email"
msgstr "Partnerio el. paštas"
#. module: crm
#: view:crm.opportunity:0
#, fuzzy
msgid "Sales Stage: "
msgstr "Klausimo būklė"
#. module: crm
#: view:crm.claim:0
#, fuzzy
msgid "Type of Action"
msgstr "Kitas veiksmas"
@ -3260,7 +3189,6 @@ msgstr "Nustatyti atsakingą į"
#. module: crm
#: view:crm.job:0
#, fuzzy
msgid "Meeting With Candidates"
msgstr "Naujas su kalendoriumi"
@ -3284,7 +3212,6 @@ msgstr ""
#. module: crm
#: view:report.crm.case.section.categ.categ2:0
#, fuzzy
msgid "Search Cases by User"
msgstr "Klausimai pagal sekciją"
@ -3310,7 +3237,6 @@ msgstr "Objekto iškvietimo metodas"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_fund_all1
#, fuzzy
msgid "All Funds"
msgstr "Visi "
@ -3322,7 +3248,6 @@ msgstr "Kalendorius"
#. module: crm
#: model:crm.case.categ,name:crm.categ_job1
#, fuzzy
msgid "Salesman"
msgstr "Pardavimo suma"
@ -3379,7 +3304,6 @@ msgstr "Ne einamasis"
#: wizard_field:crm.case.opportunity.partner_opportunity,init,probability:0
#: wizard_field:crm.lead.opportunity_set,opportunity,probability:0
#: wizard_field:crm.phonecall.opportunity_set,opportunity,probability:0
#, fuzzy
msgid "Success Probability"
msgstr "Tikimybė (%)"
@ -3437,13 +3361,11 @@ msgstr ""
#. module: crm
#: view:crm.job:0
#, fuzzy
msgid "Qualication"
msgstr "Komunikacija"
#. module: crm
#: view:crm.meeting:0
#, fuzzy
msgid "Change RRule"
msgstr "Klausimo taisyklė"
@ -3460,7 +3382,6 @@ msgstr ""
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_categ_categ2
#: model:ir.ui.menu,name:crm.menu_crm_case_section_categ_categ2_tree
#: view:report.crm.case.section.categ.categ2:0
#, fuzzy
msgid "Cases by Section, Category and Type"
msgstr "Klausimo kategorijos pavadinimas"
@ -3510,7 +3431,6 @@ msgstr ""
#. module: crm
#: model:process.process,name:crm.process_process_contractprocess0
#, fuzzy
msgid "Contract"
msgstr "Partnerio kontaktas"
@ -3555,7 +3475,6 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_case_stage
#, fuzzy
msgid "Stage of case"
msgstr "Klausimo kategorija"
@ -3593,7 +3512,6 @@ msgstr "Sekcijos kodas"
#. module: crm
#: wizard_field:crm.job.meeting_set,init,date:0
#: wizard_field:crm.phonecall.meeting_set,init,date:0
#, fuzzy
msgid "Meeting date"
msgstr "Sukūrimo data"
@ -3609,7 +3527,6 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_meet2
#, fuzzy
msgid "Not fixed"
msgstr "Pastaba"
@ -3642,7 +3559,6 @@ msgstr "Aprašymas"
#: selection:report.crm.case.section.categ.stage,month:0
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
#, fuzzy
msgid "May"
msgstr "Mano "
@ -3741,13 +3657,11 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.categ2_fund1
#, fuzzy
msgid "Cash"
msgstr "Klausimas"
#. module: crm
#: view:crm.fundraising:0
#, fuzzy
msgid "Funds by Categories"
msgstr "Kategorijos"
@ -3791,7 +3705,6 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_helpdesk
#, fuzzy
msgid "Helpdesk Cases"
msgstr "Atviri klausimai"
@ -3830,13 +3743,11 @@ msgstr "Klausimai pagal sekciją"
#. module: crm
#: view:crm.job:0
#, fuzzy
msgid "New Jobs"
msgstr "Naujas "
#. module: crm
#: field:crm.menu.config_wizard,fund:0
#, fuzzy
msgid "Fund Raising Operations"
msgstr "Profiliavimo parinktys"

View File

@ -80,11 +80,9 @@ def _mass_mail_send(self, cr, uid, data, context):
emails = [data['form']['to']] + (data['form']['cc'] or '').split(',')
emails = filter(None, emails)
body = data['form']['text']
if not case.user_id.address_id.email:
raise wizard.except_wizard(_('Warning!'),_("Please specify user's email address !"))
if case.user_id.signature:
body += '\n\n%s' % (case.user_id.signature)
case_pool._history(cr, uid, [case], _('Send'), history=True, email=False, details=body)
case_pool._history(cr, uid, [case], _('Send'), history=True, email=data['form']['to'], details=body)
flag = tools.email_send(
case.user_id.address_id.email,
emails,
@ -92,8 +90,8 @@ def _mass_mail_send(self, cr, uid, data, context):
case_pool.format_body(body),
attach=attach,
reply_to=case.section_id.reply_to,
openobject_id=str(case.id)
openobject_id=str(case.id),
subtype="html"
)
if flag:
if data['form']['state'] == 'unchanged':
@ -113,9 +111,10 @@ def _get_info(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case = pool.get(data.get('model')).browse(cr, uid, data['id'])
if not case.user_id:
raise wizard.except_wizard(_('Error'),_('You must define a responsible user for this case in order to use this action!'))
if not case.user_id.address_id.email:
raise wizard.except_wizard(_('Warning!'),_("Please specify user's email address !"))
return {
'to': case.email_from,

View File

@ -51,12 +51,13 @@ email_send_fields = {
# this sends an email to ALL the addresses of the selected partners.
def _mass_mail_send(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case_pool=pool.get(data['model'])
hist_obj = pool.get('crm.case.history').browse(cr,uid,data['ids'])[0]
case = hist_obj.log_id.case_id
case_pool._history(cr, uid, [case], _('Send'), history=True, email=False)
case_pool.write(cr, uid, [case.id], {
model = hist_obj.log_id.model_id.model
model_pool = pool.get(model)
case = model_pool.browse(cr, uid, hist_obj.log_id.res_id)
model_pool._history(cr, uid, [case], _('Send'), history=True, email=False)
model_pool.write(cr, uid, [case.id], {
'som': False,
'canal_id': False,
})
@ -69,9 +70,10 @@ def _mass_mail_send(self, cr, uid, data, context):
case.user_id.address_id.email,
emails,
data['form']['subject'],
case_pool.format_body(body),
model_pool.format_body(body),
reply_to=case.section_id.reply_to,
openobject_id=str(case.id)
openobject_id=str(case.id),
subtype="html"
)
return {}
@ -80,7 +82,9 @@ def _get_info(self, cr, uid, data, context):
raise wizard.except_wizard(_('Error'),_('There is no mail to reply!'))
pool = pooler.get_pool(cr.dbname)
hist_obj = pool.get('crm.case.history').browse(cr,uid,data['ids'])[0]
case = hist_obj.log_id.case_id
model = hist_obj.log_id.model_id.model
model_pool = pool.get(model)
case = model_pool.browse(cr, uid, hist_obj.log_id.res_id)
if not case.email_from:
raise wizard.except_wizard(_('Error'),_('You must put a Partner eMail to use this action!'))
if not case.user_id:

View File

@ -107,6 +107,7 @@
</data>
<data>
<record id="survey_question_job_0" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -130,6 +131,7 @@
</data>
<data>
<record id="survey_question_job_1" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -153,6 +155,7 @@
</data>
<data>
<record id="survey_question_job_2" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -176,6 +179,7 @@
</data>
<data>
<record id="survey_question_job_3" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -199,6 +203,7 @@
</data>
<data>
<record id="survey_question_job_4" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -221,12 +226,14 @@
</record>
<record id="survey_answer_job_70" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Male</field>
<field name="question_id" ref="crm_hr.survey_question_job_4"/>
<field eval="1" name="sequence"/>
</record>
<record id="survey_answer_job_71" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Female</field>
<field name="question_id" ref="crm_hr.survey_question_job_4"/>
<field eval="2" name="sequence"/>
@ -235,6 +242,7 @@
</data>
<data>
<record id="survey_question_job_5" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -257,41 +265,49 @@
</record>
<record id="survey_answer_job_81" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">0 - 15</field>
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
<field eval="1" name="sequence"/>
</record>
<record id="survey_answer_job_82" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">16 - 20</field>
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
<field eval="2" name="sequence"/>
</record>
<record id="survey_answer_job_83" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">21 - 30</field>
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
<field eval="3" name="sequence"/>
</record>
<record id="survey_answer_job_84" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">31 - 40</field>
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
<field eval="4" name="sequence"/>
</record>
<record id="survey_answer_job_85" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">41 - 50</field>
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
<field eval="5" name="sequence"/>
</record>
<record id="survey_answer_job_86" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">51 - 60</field>
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
<field eval="6" name="sequence"/>
</record>
<record id="survey_answer_job_87" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">61 - 70</field>
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
<field eval="7" name="sequence"/>
</record>
<record id="survey_answer_job_88" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">71 +</field>
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
<field eval="8" name="sequence"/>
@ -300,6 +316,7 @@
</data>
<data>
<record id="survey_question_job_6" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -323,6 +340,7 @@
</data>
<data>
<record id="survey_question_job_7" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -387,6 +405,7 @@
<data>
<record id="survey_answer_job_0" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Good pay</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="1" name="sequence"/>
@ -394,6 +413,7 @@
</data>
<data>
<record id="survey_answer_job_1" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Getting on with colleagues</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="2" name="sequence"/>
@ -401,6 +421,7 @@
</data>
<data>
<record id="survey_answer_job_2" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Office environment (décor, light, space etc)</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="3" name="sequence"/>
@ -408,6 +429,7 @@
</data>
<data>
<record id="survey_answer_job_3" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Desk space</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="4" name="sequence"/>
@ -415,6 +437,7 @@
</data>
<data>
<record id="survey_answer_job_4" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">State of the art technology</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="5" name="sequence"/>
@ -422,6 +445,7 @@
</data>
<data>
<record id="survey_answer_job_5" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Office location (proximity to home)</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="6" name="sequence"/>
@ -429,6 +453,7 @@
</data>
<data>
<record id="survey_answer_job_6" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Good management/boss</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="7" name="sequence"/>
@ -436,6 +461,7 @@
</data>
<data>
<record id="survey_answer_job_7" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Freebies such as tea, coffee and stationery</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="8" name="sequence"/>
@ -443,6 +469,7 @@
</data>
<data>
<record id="survey_answer_job_8" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Perks such as free parking, gym passes etc</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="9" name="sequence"/>
@ -450,6 +477,7 @@
</data>
<data>
<record id="survey_answer_job_9" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">No out of hours working</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="10" name="sequence"/>
@ -457,6 +485,7 @@
</data>
<data>
<record id="survey_answer_job_10" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Dress code</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="11" name="sequence"/>
@ -464,6 +493,7 @@
</data>
<data>
<record id="survey_answer_job_11" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Regular meetings</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="12" name="sequence"/>
@ -471,6 +501,7 @@
</data>
<data>
<record id="survey_answer_job_12" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Good social life (office nights out, good Christmas parties etc)</field>
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
<field eval="13" name="sequence"/>

View File

@ -3,9 +3,9 @@
<!--<menuitem name="Document Management" icon="terp-stock" id="menu_document"/>
<menuitem name="Document Configuration" id="menu_document_configuration" parent="menu_document"/>-->
<menuitem name="Knowledge Management" icon="terp-stock" id="menu_document"/>
<menuitem name="Configuration" id="menu_document_configuration" parent="menu_document" sequence="50"/>
<menuitem name="Document Management" id="menu_document_management_configuration" parent="menu_document_configuration" />
<menuitem name="Knowledge Management" icon="terp-stock" id="base.menu_document"/>
<menuitem name="Configuration" id="base.menu_document_configuration" parent="base.menu_document" sequence="50"/>
<menuitem name="Document Management" id="menu_document_management_configuration" parent="base.menu_document_configuration" sequence="1"/>
<record model="ir.ui.view" id="view_document_storage_form">
<field name="name">document.storage</field>
@ -249,7 +249,7 @@
<field name="res_model">ir.attachment</field>
<field name="view_type">form</field>
</record>
<menuitem name="Documents" id="menu_document_doc" parent="menu_document" sequence="5"/>
<menuitem name="Documents" id="menu_document_doc" parent="base.menu_document" sequence="5"/>
<menuitem
name="Search a File"
action="action_document_file_form"

View File

@ -6,7 +6,7 @@
<field name="name">Document / Manager</field>
</record>
<record id="menu_document_configuration" model="ir.ui.menu">
<record id="base.menu_document_configuration" model="ir.ui.menu">
<field name="groups_id" eval="[(6,0,[ref('group_document_manager')])]"/>
</record>

View File

@ -79,6 +79,7 @@
<data>
<record id="survey_question_0" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -90,7 +91,7 @@
<field eval="1" name="sequence"/>
<field name="question">Employee Details</field>
<field eval="0" name="is_require_answer"/>
<field name="type">multiple_textboxes</field>
<field name="type">multiple_textboxes_diff_type</field>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
<field eval="0" name="in_visible_menu_choice"/>
@ -103,6 +104,7 @@
<data>
<record id="survey_question_2" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -114,7 +116,7 @@
<field eval="1" name="sequence"/>
<field name="question">Employee Information</field>
<field eval="0" name="is_require_answer"/>
<field name="type">multiple_textboxes</field>
<field name="type">multiple_textboxes_diff_type</field>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
<field eval="0" name="in_visible_menu_choice"/>
@ -126,6 +128,7 @@
</data>
<data>
<record id="survey_question_3" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -149,6 +152,7 @@
</data>
<data>
<record id="survey_question_4" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -174,6 +178,7 @@
<data>
<record id="survey_question_6" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -194,6 +199,7 @@
</data>
<data>
<!--record id="survey_question_7" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -217,6 +223,7 @@
</data>
<data>
<record id="survey_question_8" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -242,6 +249,7 @@
<data>
<record id="survey_question_9" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -267,6 +275,7 @@
<data>
<record id="survey_question_10" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -293,6 +302,7 @@
<data>
<record id="survey_question_14" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -318,6 +328,7 @@
<data>
<record id="survey_question_17" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -341,6 +352,7 @@
</data>
<data>
<record id="survey_question_18" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -367,6 +379,7 @@
<data>
<record id="survey_question_23" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -392,6 +405,7 @@
<data>
<record id="survey_question_39" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -418,6 +432,7 @@
</data>
<data>
<record id="survey_question_40" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -441,6 +456,7 @@
</data>
<data>
<record id="survey_question_41" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -465,6 +481,7 @@
<data>
<record id="survey_question_42" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -492,6 +509,7 @@
<data>
<record id="survey_question_43" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -526,6 +544,7 @@ Once the form had been filled, the employee send it to his supervisor.
<data>
<record id="survey_question_21" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -561,6 +580,7 @@ Once the form had been filled, the employee send it to his supervisor.
<!--data>
<record id="survey_question_42" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -604,6 +624,7 @@ Once the form had been filled, the employee send it to his supervisor.
<data>
<record id="survey_question_17_1" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -628,6 +649,7 @@ Once the form had been filled, the employee send it to his supervisor.
<data>
<record id="survey_question_17_2" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -652,6 +674,7 @@ Once the form had been filled, the employee send it to his supervisor.
<data>
<record id="survey_question_17_3" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -676,6 +699,7 @@ Once the form had been filled, the employee send it to his supervisor.
<data>
<record id="survey_question_17_2_12" model="survey.question">
<field name="in_visible_answer_type">1</field>
<field name="validation_type">do_not_validate</field>
<field name="comment_valid_type">do_not_validate</field>
<field name="make_comment_field_err_msg">Please enter a comment.</field>
@ -699,327 +723,328 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_question_column_heading_4" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">1</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_4"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_5" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">2</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_4"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_6" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">3</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_4"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_7" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">4</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_4"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_8" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">5</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_4"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_9" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">1</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_8"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_10" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">2</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_8"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_11" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">3</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_8"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_12" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">4</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_8"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_13" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">5</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_8"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_14" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">1</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_3"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_15" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">2</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_3"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_16" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">3</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_3"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_17" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">4</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_3"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_18" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">5</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_3"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_19" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">1</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_6"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_20" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">2</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_6"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_21" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">3</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_6"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_22" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">4</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_6"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_23" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">5</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_6"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_24" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">1</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_10"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_25" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">2</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_10"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_26" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">3</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_10"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_27" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">4</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_10"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_28" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">5</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_10"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_29" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">1</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_14"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_30" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">2</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_14"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_31" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">3</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_14"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_32" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">4</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_14"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_33" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">5</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_14"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_34" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">1</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_18"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_35" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">2</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_18"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_36" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">3</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_18"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_37" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">4</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_18"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_38" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">5</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_18"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_39" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">1</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_40"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_40" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">2</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_40"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_41" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">3</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_40"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_42" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">4</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_40"/>
</record>
</data>
<data>
<record id="survey_question_column_heading_43" model="survey.question.column.heading">
<field eval="0" name="in_visible_menu_choice"/>
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">5</field>
<field eval="0" name="in_visible_rating_weight"/>
<field name="question_id" ref="survey_question_40"/>
</record>
</data>
<data>
<record id="survey_answer_0" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Demonstrates genuine concern for me as a person. </field>
<field name="question_id" ref="survey_question_6"/>
<field eval="1" name="sequence"/>
@ -1029,11 +1054,13 @@ Once the form had been filled, the employee send it to his supervisor.
<record id="survey_answer_1" model="survey.answer">
<field name="answer">Name</field>
<field name="question_id" ref="survey_question_2"/>
<field name="type">char</field>
<field eval="1" name="sequence"/>
</record>
</data>
<data>
<record id="survey_answer_2" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I'm efficient at work and my achievements are successful.</field>
<field name="question_id" ref="survey_question_10"/>
<field eval="1" name="sequence"/>
@ -1041,6 +1068,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_3" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I am proud to tell others I work here. </field>
<field name="question_id" ref="survey_question_3"/>
<field eval="1" name="sequence"/>
@ -1048,13 +1076,16 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_4" model="survey.answer">
<field name="in_visible_answer_type">0</field>
<field name="answer">Name of your direct supervisor</field>
<field name="question_id" ref="survey_question_0"/>
<field name="type">char</field>
<field eval="1" name="sequence"/>
</record>
</data>
<data>
<record id="survey_answer_5" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Actions by Executive management show genuine interest in the well-being of employees.</field>
<field name="question_id" ref="survey_question_40"/>
<field eval="1" name="sequence"/>
@ -1062,6 +1093,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_6" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I know the company's values and live them.</field>
<field name="question_id" ref="survey_question_18"/>
<field eval="1" name="sequence"/>
@ -1069,6 +1101,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_7" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">My work contributes towards the continuous improvement of the company, our services or products. </field>
<field name="question_id" ref="survey_question_14"/>
<field eval="1" name="sequence"/>
@ -1076,6 +1109,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_8" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I have enough work.</field>
<field name="question_id" ref="survey_question_10"/>
<field eval="2" name="sequence"/>
@ -1083,8 +1117,10 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_9" model="survey.answer">
<field name="in_visible_answer_type">0</field>
<field name="answer">Date</field>
<field name="question_id" ref="survey_question_0"/>
<field name="type">datetime</field>
<field eval="2" name="sequence"/>
</record>
</data>
@ -1092,11 +1128,13 @@ Once the form had been filled, the employee send it to his supervisor.
<record id="survey_answer_10" model="survey.answer">
<field name="answer">Position Title</field>
<field name="question_id" ref="survey_question_2"/>
<field name="type">char</field>
<field eval="2" name="sequence"/>
</record>
</data>
<data>
<record id="survey_answer_11" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I consistently acquire new knowledge, skills or understanding through contact with my supervisor. He helps me growing my compete</field>
<field name="question_id" ref="survey_question_6"/>
<field eval="2" name="sequence"/>
@ -1104,6 +1142,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_12" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">My job provides me with a sense of personal accomplishment.</field>
<field name="question_id" ref="survey_question_3"/>
<field eval="2" name="sequence"/>
@ -1111,6 +1150,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_13" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">What I did several months ago is still of use to the company, the services or the products today. </field>
<field name="question_id" ref="survey_question_14"/>
<field eval="2" name="sequence"/>
@ -1118,6 +1158,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_14" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">My best achievements have been communicated to the community, internally or to customers. </field>
<field name="question_id" ref="survey_question_18"/>
<field eval="2" name="sequence"/>
@ -1125,6 +1166,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_15" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I have the same opportunity to succeed as others with similar experiences, performance and educational background. </field>
<field name="question_id" ref="survey_question_40"/>
<field eval="2" name="sequence"/>
@ -1132,6 +1174,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_16" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Compared to similar jobs in other companies where I could work, my total compensation is:
(Scale: Well below others, Below othe</field>
<field name="question_id" ref="survey_question_40"/>
@ -1140,6 +1183,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_17" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Overall, I believe the quality of products and/or services my workgroup delivers is improving.</field>
<field name="question_id" ref="survey_question_14"/>
<field eval="3" name="sequence"/>
@ -1147,6 +1191,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_18" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I would prefer to remain with this company even if a comparable job were available in another company. </field>
<field name="question_id" ref="survey_question_3"/>
<field eval="3" name="sequence"/>
@ -1154,6 +1199,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_19" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Listens and takes into account all ideas and do his best to put in place the best of these. </field>
<field name="question_id" ref="survey_question_6"/>
<field eval="3" name="sequence"/>
@ -1163,11 +1209,13 @@ Once the form had been filled, the employee send it to his supervisor.
<record id="survey_answer_20" model="survey.answer">
<field name="answer">Appraisal for Period</field>
<field name="question_id" ref="survey_question_2"/>
<field name="type">char</field>
<field eval="3" name="sequence"/>
</record>
</data>
<data>
<record id="survey_answer_21" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I mostly work on value-added tasks for the company, the products or the services. (Value-added task : significant improvement pe</field>
<field name="question_id" ref="survey_question_10"/>
<field eval="3" name="sequence"/>
@ -1175,6 +1223,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_22" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Our workgroup identifies and reduces waste of time in our activities and processes. </field>
<field name="question_id" ref="survey_question_14"/>
<field eval="4" name="sequence"/>
@ -1182,6 +1231,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_23" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Taking everything into account, how satisfied are you with your current job? </field>
<field name="question_id" ref="survey_question_3"/>
<field eval="4" name="sequence"/>
@ -1189,6 +1239,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_24" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I understand the company strategy and how my workgroup supports it. </field>
<field name="question_id" ref="survey_question_40"/>
<field eval="4" name="sequence"/>
@ -1198,11 +1249,13 @@ Once the form had been filled, the employee send it to his supervisor.
<record id="survey_answer_25" model="survey.answer">
<field name="answer">Date of Review</field>
<field name="question_id" ref="survey_question_2"/>
<field name="type">datetime</field>
<field eval="4" name="sequence"/>
</record>
</data>
<data>
<record id="survey_answer_26" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Time management : projects/tasks are completed on time</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1210,6 +1263,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_27" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Results of the bottom-up survey and mitigation actions to face technical, organizational, structural and/or relational issues</field>
<field name="question_id" ref="survey_question_8"/>
<field eval="5" name="sequence"/>
@ -1220,6 +1274,7 @@ Once the form had been filled, the employee send it to his supervisor.
<data>
<record id="survey_answer_31" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Delegation : Ability to efficiently assign tasks to other people</field>
<field name="question_id" ref="survey_question_8"/>
<field eval="5" name="sequence"/>
@ -1231,11 +1286,13 @@ Once the form had been filled, the employee send it to his supervisor.
<record id="survey_answer_43" model="survey.answer">
<field name="answer">Appraiser</field>
<field name="question_id" ref="survey_question_2"/>
<field name="type">char</field>
<field eval="5" name="sequence"/>
</record>
</data>
<data>
<record id="survey_answer_44" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Ability to cope with multidisciplinary of team</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1243,6 +1300,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_45" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Enthusiasm &amp; implication toward projects/assignments</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1250,6 +1308,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_46" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Compliance to internal rules and processes (timesheets completion, etc.)</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1257,6 +1316,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_47" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Team spirit : ability to work efficiently with peers, manage the conflicts with diplomacy</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1264,6 +1324,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_48" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Leadership: create a challenging and motivating work environment aligned with the company's strategy</field>
<field name="question_id" ref="survey_question_8"/>
<field eval="5" name="sequence"/>
@ -1271,6 +1332,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_49" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Leadership: sustain subordinates in their professional growth</field>
<field name="question_id" ref="survey_question_8"/>
<field eval="5" name="sequence"/>
@ -1278,6 +1340,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_50" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Ability to manage planning resources, risks, budgets and deadlines</field>
<field name="question_id" ref="survey_question_8"/>
<field eval="5" name="sequence"/>
@ -1285,6 +1348,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_51" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I am willing to put in a great deal of effort beyond what is expected to help my workgroup succeed.</field>
<field name="question_id" ref="survey_question_3"/>
<field eval="5" name="sequence"/>
@ -1292,6 +1356,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_52" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">I believe the information that I get from the person I report to. </field>
<field name="question_id" ref="survey_question_6"/>
<field eval="5" name="sequence"/>
@ -1300,6 +1365,7 @@ Once the form had been filled, the employee send it to his supervisor.
<data>
<record id="survey_answer_67" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Initiative and self autonomy</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1307,6 +1373,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_68" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Ability to follow and complete work as instructed</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1314,6 +1381,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_69" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Decision making</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1321,6 +1389,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_70" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">At the conclusion of the appraisal time period:</field>
<field name="question_id" ref="survey_question_42"/>
<field eval="5" name="sequence"/>
@ -1328,6 +1397,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_71" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">At the outset of the appraisal time period:</field>
<field name="question_id" ref="survey_question_42"/>
<field eval="5" name="sequence"/>
@ -1335,6 +1405,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_72" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Customer commitment</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1342,6 +1413,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_73" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Communication skills ( written &amp; verbally): clearness, concision, exactitude </field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1349,6 +1421,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_74" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Technical skills regarding to the job requirements</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1356,6 +1429,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_75" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Analytical and synthetic mind</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1363,6 +1437,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_76" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Promptness and attendance record</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1370,6 +1445,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_77" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Adaptability : Ability to adapt oneself to organizational changes while keeping efficiency</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1377,6 +1453,7 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data>
<record id="survey_answer_78" model="survey.answer">
<field name="in_visible_answer_type">1</field>
<field name="answer">Creativity and forward looking aptitude</field>
<field name="question_id" ref="survey_question_4"/>
<field eval="5" name="sequence"/>
@ -1387,24 +1464,31 @@ Once the form had been filled, the employee send it to his supervisor.
<record id="survey_answer_98" model="survey.answer">
<field name="answer">Title</field>
<field name="question_id" ref="survey_question_2"/>
<field name="type">char</field>
<field eval="6" name="sequence"/>
</record>
</data>
<data>
<record id="survey_tbl_column_heading_objectives0" model="survey.question.column.heading">
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">Objectives</field>
<field name="question_id" ref="survey_question_9"/>
</record>
</data>
<data>
<record id="survey_tbl_column_heading_results0" model="survey.question.column.heading">
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">Results</field>
<field name="question_id" ref="survey_question_9"/>
</record>
</data>
<data>
<record id="survey_tbl_column_heading_comments0" model="survey.question.column.heading">
<field name="in_visible_rating_weight">1</field>
<field name="in_visible_menu_choice">1</field>
<field name="title">Comments</field>
<field name="question_id" ref="survey_question_9"/>
</record>

View File

@ -47,7 +47,7 @@
""",
'author': 'Tiny & Axelor',
'website': 'http://www.openerp.com',
'depends': ['hr', 'crm', 'process','hr_attendance'],
'depends': ['hr', 'crm', 'process'],
'init_xml': [],
'update_xml': [
'security/ir.model.access.csv',

View File

@ -45,7 +45,7 @@ The validation can be configured in te company:
""",
'author': 'Tiny',
'website': 'http://www.openerp.com',
'depends': ['hr_timesheet', 'hr_timesheet_invoice', 'process','hr_attendance'],
'depends': ['hr_timesheet', 'hr_timesheet_invoice', 'process'],
'init_xml': [],
'update_xml': [
'security/ir.model.access.csv',

View File

@ -540,6 +540,11 @@
<field name="routing_id" select='1'/>
<field name="origin" select='1'/>
</group>
<group expand="context.get('report',False)" string="Group By..." colspan="4" col="8">
<filter string="By Product" icon="terp-mrp" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="By State" icon="terp-mrp" domain="[]" context="{'group_by':'state'}"/>
<filter string="Scheduled Date" icon="terp-mrp" domain="[]" context="{'group_by':'date_planned'}"/>
</group>
</search>
</field>
</record>
@ -753,6 +758,11 @@
<field name="date_planned" select='1'/>
<field name="state" select='1'/>
</group>
<group expand="context.get('report',False)" string="Group By..." colspan="4" col="8">
<filter string="By Product" icon="terp-mrp" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="By State" icon="terp-mrp" domain="[]" context="{'group_by':'state'}"/>
<filter string="Scheduled Date" icon="terp-mrp" domain="[]" context="{'group_by':'date_planned'}"/>
</group>
</search>
</field>
</record>

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-01-23 17:16+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-02-05 00:18+0000\n"
"Last-Translator: Guilherme Santos <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:26+0000\n"
"X-Launchpad-Export-Date: 2010-02-05 05:01+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: mrp_repair
@ -35,12 +35,12 @@ msgstr ""
#. module: mrp_repair
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Nome de modelo inválido na definição da ação"
#. module: mrp_repair
#: view:mrp.repair:0
msgid "Untaxed amount"
msgstr ""
msgstr "Valor sem impostos"
#. module: mrp_repair
#: field:mrp.repair,state:0
@ -56,7 +56,7 @@ msgstr ""
#: field:mrp.repair.fee,product_uom_qty:0
#: rml:repair.order:0
msgid "Quantity"
msgstr ""
msgstr "Quantidade"
#. module: mrp_repair
#: view:mrp.repair:0
@ -82,12 +82,12 @@ msgstr ""
#: field:mrp.repair.fee,price_subtotal:0
#: field:mrp.repair.line,price_subtotal:0
msgid "Subtotal"
msgstr ""
msgstr "Sub-total"
#. module: mrp_repair
#: rml:repair.order:0
msgid "Invoice address :"
msgstr ""
msgstr "Endereço de faturamento"
#. module: mrp_repair
#: field:mrp.repair,guarantee_limit:0
@ -139,7 +139,7 @@ msgstr ""
#. module: mrp_repair
#: field:mrp.repair,partner_id:0
msgid "Partner"
msgstr ""
msgstr "Parceiro"
#. module: mrp_repair
#: model:ir.actions.act_window,name:mrp_repair.action_repair_quotation_tree
@ -172,7 +172,7 @@ msgstr ""
#: field:mrp.repair,prodlot_id:0
#: rml:repair.order:0
msgid "Lot Number"
msgstr ""
msgstr "Numero do Lote"
#. module: mrp_repair
#: selection:mrp.repair,state:0
@ -233,7 +233,7 @@ msgstr ""
#. module: mrp_repair
#: rml:repair.order:0
msgid "Total :"
msgstr ""
msgstr "Total :"
#. module: mrp_repair
#: field:mrp.repair,pricelist_id:0
@ -260,7 +260,7 @@ msgstr ""
#. module: mrp_repair
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "Invalido XML para Arquitetura da View"
msgstr "XML inválido para Arquitetura da View"
#. module: mrp_repair
#: help:mrp.repair,guarantee_limit:0
@ -279,7 +279,7 @@ msgstr ""
#. module: mrp_repair
#: rml:repair.order:0
msgid "N° :"
msgstr ""
msgstr "N° :"
#. module: mrp_repair
#: field:mrp.repair,invoice_method:0

View File

@ -347,22 +347,24 @@
<tree colors="grey:state in ('cancelled','done');blue:remaining_hours&lt;0;red:bool(date_deadline) and (date_deadline&lt;current_date) and (state in ('draft','open'));black:state not in ('cancelled','done')" string="Tasks">
<field name="sequence" invisible="1"/>
<field name="name"/>
<field name="project_id" icon="gtk-indent"/>
<field name="project_id" icon="gtk-indent" invisible="context.get('set_visible',False)"/>
<field name="user_id"/>
<field name="remaining_hours" widget="float_time" sum="Remaining Hours"/>
<field name="date_deadline"/>
<field name="type" groups="base.group_extended"/>
<button name="next_type"
<field name="remaining_hours" widget="float_time" sum="Remaining Hours" invisible="context.get('set_visible',False)"/>
<field name="date_deadline" invisible="context.get('set_visible',False)"/>
<field name="type" groups="base.group_extended" invisible="context.get('set_visible',False)"/>
<field name="date_start" invisible="1"/>
<field name="date_end" invisible="1"/>
<button name="next_type" invisible="context.get('set_visible',False)"
states="draft,open,pending"
string="Change Stage"
type="object"
icon="gtk-go-forward"
groups="base.group_extended"
help="Change Type"/>
<field name="progress" widget="progressbar"/>
<field name="state"/>
<button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state"/>
<button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-execute" help="For changing to delegate state"/>
<field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
<field name="state" invisible="context.get('set_visible',False)"/>
<button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state" invisible="context.get('set_visible',False)"/>
<button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-execute" help="For changing to delegate state" />
<button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action" icon="gtk-jump-to" help="For changing to done state"/>
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
</tree>

View File

@ -25,7 +25,8 @@ class project_task(osv.osv):
_name = "project.task"
_inherit = ["calendar.todo", "project.task"]
_columns = {
'attendee_ids': fields.many2many('calendar.attendee', 'task_attendee_rel', 'task_id', 'attendee_id', 'Attendees'),
'attendee_ids': fields.many2many('calendar.attendee', \
'task_attendee_rel', 'task_id', 'attendee_id', 'Attendees'),
}
project_task()

View File

@ -3,7 +3,7 @@
<data noupdate="1">
<record model="basic.calendar" id="base_calendar.basic_calendar2">
<field name="name">Meeting-Todo</field>
<field name="name">Todo</field>
</record>
<record model="basic.calendar.lines" id="caldav.calendar_lines_todo">
@ -69,7 +69,15 @@
<field name="field_id" search="[('name','=','progress'),('model_id.model','=','project.task')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_todo_10">
<field name="name" ref="base_calendar.field_todo_vtimezone"/>
<field name="type_id" ref="caldav.calendar_lines_todo" />
<field name="field_id" search="[('name','=','vtimezone'),('model_id.model','=','calendar.todo')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_todo_11">
<field name="name" ref="base_calendar.field_todo_summary"/>
<field name="type_id" ref="caldav.calendar_lines_todo" />
@ -134,14 +142,6 @@
<field name="fn">field</field>
</record>
<record model="basic.calendar.lines" id="caldav.calendar_lines_event2">
<field name="name">vevent</field>
<field name="calendar_id" ref="base_calendar.basic_calendar2" />
<field name="object_id" search="[('model','=','crm.meeting')]" />
<field name="domain">[('user_id','=', uid)]</field>
</record>
<record model="basic.calendar.lines" id="caldav.calendar_lines_alarm2">
<field name="name">valarm</field>
<field name="calendar_id" ref="base_calendar.basic_calendar2" />
@ -154,137 +154,6 @@
<field name="object_id" search="[('model','=','calendar.attendee')]" />
</record>
<record model="basic.calendar.fields" id="map_event_1">
<field name="name" ref="base_calendar.field_event_uid"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','id'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_2">
<field name="name" ref="base_calendar.field_event_recurrence-id"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','recurrent_id'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_4">
<field name="name" ref="base_calendar.field_event_attendee" />
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','crm.meeting')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_5">
<field name="name" ref="base_calendar.field_event_rrule"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','rrule'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_6">
<field name="name" ref="base_calendar.field_event_dtend"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','date_deadline'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_7">
<field name="name" ref="base_calendar.field_event_valarm"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','caldav_alarm_id'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_8">
<field name="name" ref="base_calendar.field_event_priority"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','priority'),('model_id.model','=','crm.meeting')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_9">
<field name="name" ref="base_calendar.field_event_location"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','location'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_10">
<field name="name" ref="base_calendar.field_event_exrule"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','exrule'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_11">
<field name="name" ref="base_calendar.field_event_status"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','state'),('model_id.model','=','crm.meeting')]" />
<field name="mapping">{'tentative': 'draft', 'confirmed': 'open', 'cancelled': 'cancel'}</field>
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_12">
<field name="name" ref="base_calendar.field_event_exdate"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','exdate'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_13">
<field name="name" ref="base_calendar.field_event_dtstamp"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_14">
<field name="name" ref="base_calendar.field_event_description"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','description'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_15">
<field name="name" ref="base_calendar.field_event_dtstart"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_16">
<field name="name" ref="base_calendar.field_event_class"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','class'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_18">
<field name="name" ref="base_calendar.field_event_created"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','create_date'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_19">
<field name="name" ref="base_calendar.field_event_url"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','caldav_url'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_20">
<field name="name" ref="base_calendar.field_event_summary"/>
<field name="type_id" ref="caldav.calendar_lines_event2" />
<field name="field_id" search="[('name','=','name'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_alarm_1">
<field name="name" ref="base_calendar.field_alarm_attendee"/>

View File

@ -86,6 +86,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<field name="partner_id" position="after">
<field name="vtimezone" colspan="2" />
<field name="location" colspan="2" />
<field name="alarm_id" string="Reminder" widget="selection" />
<field name="caldav_url" widget="url" />

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@ -15,7 +15,7 @@
# 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/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
@ -49,7 +49,7 @@ class project_gtd_context(osv.osv):
'sequence': lambda *args: 1
}
_order = "sequence, name"
project_gtd_context()
@ -61,7 +61,7 @@ class project_gtd_timebox(osv.osv):
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of timebox."),
'icon': fields.selection(tools.icons, 'Icon', size=64),
}
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(project_gtd_timebox,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
if (res['type']=='form') and ('record_id' in context):
@ -123,14 +123,14 @@ class project_task(osv.osv):
'timebox_id': fields.many2one('project.gtd.timebox', "Timebox"),
'context_id': fields.many2one('project.gtd.context', "Context"),
}
def copy_data(self, cr, uid, id, default=None, context=None):
if not default:
default = {}
default['timebox_id']=False
default['context_id']=False
return super(project_task,self).copy_data(cr, uid, id, default, context)
def _get_context(self,cr, uid, ctx):
ids = self.pool.get('project.gtd.context').search(cr, uid, [], context=ctx)
return ids and ids[0] or False
@ -169,19 +169,19 @@ class project_task(osv.osv):
timebox_obj = self.pool.get('project.gtd.timebox')
if res['type'] == 'search':
tt = timebox_obj.browse(cr, uid, timebox_obj.search(cr,uid,[]))
search_extended ='''<newline/><group col="%d" expand="1" string="%s" groups="project_gtd.group_project_getting">''' % (len(tt)+6,_('Getting Things Done'))
search_extended += '''<filter domain="[('timebox_id','=', False)]" icon="gtk-new" string="Inbox"/>'''
search_extended ='''<newline/><group col="%d" expand="1" string="%s" groups="project_gtd.group_project_getting">''' % (len(tt)+7,_('Getting Things Done'))
search_extended += '''<filter domain="[('timebox_id','=', False)]" context="{'set_editable':True,'set_visible':True}" icon="gtk-new" string="Inbox"/>'''
search_extended += '''<separator orientation="vertical"/>'''
for time in tt:
if time.icon:
icon = time.icon
else :
icon=""
search_extended += '''<filter domain="[('timebox_id','=', ''' + str(time.id) + ''')]" icon="''' + icon + '''" string="''' + time.name + '''"/>'''
search_extended += '''<filter domain="[('timebox_id','=', ''' + str(time.id) + ''')]" icon="''' + icon + '''" string="''' + time.name + '''" context="{'set_visible':True}"/>'''
search_extended += '''
<separator orientation="vertical"/>
<field name="context_id" select="1" widget="selection"/>
<field name="priority" select="1"/>
<field name="context_id" select="1" widget="selection" />
<field name="priority" select="1" />
</group>
</search> '''
if search_extended:
@ -191,7 +191,7 @@ class project_task(osv.osv):
context_id_info['context_id']['selection'] = attrs_sel
res['fields'].update(context_id_info)
return res
# Override read for using this method if context set !!!
#_order = "((55-ascii(coalesce(priority,'2')))*2 + coalesce((date_start::date-current_date)/2,8))"
project_task()

View File

@ -75,9 +75,10 @@
<field name="inherit_id" ref="project.view_task_tree2" />
<field name="arch" type="xml">
<field name="remaining_hours" position="after">
<field name="timebox_id" groups="project_gtd.group_project_getting"/>
<button name="prev_timebox" type="object" icon="gtk-go-back" string="Previous" states="draft,pending,open" groups="project_gtd.group_project_getting"/>
<button name="next_timebox" type="object" icon="gtk-go-forward" string="Next" states="draft,pending,open" groups="project_gtd.group_project_getting"/>
<field name="timebox_id" groups="project_gtd.group_project_getting" invisible=" not context.get('set_visible',False)"/>
<button name="prev_timebox" type="object" icon="gtk-go-back" string="Previous" states="draft,pending,open" groups="project_gtd.group_project_getting" invisible=" not context.get('set_visible',False)"/>
<button name="next_timebox" type="object" icon="gtk-go-forward" string="Next" states="draft,pending,open" groups="project_gtd.group_project_getting" invisible=" not context.get('set_visible',False)"/>
<button name="do_reopen" states="done,cancelled" string="Reactivate" type="object" icon="gtk-convert" help="For reopening the tasks" invisible="not context.get('set_visible',False)"/>
</field>
</field>
</record>
@ -100,38 +101,13 @@
<field name="name">Tasks</field>
<field name="model">project.task</field>
<field name="type">tree</field>
<field name="inherit_id" ref="project.view_task_tree2"/>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<tree editable="top" colors="grey:state in ('done',);red:state in ('cancelled');black:state not in ('done','cancelled')" string="Tasks">
<field name="sequence" invisible="1"/>
<field name="name"/>
<field name="planned_hours" widget="float_time"/>
<field name="user_id"/>
<field name="timebox_id" widget="selection" groups="project_gtd.group_project_getting"/>
<button name="prev_timebox" type="object" icon="gtk-go-back" string="Previous" states="draft,pending,open" groups="project_gtd.group_project_getting"/>
<button name="next_timebox" type="object" icon="gtk-go-forward" string="Next" states="draft,pending,open" groups="project_gtd.group_project_getting"/>
<field name="state" invisible="1"/>
<button name="%(project.wizard_close_task)d" states="draft,pending,open" string="Done" type="action" icon="gtk-jump-to" help="For changing to done state"/>
<button groups="base.group_extended" name="%(project.wizard_delegate_task)d" states="pending,open" string="Delegate" type="action" icon="gtk-sort-descending"/>
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
<button name="do_reopen" states="done,cancelled" string="Reactivate" type="object" icon="gtk-convert" help="For reopening the tasks"/>
</tree>
<field name="name" position="after">
<field name="planned_hours" widget="float_time" invisible="not context.get('set_visible',False)"/>
</field>
</field>
</record>
<record model="ir.actions.act_window" id="action_prject_task_tree">
<field name="res_model">project.task</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
<field name="view_id" ref="view_project_task_tree2"/>
<field name="search_view_id" ref="project.view_task_search_form"/>
</record>
<menuitem name="To-Dos"
groups="group_project_getting"
id="menu_task_inbox"
parent="project.menu_project_management"
action="action_prject_task_tree"/>
</data>
</openerp>

View File

@ -31,7 +31,7 @@
""",
'author': 'Tiny',
'website': 'http://www.openerp.com',
'depends': ['base', 'project', 'hr_timesheet_sheet','hr_timesheet'],
'depends': ['base', 'project', 'hr_timesheet_sheet'],
'init_xml': [],
'update_xml': ["process/project_timesheet_process.xml"],
'demo_xml': [],

View File

@ -1,24 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!--<menuitem icon="terp-purchase" id="menu_purchase_root" name="Purchase Management"
<!--<menuitem icon="terp-purchase" id="base.menu_purchase_root" name="Purchase Management"
groups="group_purchase_user"/>-->
<menuitem icon="terp-purchase" id="menu_purchase_root" name="Procurement Management"
<menuitem icon="terp-purchase" id="base.menu_purchase_root" name="Procurement Management"
groups="group_purchase_user"/>
<menuitem id="menu_procurement_management" name="Procurement Management"
parent="menu_purchase_root" sequence="1"/>
parent="base.menu_purchase_root" sequence="1"/>
<!--supplier menu-->
<menuitem id="menu_procurement_management_supplier" name="Suppliers"
parent="menu_purchase_root" sequence="3"/>
<menuitem id="base.menu_procurement_management_supplier" name="Suppliers"
parent="base.menu_purchase_root" sequence="3"/>
<menuitem id="menu_procurement_management_supplier_name" name="Suppliers"
parent="menu_procurement_management_supplier" action="base.action_partner_supplier_form" />
parent="base.menu_procurement_management_supplier" action="base.action_partner_supplier_form" sequence="1"/>
<!--Inventory control-->
<menuitem id="menu_procurement_management_nventory" name="Inventory Control"
parent="menu_purchase_root" sequence="4"/>
parent="base.menu_purchase_root" sequence="4"/>
<menuitem action="stock.action_picking_tree4" id="menu_action_picking_tree4" parent="menu_procurement_management_nventory"
name="Incoming shipments" sequence="9"/>
<menuitem action="stock.action_reception_picking_move" id="menu_action_reception_picking_move"
@ -26,13 +26,13 @@
<!--Invoice control-->
<menuitem id="menu_procurement_management_invoice" name="Invoice Control"
parent="menu_purchase_root" sequence="6"/>
parent="base.menu_purchase_root" sequence="6"/>
<menuitem name="Pending Invoices" id="menu_procurement_management_panding_invoice" action="account.action_invoice_tree_panding_invoice"
parent="menu_procurement_management_invoice"/>
<!--product menu-->
<menuitem id="menu_procurement_management_product" name="Product"
parent="menu_purchase_root" sequence="8"/>
parent="base.menu_purchase_root" sequence="8"/>
<menuitem name="Products" id="menu_procurement_partner_contact_form" action="product.product_normal_action_puchased"
parent="menu_procurement_management_product"/>
@ -161,6 +161,11 @@
<filter icon="terp-purchase" domain="[('create_uid','child_of',[uid])]" help="My Departments Purchase Orders"/>
</field>
</group>
<group expand="context.get('report',False)" string="Group By..." colspan="4" col="10">
<filter string="By Supplier" icon="terp-purchase" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="By State" icon="terp-purchase" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Order Date" icon="terp-purchase" domain="[]" context="{'group_by':'date_order'}"/>
</group>
</search>
</field>
</record>

View File

@ -77,7 +77,7 @@
<field name="view_id" ref="purchase_order_line_form"/>
<field name="act_window_id" ref="purchase_line_form_action"/>
</record>
<!-- <menuitem action="purchase_line_form_action" id="menu_purchase_line_form_action" parent="purchase.menu_purchase_root"/>-->
<!-- <menuitem action="purchase_line_form_action" id="menu_purchase_line_form_action" parent="base.menu_purchase_root"/>-->
<record id="purchase_line_form_action2" model="ir.actions.act_window">
<field name="name">Uninvoiced Purchase Order Lines</field>

View File

@ -68,7 +68,7 @@
<field name="res_model">purchase.tender</field>
<field name="view_type">form</field>
</record>
<!-- <menuitem name="Purchase Tenders" id="menu_purchase_tender" parent="purchase.menu_purchase_root"/>-->
<!-- <menuitem name="Purchase Tenders" id="menu_purchase_tender" parent="base.menu_purchase_root"/>-->
<!-- <menuitem id="menu_purchase_Tender1" parent="menu_purchase_tender" action="action_purchase_tender"/>-->
<menuitem id="menu_purchase_Tender_pro_mgt" parent="purchase.menu_procurement_management" action="action_purchase_tender"/>
<record model="ir.actions.act_window" id="action_purchase_tender_draft">

View File

@ -79,7 +79,7 @@
<field name="search_view_id" ref="view_order_product_search"/>
</record>
<menuitem id="next_id_73" name="Reporting" parent="purchase.menu_purchase_root"/>
<menuitem id="next_id_73" name="Reporting" parent="base.menu_purchase_root"/>
<menuitem action="action_order_product_tree_all" id="menu_report_order_product_all"
name="PO by Products" parent="next_id_73"/>

View File

@ -64,12 +64,12 @@
<field name="month" select="1"/>
<field name="product_id" select="1"/>
<field name="state" select="1"/>
<group expand="1" string="Group By..." colspan="4" col="20">
<filter string="By Year" icon="terp-sale" domain="[]" context="{'group_by'name'}"/>
</group>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="By Year" icon="terp-sale" domain="[]" context="{'group_by':'name'}"/>
<filter string="By Month" icon="terp-sale" domain="[]" context="{'group_by':'month'}"/>
<filter string="By State" icon="terp-sale" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Product" icon="terp-sale" domain="[]" context="{'group_by':'product_id'}"/>
</group>
</group>
</search>
</field>
@ -151,13 +151,14 @@
<field name="month" select="1"/>
<field name="category_id" select="1"/>
<field name="state" select="1"/>
</group>
<group expand="1" string="Group By..." colspan="4" col="20">
<filter string="By Year" icon="terp-sale" domain="[]" context="{'group_by'name'}"/>
<filter string="By Year" icon="terp-sale" domain="[]" context="{'group_by':'name'}"/>
<filter string="By Month" icon="terp-sale" domain="[]" context="{'group_by':'month'}"/>
<filter string="By State" icon="terp-sale" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Category" icon="terp-sale" domain="[]" context="{'group_by':'category_id'}"/>
</group>
</group>
</search>
</field>
</record>

View File

@ -28,7 +28,7 @@
All Month, Timesheet By User, Timesheet Of Month, Timesheet By Account""",
'author': 'Tiny',
'website': 'http://www.openerp.com',
'depends': ['hr_timesheet', 'hr_timesheet_invoice','hr_attendance'],
'depends': ['hr_timesheet', 'hr_timesheet_invoice'],
'init_xml': [],
'update_xml': ['security/ir.model.access.csv', 'report_timesheet_view.xml'],
'demo_xml': [],

View File

@ -242,12 +242,13 @@
<filter icon="terp-sale" domain="[('user_id','child_of',[uid])]" help="My Departments Sale Orders"/>
</field>
<field name="date_order" select="1"/>
<group expand="1" string="Group By..." colspan="4" col="20">
<filter string="By User" icon="terp-sale" domain="[]" context="{'group_by':'user_id'}"/>
</group>
<group expand="context.get('report',False)" string="Group By..." colspan="4" col="8">
<filter string="By Parnter" icon="terp-sale" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="By State" icon="terp-sale" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Order Date" icon="terp-sale" domain="[]" context="{'group_by':'date_order'}"/>
</group>
</group>
</search>
</field>
</record>

View File

@ -665,6 +665,11 @@
<field name="name" select="1"/>
<field name="address_id" select="1"/>
</group>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="By Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
<filter string="By State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
@ -786,6 +791,11 @@
<field name="name" select="1"/>
<field name="origin" select="1"/>
</group>
<group expand="1" string="Group By..." colspan="4" col="10">
<filter string="By Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
<filter string="By State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
@ -939,6 +949,11 @@
<field name="address_id" select="1"/>
<field name="company_id" select="1" widget="selection"/>
</group>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="By Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
<filter string="By State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
@ -1094,6 +1109,11 @@
<field name="address_id" select="1"/>
<field name="company_id" select="1" widget="selection"/>
</group>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="By Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
<filter string="By State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
@ -1142,6 +1162,11 @@
<field name="address_id" select="1"/>
<field name="company_id" select="1" widget="selection"/>
</group>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="By Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
<filter string="By State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
@ -1254,6 +1279,13 @@
<field name="location_dest_id" select="1"/>
<field name="product_id" select="1"/>
</group>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="By Location" icon="terp-stock" domain="[]" context="{'group_by':'location_id'}"/>
<filter string="By Product" icon="terp-stock" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="By State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Destion Location" icon="terp-stock" domain="[]" context="{'group_by':'location_dest_id'}"/>
<filter string="By Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
@ -1373,6 +1405,11 @@
<field name="partner_id" string="Supplier" select="1"/>
<field name="product_id"/>
</group>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="By Product" icon="terp-stock" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="By State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
<filter string="By Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>

View File

@ -144,13 +144,13 @@ class survey_analysis(report_rml):
for col in range(0, len(que.column_heading_ids) + 1):
cols_widhts.append(float(300 / (len(que.column_heading_ids) + 1)))
colWidths = ",".join(map(tools.ustr, cols_widhts))
matrix_ans = ['',]
matrix_ans = [(0,'')]
for col in que.column_heading_ids:
if col.title not in matrix_ans:
matrix_ans.append(col.title)
matrix_ans.append((col.id,col.title))
rml+="""<blockTable colWidths=" """ + colWidths + """ " style="Table1"><tr>"""
for mat_col in matrix_ans:
rml+="""<td><para style="response">""" + to_xml(tools.ustr(mat_col)) + """</para></td>"""
for mat_col in range(0, len(matrix_ans)):
rml+="""<td><para style="response">""" + to_xml(tools.ustr(matrix_ans[mat_col][1])) + """</para></td>"""
rml+="""<td><para style="response">Response Count</para></td>
</tr>"""
last_col = cols_widhts[-1]
@ -158,13 +158,13 @@ class survey_analysis(report_rml):
rml+="""<tr><td><para style="answer">""" + to_xml(tools.ustr(ans.answer)) + """</para></td>"""
cr.execute("select count(id) from survey_response_answer sra where sra.answer_id = %d"%(ans.id))
tot_res = cr.fetchone()[0]
cr.execute("select count(id) ,sra.answer from survey_response_answer sra where sra.answer_id = %d group by sra.answer" % ans.id)
cr.execute("select count(id) ,sra.column_id from survey_response_answer sra where sra.answer_id = %d group by sra.column_id" % ans.id)
calc_res = cr.dictfetchall()
for mat_col in range(1, len(matrix_ans)):
percantage = 0
cal_count = 0
for cal in calc_res:
if cal['answer'] == matrix_ans[mat_col]:
if cal['column_id'] == matrix_ans[mat_col][0]:
cal_count = cal['count']
if tot_res:
percantage = round(float(cal_count)*100 / tot_res,2)
@ -181,7 +181,7 @@ class survey_analysis(report_rml):
rml+="""<blockTable colWidths=" """+ str(500 - last_col) +"," + str(last_col) + """ " style="Table1"><tr><td><para style="answer_right">""" + to_xml(tools.ustr(que.comment_label)) + """</para></td>
<td><para style="answer">""" + tools.ustr(tot_res) + """</para></td></tr></blockTable>"""
elif que.type in['multiple_choice_only_one_ans', 'multiple_choice_multiple_ans', 'multiple_textboxes','date_and_time','date']:
elif que.type in['multiple_choice_only_one_ans', 'multiple_choice_multiple_ans', 'multiple_textboxes','date_and_time','date','multiple_textboxes_diff_type']:
rml +="""<blockTable colWidths="280.0,120,100.0" style="Table1">"""
rml += """ <tr>
<td> <para style="Standard"> </para></td>
@ -234,13 +234,13 @@ class survey_analysis(report_rml):
for col in range(0,len(que.column_heading_ids) + 2):
cols_widhts.append(float(300 / (len(que.column_heading_ids) + 2)))
colWidths = ",".join(map(tools.ustr, cols_widhts))
matrix_ans = ['',]
matrix_ans = [(0,'')]
for col in que.column_heading_ids:
if col.title not in matrix_ans:
matrix_ans.append(col.title)
matrix_ans.append((col.id,col.title))
rml+="""<blockTable colWidths=" """ + colWidths + """ " style="Table1"><tr>"""
for mat_col in matrix_ans:
rml+="""<td><para style="response">""" + to_xml(tools.ustr(mat_col)) + """</para></td>"""
for mat_col in range(0,len(matrix_ans)):
rml+="""<td><para style="response">""" + to_xml(tools.ustr(matrix_ans[mat_col][1])) + """</para></td>"""
rml+="""<td><para style="response">Rating Average</para></td>
<td><para style="response">Response Count</para></td>
</tr>"""
@ -250,14 +250,13 @@ class survey_analysis(report_rml):
rating_weight_sum = 0
for mat_col in range(1, len(matrix_ans)):
cr.execute("select count(sra.answer_id) from survey_response_line sr, survey_response_answer sra\
where sr.id = sra.response_id and sra.answer_id = %d and sra.answer ='%s'" % (ans.id,matrix_ans[mat_col]))
where sr.id = sra.response_id and sra.answer_id = %d and sra.column_id ='%d'" % (ans.id,matrix_ans[mat_col][0]))
tot_res = cr.fetchone()[0]
cr.execute("select count(sra.answer_id),sqc.rating_weight from survey_response_line sr, survey_response_answer sra ,\
survey_question_column_heading sqc where sr.id = sra.response_id and \
sqc.question_id = sr.question_id and sra.answer_id = %d and sqc.title ='%s'\
group by sra.answer_id,sqc.rating_weight" % (ans.id,matrix_ans[mat_col]))
group by sra.answer_id,sqc.rating_weight" % (ans.id,matrix_ans[mat_col][1]))
col_weight = cr.fetchone()
if not col_weight:
col_weight= (0,0)
elif not col_weight[1]:
@ -295,10 +294,10 @@ class survey_analysis(report_rml):
rml += """<td><para style="response">""" + to_xml(tools.ustr(menu)) + """</para></td>"""
rml += """<td><para style="response">Response Count</para></td></tr>"""
cr.execute("select count(id), sra.answer_id from survey_response_answer sra \
where sra.answer='%s' group by sra.answer_id " % (column.title))
where sra.column_id='%s' group by sra.answer_id " % (column.id))
res_count = cr.dictfetchall()
cr.execute("select count(sra.id),sra.value_choice, sra.answer_id, sra.answer from survey_response_answer sra \
where sra.answer='%s' group by sra.value_choice ,sra.answer_id, sra.answer" % (column.title))
cr.execute("select count(sra.id),sra.value_choice, sra.answer_id, sra.column_id from survey_response_answer sra \
where sra.column_id='%s' group by sra.value_choice ,sra.answer_id, sra.column_id" % (column.id))
calc_percantage = cr.dictfetchall()
for ans in que.answer_choice_ids:
rml+="""<tr><td><para style="answer_right">""" + to_xml(tools.ustr(ans.answer)) + """</para></td>"""

View File

@ -143,12 +143,13 @@ class survey_browse_response(report_rml):
response_id = surv_resp_obj.search(cr, uid, [('survey_id','in',ids)])
surv_resp_line_obj = pooler.get_pool(cr.dbname).get('survey.response.line')
surv_obj = pooler.get_pool(cr.dbname).get('survey')
surv_ans_obj = pooler.get_pool(cr.dbname).get('survey.answer')
for response in surv_resp_obj.browse(cr,uid, response_id):
for survey in surv_obj.browse(cr, uid, [response.survey_id.id]):
status = "Not Finished"
if response.state == "done":
status = "Finished"
rml += """<blockTable colWidths="230.0,120.0,100.0,50" style="Table_heading">
rml += """<blockTable colWidths="210.0,120.0,100.0,70" style="Table_heading">
<tr>
<td>
<para style="terp_tblheader_General_Centre">Survey Title </para>
@ -164,7 +165,7 @@ class survey_browse_response(report_rml):
</td>
</tr>
</blockTable>
<blockTable colWidths="230.0,120.0,100.0,50" style="Table_head_2">
<blockTable colWidths="210.0,120.0,100.0,70" style="Table_head_2">
<tr>
<td>
<para style="terp_default_Centre_8">""" + to_xml(tools.ustr(survey.title)) + """</para>
@ -239,25 +240,100 @@ class survey_browse_response(report_rml):
</blockTable>"""
elif que.type in ['multiple_choice_only_one_ans','multiple_choice_multiple_ans']:
if len(answer) and answer[0].state == "done":
ans_list = []
for ans in answer[0].response_answer_ids:
rml +="""<blockTable colWidths="500" style="Table1">
<tr> <td> <para style="response">""" + to_xml(tools.ustr(ans.answer_id.answer)) + """</para></td></tr>
</blockTable>"""
if que.comment_field_type:
if answer[0].comment:
rml+="""<blockTable colWidths="500" style="Table1"><tr>
ans_list.append(to_xml(tools.ustr(ans.answer_id.answer)))
answer_choice=[]
_divide_columns_for_matrix = 20
_display_ans_in_rows = 5
_tbl_widths = 500
for ans in que['answer_choice_ids']:
answer_choice.append(to_xml(tools.ustr((ans.answer))))
def divide_list(lst, n):
return [lst[i::n] for i in range(n)]
divide_list = divide_list(answer_choice,_display_ans_in_rows)
for lst in divide_list:
if que.type == 'multiple_choice_multiple_ans':
if len(lst)<>0 and len(lst)<>int(round(float(len(answer_choice))/_display_ans_in_rows,0)):
lst.append('')
if not lst:
del divide_list[divide_list.index(lst):]
for divide in divide_list:
a = _divide_columns_for_matrix*len(divide)
b = float(_tbl_widths) - float(a)
cols_widhts=[]
for div in range(0,len(divide)):
cols_widhts.append(float(a/len(divide)))
cols_widhts.append(float(b/len(divide)))
colWidths = ",".join(map(tools.ustr, cols_widhts))
rml+="""<blockTable colWidths=" """ + colWidths + """ " style="Table1">
<tr>"""
for div in range(0,len(divide)):
if divide[div]!='':
if que.type == 'multiple_choice_multiple_ans':
if divide[div] in ans_list:
rml += """<td><illustration><fill color="white"/>
<rect x="0.1cm" y="-0.45cm" width="0.5 cm" height="0.5cm" fill="yes" stroke="yes" round="0.1cm"/>
<fill color="gray"/>
<rect x="0.2cm" y="-0.35cm" width="0.3 cm" height="0.3cm" fill="yes" stroke="no" round="0.1cm"/>
</illustration></td>
<td><para style="answer">""" + divide[div] + """</para></td>"""
else:
rml+="""
<td>
<illustration>
<rect x="0.1cm" y="-0.45cm" width="0.5 cm" height="0.5cm" fill="no" stroke="yes" round="0.1cm"/>
</illustration>
</td>
<td><para style="answer">""" + divide[div] + """</para></td>"""
else:
if divide[div] in ans_list:
rml += """<td><illustration><fill color="white"/>
<circle x="0.3cm" y="-0.18cm" radius="0.22 cm" fill="yes" stroke="yes" round="0.1cm"/>
<fill color="gray"/>
<circle x="0.3cm" y="-0.18cm" radius="0.10 cm" fill="yes" stroke="no" round="0.1cm"/>
</illustration></td>
<td><para style="answer">""" + divide[div] + """</para></td>"""
else:
rml+="""
<td>
<illustration>
<circle x="0.3cm" y="-0.18cm" radius="0.23 cm" fill="no" stroke="yes" round="0.1cm"/>
</illustration>
</td>
<td><para style="answer">""" + divide[div] + """</para></td>"""
else:
rml+="""
<td></td>
<td></td>"""
rml+="""</tr></blockTable>"""
if que.is_comment_require and answer[0].comment:
rml+="""<blockTable colWidths="500" style="Table1"><tr>
<td><para style="answer">""" + to_xml(tools.ustr(answer[0].comment)) + """</para></td></tr></blockTable>"""
else:
rml +="""<blockTable colWidths="500" style="Table1">
<tr> <td> <para style="response">No Response</para></td> </tr>
</blockTable>"""
elif que.type in ['multiple_textboxes','date','date_and_time','numerical_textboxes']:
elif que.type in ['multiple_textboxes_diff_type','multiple_textboxes','date','date_and_time','numerical_textboxes','multiple_textboxes_diff_type']:
if len(answer) and answer[0].state == "done":
answer_list = {}
for ans in answer[0].response_answer_ids:
rml +="""<blockTable colWidths="200,300" style="Table1">
<tr> <td> <para style="response">""" + to_xml(tools.ustr(ans.answer_id.answer)) + """</para></td>
<td> <para style="response">""" + to_xml(tools.ustr(ans.answer)) + """</para></td></tr>
</blockTable>"""
answer_list[ans.answer_id.answer] = ans.answer
for que_ans in que['answer_choice_ids']:
if que_ans.answer in answer_list:
rml +="""<blockTable colWidths="200,300" style="Table1">
<tr> <td> <para style="response">""" + to_xml(tools.ustr(que_ans.answer)) + """</para></td>
<td> <para style="response">""" + to_xml(tools.ustr(answer_list[que_ans.answer])) + """</para></td></tr>
</blockTable>"""
else:
rml +="""<blockTable colWidths="200,300" style="Table1">
<tr> <td> <para style="response">""" + to_xml(tools.ustr(que_ans.answer)) + """</para></td>
<td> <para style="response"></para></td></tr>
</blockTable>"""
else:
rml +="""<blockTable colWidths="500" style="Table1">
<tr> <td> <para style="response">No Response</para></td> </tr>
@ -301,16 +377,16 @@ class survey_browse_response(report_rml):
i+=1
cols_widhts.append(round(tmp,2))
colWidths = ",".join(map(tools.ustr, cols_widhts))
matrix_ans = ['',]
matrix_ans = [(0,''),]
for col in que.column_heading_ids:
if col.title not in matrix_ans:
matrix_ans.append(col.title)
matrix_ans.append((col.id,col.title))
len_matrix = len(matrix_ans)
if que.type in ['matrix_of_choices_only_one_ans','rating_scale'] and que.comment_column:
matrix_ans.append(que.column_name)
rml+="""<blockTable colWidths=" """ + colWidths + """ " style="Table1"><tr>"""
for mat_col in matrix_ans:
rml+="""<td><para style="response">""" + to_xml(tools.ustr(mat_col)) + """</para></td>"""
for mat_col in range(0, len(matrix_ans)):
rml+="""<td><para style="response">""" + to_xml(tools.ustr(matrix_ans[mat_col][1])) + """</para></td>"""
rml +="""</tr>"""
rml+="""</blockTable>"""
i=0
@ -326,7 +402,7 @@ class survey_browse_response(report_rml):
for mat_col in range(1, len_matrix):
value = """"""
for res_ans in answer[0].response_answer_ids:
if res_ans.answer_id.id == ans.id and res_ans.answer == matrix_ans[mat_col]:
if res_ans.answer_id.id == ans.id and res_ans.column_id.id == matrix_ans[mat_col][0]:
comment_value = to_xml(tools.ustr(res_ans.comment_field))
if que.type in ['matrix_of_drop_down_menus']:
value = """<para style="response">""" + to_xml(tools.ustr(res_ans.value_choice)) + """</para>"""

View File

@ -288,16 +288,11 @@ class survey_form(report_rml):
else:
rml+="""<td><illustration>""" + value + """</illustration></td>"""
rml+= """</tr></blockTable>"""
elif que.type in ['multiple_textboxes','numerical_textboxes', 'date_and_time','date']:
elif que.type in ['multiple_textboxes','numerical_textboxes', 'date_and_time','date','multiple_textboxes_diff_type']:
cols_widhts.append(float(_tbl_widths.replace('cm',''))/2)
cols_widhts.append(float(_tbl_widths.replace('cm',''))/2)
colWidths = "cm,".join(map(tools.ustr, cols_widhts))
colWidths = tools.ustr(colWidths) + 'cm'
rect_len = ""
if que.type in ['multiple_textboxes']:
rect_len = tools.ustr(cols_widhts[0] - 0.3) + "cm"
else:
rect_len = "6cm"
for ans in que.answer_choice_ids:
rml +="""<para style="P1"></para>
<blockTable colWidths=" """+ colWidths + """ " style="ans_tbl">
@ -305,7 +300,7 @@ class survey_form(report_rml):
<td><para style="answer">""" + to_xml(tools.ustr(ans.answer)) + """</para></td>
<td>
<illustration>
<rect x="0.0cm" y="-0.5cm" width='""" + tools.ustr(rect_len) + """' height="0.6cm" fill="no" stroke="yes"/>
<rect x="0.0cm" y="-0.5cm" width='""" + tools.ustr(str(cols_widhts[0] - 0.3) + "cm") + """' height="0.6cm" fill="no" stroke="yes"/>
</illustration>
</td>
</tr>
@ -313,14 +308,11 @@ class survey_form(report_rml):
elif que.type in ['comment']:
cols_widhts.append(float(_tbl_widths.replace('cm','')))
colWidths = "cm,".join(map(tools.ustr, cols_widhts))
colWidths = colWidths+'cm'
rect_len = ""
rect_len = tools.ustr(cols_widhts[0] - 0.4) + "cm"
rml+="""<blockTable colWidths=" """ + colWidths + """ " style="ans_tbl">
rml+="""<blockTable colWidths=" """ + colWidths + """cm " style="ans_tbl">
<tr>
<td><para style="comment"><font color="white"> </font></para>
<illustration>
<rect x="0.0cm" y="0.3cm" width='""" + tools.ustr(rect_len) + """' height="1.5cm" fill="no" stroke="yes"/>
<rect x="0.1cm" y="0.3cm" width='""" + tools.ustr(str(float(colWidths) - 0.6) +'cm') + """' height="1.5cm" fill="no" stroke="yes"/>
</illustration>
</td>
</tr>
@ -328,13 +320,12 @@ class survey_form(report_rml):
elif que.type in ['single_textbox']:
cols_widhts.append(float(_tbl_widths.replace('cm','')))
colWidths = "cm,".join(map(tools.ustr, cols_widhts))
colWidths = colWidths+'cm'
rml+="""<para style="P2"><font color="white"> </font></para>
<blockTable colWidths=" """ + colWidths + """ " style="ans_tbl">
<blockTable colWidths=" """ + colWidths + """cm " style="ans_tbl">
<tr>
<td>
<illustration>
<rect x="0.2cm" y="0.3cm" width="15.0 cm" height="0.6cm" fill="no" stroke="yes"/>
<rect x="0.2cm" y="0.3cm" width='""" + tools.ustr(str(float(colWidths) - 0.7) +'cm') + """' height="0.6cm" fill="no" stroke="yes"/>
</illustration>
</td>
</tr>

View File

@ -92,7 +92,10 @@ class survey(osv.osv):
def survey_cancel(self, cr, uid, ids, arg):
self.write(cr, uid, ids, { 'state' : 'cancel' })
return True
def copy(self, cr, uid, id, default=None,context={}):
raise osv.except_osv(_('Error !'),_('You cannot duplicate the resource!'))
survey()
class survey_history(osv.osv):
@ -129,7 +132,7 @@ class survey_page(osv.osv):
def default_get(self, cr, uid, fields, context={}):
data = super(survey_page, self).default_get(cr, uid, fields, context)
if context.has_key('line_order') and context['line_order']:
if len(context['line_order'][-1]) > 2 and context['line_order'][-1][2].has_key('sequence'):
if len(context['line_order'][-1]) > 2 and type(context['line_order'][-1][2]) == type({}) and context['line_order'][-1][2].has_key('sequence'):
data['sequence'] = context['line_order'][-1][2]['sequence'] + 1
if context.has_key('survey_id'):
data['survey_id'] = context['survey_id']
@ -150,6 +153,9 @@ class survey_page(osv.osv):
'context': context
}
def copy(self, cr, uid, id, default=None,context={}):
raise osv.except_osv(_('Error !'),_('You cannot duplicate the resource!'))
survey_page()
class survey_question(osv.osv):
@ -194,7 +200,9 @@ class survey_question(osv.osv):
('matrix_of_choices_only_multi_ans','Matrix of Choices (Multiple Answers Per Row)'),
('matrix_of_drop_down_menus','Matrix of Drop-down Menus'),
('rating_scale','Rating Scale'),('single_textbox','Single Textbox'),
('multiple_textboxes','Multiple Textboxes'),('comment','Comment/Essay Box'),
('multiple_textboxes','Multiple Textboxes'),
('multiple_textboxes_diff_type','Multiple Textboxes With Different Type'),
('comment','Comment/Essay Box'),
('numerical_textboxes','Numerical Textboxes'),('date','Date'),
('date_and_time','Date and Time'),('descriptive_text','Descriptive Text'),
('table','Table'),
@ -238,6 +246,7 @@ class survey_question(osv.osv):
'rating_allow_one_column_require' : fields.boolean('Allow Only One Response per Column (Forced Ranking)'),
'in_visible_rating_weight':fields.boolean('Is Rating Scale Invisible?'),
'in_visible_menu_choice':fields.boolean('Is Menu Choice Invisible?'),
'in_visible_answer_type':fields.boolean('Is Answer Type Invisible?'),
'comment_column':fields.boolean('Add comment column in matrix'),
'column_name':fields.char('Column Name',size=256),
'no_of_rows' : fields.integer('No of Rows'),
@ -256,17 +265,30 @@ class survey_question(osv.osv):
'validation_valid_err_msg' : lambda * a : 'The comment you entered is in an invalid format.',
'numeric_required_sum_err_msg' : lambda * a :'The choices need to add up to [enter sum here].',
'make_comment_field_err_msg' : lambda * a : 'Please enter a comment.',
'in_visible_answer_type' : lambda * a: 1
}
def on_change_type(self, cr, uid, ids, type, context=None):
val = {}
val['is_require_answer'] = False
val['is_comment_require'] = False
val['is_validation_require'] = False
val['comment_column'] = False
if type in ['multiple_textboxes_diff_type']:
val['in_visible_answer_type'] = False
return {'value': val}
if type in ['rating_scale']:
return {'value': {'in_visible_rating_weight':False,'in_visible_menu_choice':True}}
val.update({'in_visible_rating_weight':False,'in_visible_menu_choice':True})
return {'value': val}
elif type in ['matrix_of_drop_down_menus']:
return {'value': {'in_visible_rating_weight':True,'in_visible_menu_choice':False}}
val.update({'in_visible_rating_weight':True,'in_visible_menu_choice':False})
return {'value': val}
elif type in ['single_textbox']:
return {'value': {'in_visible_rating_weight':True,'in_visible_menu_choice':True}}
val.update({'in_visible_rating_weight':True,'in_visible_menu_choice':True})
return {'value': val}
else:
return {'value': {'in_visible_rating_weight':True,'in_visible_menu_choice':True}}
val.update({'in_visible_rating_weight':True,'in_visible_menu_choice':True,'in_visible_answer_type':True})
return {'value': val}
def write(self, cr, uid, ids, vals, context=None):
questions = self.read(cr,uid, ids, ['answer_choice_ids', 'type', 'required_type','req_ans', 'minimum_req_ans', 'maximum_req_ans', 'column_heading_ids'])
@ -348,14 +370,14 @@ class survey_question(osv.osv):
raise osv.except_osv(_('Error !'),_("You must enter one or more column heading."))
if vals['type'] in ['multiple_choice_multiple_ans','matrix_of_choices_only_one_ans', 'matrix_of_choices_only_multi_ans', 'matrix_of_drop_down_menus', 'rating_scale','multiple_textboxes','numerical_textboxes','date','date_and_time']:
if vals.has_key('is_require_answer') and vals.has_key('required_type') and vals['required_type'] in ['at least', 'at most', 'exactly']:
if vals['req_ans'] > len(vals['answer_choice_ids']) or not vals['req_ans']:
if vals.has_key('answer_choice_ids') and vals['req_ans'] > len(vals['answer_choice_ids']) or not vals['req_ans']:
raise osv.except_osv(_('Error !'),_("#Required Answer you entered is greater than the number of answer. Please use a number that is smaller than %d.") % (len(vals['answer_choice_ids'])+1))
if vals.has_key('is_require_answer') and vals.has_key('required_type') and vals['required_type'] == 'a range':
minimum_ans = vals['minimum_req_ans']
maximum_ans = vals['maximum_req_ans']
if vals['minimum_req_ans'] > len(vals['answer_choice_ids']) or not vals['minimum_req_ans']:
if vals.has_key('answer_choice_ids') or vals['minimum_req_ans'] > len(vals['answer_choice_ids']) or not vals['minimum_req_ans']:
raise osv.except_osv(_('Error !'),_("Minimum Required Answer you entered is greater than the number of answer. Please use a number that is smaller than %d.") % (len(vals['answer_choice_ids'])+1))
if vals['maximum_req_ans'] > len(vals['answer_choice_ids']) or not vals['maximum_req_ans']:
if vals.has_key('answer_choice_ids') or vals['maximum_req_ans'] > len(vals['answer_choice_ids']) or not vals['maximum_req_ans']:
raise osv.except_osv(_('Error !'),_("Maximum Required Answer you entered for your maximum is greater than the number of answer. Please use a number that is smaller than %d.") % (len(vals['answer_choice_ids'])+1))
if maximum_ans <= minimum_ans:
raise osv.except_osv(_('Error !'),_("Maximum Required Answer is greater than Minimum Required Answer"))
@ -386,7 +408,8 @@ class survey_question(osv.osv):
def default_get(self, cr, uid, fields, context={}):
data = super(survey_question, self).default_get(cr, uid, fields, context)
if context.has_key('line_order') and context['line_order']:
if len(context['line_order'][-1]) > 2 and context['line_order'][-1][2].has_key('sequence'):
if len(context['line_order'][-1]) > 2 and type(context['line_order'][-1][2]) == type({}) and context['line_order'][-1][2].has_key('sequence'):
data['sequence'] = context['line_order'][-1][2]['sequence'] + 1
if context.has_key('page_id'):
data['page_id']= context['page_id']
@ -450,21 +473,31 @@ class survey_answer(osv.osv):
}
return val
def _get_in_visible_answer_type(self,cr, uid, context={}):
if context.get('in_visible_answer_type',False):
return context['in_visible_answer_type']
return False
_columns = {
'question_id' : fields.many2one('survey.question', 'Question', ondelete='cascade'),
'answer' : fields.char('Answer', size=128, required=1),
'sequence' : fields.integer('Sequence'),
'response' : fields.function(_calc_response_avg, method=True, string="#Response", multi='sums'),
'average' : fields.function(_calc_response_avg, method=True, string="#Avg", multi='sums'),
'type' : fields.selection([('char','Character'),('date','Date'),('datetime','Date & Time'),('integer','Integer'),('float','Float'),('selection','Selection'),('email','Email Address')], "Type of Answer",required=1),
'menu_choice' : fields.text('Menu Choices'),
'in_visible_answer_type':fields.boolean('Is Answer Type Invisible??')
}
_defaults = {
'sequence' : lambda * a: 1
'sequence' : lambda * a: 1,
'type' : lambda * a: 'char',
'in_visible_answer_type':_get_in_visible_answer_type,
}
def default_get(self, cr, uid, fields, context={}):
data = super(survey_answer, self).default_get(cr, uid, fields, context)
if context.has_key('line_order') and context['line_order']:
if len(context['line_order'][-1]) > 2 and context['line_order'][-1][2].has_key('sequence'):
if len(context['line_order'][-1]) > 2 and type(context['line_order'][-1][2]) == type({}) and context['line_order'][-1][2].has_key('sequence'):
data['sequence'] = context['line_order'][-1][2]['sequence'] + 1
return data
@ -484,6 +517,8 @@ class survey_response(osv.osv):
_defaults = {
'state' : lambda * a: "skip",
}
def copy(self, cr, uid, id, default=None,context={}):
raise osv.except_osv(_('Error !'),_('You cannot duplicate the resource!'))
survey_response()
@ -495,7 +530,7 @@ class survey_response_line(osv.osv):
'response_id' : fields.many2one('survey.response', 'Response', ondelete='cascade'),
'date_create' : fields.datetime('Create Date', required=1),
'state' : fields.selection([('draft', 'Draft'), ('done', 'Answered'),('skip', 'Skiped')], 'Status', readonly=True),
'question_id' : fields.many2one('survey.question', 'Question', ondelete='cascade'),
'question_id' : fields.many2one('survey.question', 'Question'),
'page_id' : fields.related('question_id', 'page_id', type='many2one', relation='survey.page', string='Page'),
'response_answer_ids' : fields.one2many('survey.response.answer', 'response_id', 'Response Answer'),
'response_table_ids' : fields.one2many('survey.tbl.column.heading', 'response_table_id', 'Response Answer'),
@ -525,7 +560,7 @@ class survey_tbl_column_heading(osv.osv):
_order = 'name'
_columns = {
'name' : fields.integer('Row Number'),
'column_id' : fields.many2one('survey.question.column.heading', 'Column', ondelete='cascade'),
'column_id' : fields.many2one('survey.question.column.heading', 'Column'),
'value' : fields.char('Value', size = 255),
'response_table_id' : fields.many2one('survey.response.line', 'Response', ondelete='cascade'),
}
@ -538,7 +573,8 @@ class survey_response_answer(osv.osv):
_rec_name = 'response_id'
_columns = {
'response_id' : fields.many2one('survey.response.line', 'Response', ondelete='cascade'),
'answer_id' : fields.many2one('survey.answer', 'Answer', required=1, ondelete='cascade'),
'answer_id' : fields.many2one('survey.answer', 'Answer', required=1),
'column_id' : fields.many2one('survey.question.column.heading','Column'),
'answer' : fields.char('Value', size =255),
'value_choice' : fields.char('Value Choice', size =255),
'comment' : fields.text('Notes'),
@ -677,7 +713,10 @@ class survey_question_wiz(osv.osv_memory):
fields = {}
pag_rec = page_obj.read(cr, uid, p_id)
xml_form = etree.Element('form', {'string': _(tools.ustr(pag_rec['title']))})
etree.SubElement(xml_form, 'label', {'string': to_xml(tools.ustr(pag_rec['note'] or '')), 'align': '0.0', 'colspan':'4'})
xml_group = etree.SubElement(xml_form, 'group', {'col': '1', 'colspan': '4'})
if pag_rec['note']:
for que_test in pag_rec['note'].split('\n'):
etree.SubElement(xml_group, 'label', {'string': to_xml(tools.ustr(que_test)), 'align':"0.0"})
que_ids = pag_rec['question_ids']
qu_no = 0
for que in que_ids:
@ -727,7 +766,7 @@ class survey_question_wiz(osv.osv_memory):
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_selection_" + tools.ustr(row['id']),'string':to_xml(tools.ustr(row['answer']))})
selection = [('','')]
for col in que_col_head.read(cr, uid, que_rec['column_heading_ids']):
selection.append((col['title'], col['title']))
selection.append((str(col['id']), col['title']))
fields[tools.ustr(que) + "_selection_" + tools.ustr(row['id'])] = {'type':'selection', 'selection' : selection, 'string': "Answer"}
if que_rec['comment_column']:
fields[tools.ustr(que) + "_commentcolumn_"+tools.ustr(row['id']) + "_field"] = {'type':'char', 'size' : 255, 'string':tools.ustr(que_rec['column_name']), 'views':{}}
@ -740,8 +779,8 @@ class survey_question_wiz(osv.osv_memory):
for row in ans_ids:
etree.SubElement(xml_group, 'label', {'string': to_xml(tools.ustr(row['answer'])) +' :-', 'align': '0.0'})
for col in que_col_head.read(cr, uid, que_rec['column_heading_ids']):
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title']), 'nolabel':"1"})
fields[tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title'])] = {'type':'boolean', 'string': col['title']}
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['id']), 'nolabel':"1"})
fields[tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['id'])] = {'type':'boolean', 'string': col['title']}
elif que_rec['type'] == 'matrix_of_drop_down_menus':
xml_group = etree.SubElement(xml_group, 'group', {'col': str(len(que_rec['column_heading_ids']) + 1), 'colspan': '4'})
etree.SubElement(xml_group, 'separator', {'string': '.','colspan': '1'})
@ -754,10 +793,10 @@ class survey_question_wiz(osv.osv_memory):
if col['menu_choice']:
for item in col['menu_choice'].split('\n'):
if item and not item.strip() == '': selection.append((item ,item))
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title']),'nolabel':'1'})
fields[tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title'])] = {'type':'selection', 'string': col['title'], 'selection':selection}
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['id']),'nolabel':'1'})
fields[tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['id'])] = {'type':'selection', 'string': col['title'], 'selection':selection}
elif que_rec['type'] == 'multiple_textboxes':
xml_group = etree.SubElement(xml_group, 'group', {'col': '1', 'colspan': '4'})
xml_group = etree.SubElement(xml_group, 'group', {'col': '4', 'colspan': '4'})
type = "char"
if que_rec['is_validation_require']:
if que_rec['validation_type'] in ['must_be_whole_number']:
@ -767,25 +806,25 @@ class survey_question_wiz(osv.osv_memory):
elif que_rec['validation_type'] in ['must_be_date']:
type = "date"
for ans in ans_ids:
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"})
etree.SubElement(xml_group, 'field', {'width':"300",'colspan': '1','name': tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"})
if type == "char" :
fields[tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"] = {'type':'char', 'size':255, 'string':ans['answer']}
else:
fields[tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"] = {'type': str(type), 'string':ans['answer']}
elif que_rec['type'] == 'numerical_textboxes':
xml_group = etree.SubElement(xml_group, 'group', {'col': '2', 'colspan': '2'})
xml_group = etree.SubElement(xml_group, 'group', {'col': '4', 'colspan': '4'})
for ans in ans_ids:
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_numeric"})
etree.SubElement(xml_group, 'field', {'width':"300",'colspan': '1','name': tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_numeric"})
fields[tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_numeric"] = {'type':'integer', 'string':ans['answer']}
elif que_rec['type'] == 'date':
xml_group = etree.SubElement(xml_group, 'group', {'col': '2', 'colspan': '2'})
xml_group = etree.SubElement(xml_group, 'group', {'col': '4', 'colspan': '4'})
for ans in ans_ids:
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(ans['id'])})
etree.SubElement(xml_group, 'field', {'width':"300",'colspan': '1','name': tools.ustr(que) + "_" + tools.ustr(ans['id'])})
fields[tools.ustr(que) + "_" + tools.ustr(ans['id'])] = {'type':'date', 'string':ans['answer']}
elif que_rec['type'] == 'date_and_time':
xml_group = etree.SubElement(xml_group, 'group', {'col': '2', 'colspan': '2'})
xml_group = etree.SubElement(xml_group, 'group', {'col': '4', 'colspan': '4'})
for ans in ans_ids:
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(ans['id'])})
etree.SubElement(xml_group, 'field', {'width':"300",'colspan': '1','name': tools.ustr(que) + "_" + tools.ustr(ans['id'])})
fields[tools.ustr(que) + "_" + tools.ustr(ans['id'])] = {'type':'datetime', 'string':ans['answer']}
elif que_rec['type'] == 'descriptive_text':
for que_test in que_rec['descriptive_text'].split('\n'):
@ -804,6 +843,24 @@ class survey_question_wiz(osv.osv_memory):
for col in que_col_head.read(cr, uid, que_rec['column_heading_ids']):
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_table_" + tools.ustr(col['id']) +"_"+ tools.ustr(row), 'nolabel':"1"})
fields[tools.ustr(que) + "_table_" + tools.ustr(col['id']) +"_"+ tools.ustr(row)] = {'type':'char','size':255,'views':{}}
elif que_rec['type'] == 'multiple_textboxes_diff_type':
xml_group = etree.SubElement(xml_group, 'group', {'col': '4', 'colspan': '4'})
for ans in ans_ids:
if ans['type'] == "email" :
fields[tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"] = {'type':'char', 'size':255, 'string':ans['answer']}
etree.SubElement(xml_group, 'field', {'widget':'email','width':"300",'colspan': '1','name': tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"})
else:
etree.SubElement(xml_group, 'field', {'width':"300",'colspan': '1','name': tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"})
if ans['type'] == "char" :
fields[tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"] = {'type':'char', 'size':255, 'string':ans['answer']}
elif ans['type'] in ['integer','float','date','datetime']:
fields[tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"] = {'type': str(ans['type']), 'string':ans['answer']}
else:
selection = []
if ans['menu_choice']:
for item in ans['menu_choice'].split('\n'):
if item and not item.strip() == '': selection.append((item ,item))
fields[tools.ustr(que) + "_" + tools.ustr(ans['id']) + "_multi"] = {'type':'selection', 'selection' : selection, 'string':ans['answer']}
if que_rec['type'] in ['multiple_choice_only_one_ans', 'multiple_choice_multiple_ans', 'matrix_of_choices_only_one_ans', 'matrix_of_choices_only_multi_ans', 'matrix_of_drop_down_menus', 'rating_scale'] and que_rec['is_comment_require']:
if que_rec['type'] in ['multiple_choice_only_one_ans', 'multiple_choice_multiple_ans'] and que_rec['comment_field_type'] in ['char','text'] and que_rec['make_comment_field']:
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_otherfield", 'colspan':"4"})
@ -985,7 +1042,7 @@ class survey_question_wiz(osv.osv_memory):
continue
elif val1 and key1.split('_')[1] == "selection" and key1.split('_')[0] == que_id:
if len(key1.split('_')) > 2:
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':resp_id, 'answer_id':key1.split('_')[-1], 'answer' : val1})
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':resp_id, 'answer_id':key1.split('_')[-1], 'column_id' : val1})
selected_value.append(val1)
response_list.append(str(ans_create_id) + "_" + str(key1.split('_')[-1]))
else:
@ -997,10 +1054,10 @@ class survey_question_wiz(osv.osv_memory):
comment_value = True
else:
error = False
if que_rec['comment_valid_type'] == 'must_be_specific_length':
if que_rec['is_comment_require'] and que_rec['comment_valid_type'] == 'must_be_specific_length':
if (not val1 and que_rec['comment_minimum_no']) or len(val1) < que_rec['comment_minimum_no'] or len(val1) > que_rec['comment_maximum_no']:
error = True
elif que_rec['comment_valid_type'] in ['must_be_whole_number', 'must_be_decimal_number', 'must_be_date']:
elif que_rec['is_comment_require'] and que_rec['comment_valid_type'] in ['must_be_whole_number', 'must_be_decimal_number', 'must_be_date']:
error = False
try:
if que_rec['comment_valid_type'] == 'must_be_whole_number':
@ -1017,7 +1074,7 @@ class survey_question_wiz(osv.osv_memory):
error = True
except:
error = True
elif que_rec['comment_valid_type'] == 'must_be_email_address':
elif que_rec['is_comment_require'] and que_rec['comment_valid_type'] == 'must_be_email_address':
import re
if re.match("^[a-zA-Z0-9._%-+]+@[a-zA-Z0-9._%-]+.[a-zA-Z]{2,6}$", val1) == None:
error = True
@ -1033,10 +1090,10 @@ class survey_question_wiz(osv.osv_memory):
select_count += 1
elif val1 and key1.split('_')[0] == que_id and (key1.split('_')[1] == "single" or (len(key1.split('_')) > 2 and key1.split('_')[2] == 'multi')):
error = False
if que_rec['validation_type'] == 'must_be_specific_length':
if que_rec['is_validation_require'] and que_rec['validation_type'] == 'must_be_specific_length':
if (not val1 and que_rec['validation_minimum_no']) or len(val1) < que_rec['validation_minimum_no'] or len(val1) > que_rec['validation_maximum_no']:
error = True
elif que_rec['validation_type'] in ['must_be_whole_number', 'must_be_decimal_number', 'must_be_date']:
elif que_rec['is_validation_require'] and que_rec['validation_type'] in ['must_be_whole_number', 'must_be_decimal_number', 'must_be_date']:
error = False
try:
if que_rec['validation_type'] == 'must_be_whole_number':
@ -1053,7 +1110,7 @@ class survey_question_wiz(osv.osv_memory):
error = True
except:
error = True
elif que_rec['validation_type'] == 'must_be_email_address':
elif que_rec['is_validation_require'] and que_rec['validation_type'] == 'must_be_email_address':
import re
if re.match("^[a-zA-Z0-9._%-+]+@[a-zA-Z0-9._%-]+.[a-zA-Z]{2,6}$", val1) == None:
error = True
@ -1068,16 +1125,23 @@ class survey_question_wiz(osv.osv_memory):
sur_name_read['store_ans'][resp_id].update({key1:val1})
select_count += 1
elif val1 and que_id == key1.split('_')[0] and len(key1.split('_')) > 2 and key1.split('_')[2] == 'numeric':
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':resp_id, 'answer_id':key1.split('_')[1], 'answer' : val1})
sur_name_read['store_ans'][resp_id].update({key1:val1})
select_count += 1
numeric_sum += int(val1)
if not val1=="0":
try:
numeric_sum += int(val1)
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':resp_id, 'answer_id':key1.split('_')[1], 'answer' : val1})
sur_name_read['store_ans'][resp_id].update({key1:val1})
select_count += 1
except:
for res in resp_id_list:
sur_name_read['store_ans'].pop(res)
raise osv.except_osv(_('Error !'), _("'" + que_rec['question'] + "' \nPlease enter an integer value " ))
elif val1 and que_id == key1.split('_')[0] and len(key1.split('_')) == 3:
if type(val1) == type('') or type(val1) == type(u''):
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':resp_id, 'answer_id':key1.split('_')[1], 'answer' : key1.split('_')[2], 'value_choice' : val1})
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':resp_id, 'answer_id':key1.split('_')[1], 'column_id' : key1.split('_')[2], 'value_choice' : val1})
sur_name_read['store_ans'][resp_id].update({key1:val1})
else:
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':resp_id, 'answer_id':key1.split('_')[1], 'answer' : key1.split('_')[2]})
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':resp_id, 'answer_id':key1.split('_')[1], 'column_id' : key1.split('_')[2]})
sur_name_read['store_ans'][resp_id].update({key1:True})
matrix_list.append(key1.split('_')[0] + '_' + key1.split('_')[1])
select_count += 1
@ -1106,7 +1170,7 @@ class survey_question_wiz(osv.osv_memory):
for res in resp_id_list:
sur_name_read['store_ans'].pop(res)
raise osv.except_osv(_('Error re !'), _("'" + que_rec['question'] + "' " + tools.ustr(que_rec['numeric_required_sum_err_msg'])))
if que_rec['type'] in ['multiple_choice_multiple_ans','matrix_of_choices_only_one_ans','matrix_of_choices_only_multi_ans','matrix_of_drop_down_menus','rating_scale','multiple_textboxes','numerical_textboxes','date','date_and_time'] and que_rec['is_require_answer']:
if que_rec['type'] in ['multiple_textboxes_diff_type', 'multiple_choice_multiple_ans','matrix_of_choices_only_one_ans','matrix_of_choices_only_multi_ans','matrix_of_drop_down_menus','rating_scale','multiple_textboxes','numerical_textboxes','date','date_and_time'] and que_rec['is_require_answer']:
if matrix_list:
if (que_rec['required_type'] == 'all' and len(list(set(matrix_list))) < len(que_rec['answer_choice_ids'])) or \
(que_rec['required_type'] == 'at least' and len(list(set(matrix_list))) < que_rec['req_ans']) or \
@ -1159,7 +1223,7 @@ class survey_question_wiz(osv.osv_memory):
continue
elif val and key.split('_')[1] == "selection":
if len(key.split('_')) > 2:
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':update, 'answer_id':key.split('_')[-1], 'answer' : val})
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':update, 'answer_id':key.split('_')[-1], 'column_id' : val})
selected_value.append(val)
response_list.append(str(ans_create_id) + "_" + str(key.split('_')[-1]))
else:
@ -1172,10 +1236,10 @@ class survey_question_wiz(osv.osv_memory):
comment_value = True
else:
error = False
if que_rec['comment_valid_type'] == 'must_be_specific_length':
if que_rec['is_comment_require'] and que_rec['comment_valid_type'] == 'must_be_specific_length':
if (not val and que_rec['comment_minimum_no']) or len(val) < que_rec['comment_minimum_no'] or len(val) > que_rec['comment_maximum_no']:
error = True
elif que_rec['comment_valid_type'] in ['must_be_whole_number', 'must_be_decimal_number', 'must_be_date']:
elif que_rec['is_comment_require'] and que_rec['comment_valid_type'] in ['must_be_whole_number', 'must_be_decimal_number', 'must_be_date']:
try:
if que_rec['comment_valid_type'] == 'must_be_whole_number':
value = int(val)
@ -1191,7 +1255,7 @@ class survey_question_wiz(osv.osv_memory):
error = True
except:
error = True
elif que_rec['comment_valid_type'] == 'must_be_email_address':
elif que_rec['is_comment_require'] and que_rec['comment_valid_type'] == 'must_be_email_address':
import re
if re.match("^[a-zA-Z0-9._%-+]+@[a-zA-Z0-9._%-]+.[a-zA-Z]{2,6}$", val) == None:
error = True
@ -1205,10 +1269,10 @@ class survey_question_wiz(osv.osv_memory):
select_count += 1
elif val and (key.split('_')[1] == "single" or (len(key.split('_')) > 2 and key.split('_')[2] == 'multi')):
error = False
if que_rec['validation_type'] == 'must_be_specific_length':
if que_rec['is_validation_require'] and que_rec['validation_type'] == 'must_be_specific_length':
if (not val and que_rec['validation_minimum_no']) or len(val) < que_rec['validation_minimum_no'] or len(val) > que_rec['validation_maximum_no']:
error = True
elif que_rec['validation_type'] in ['must_be_whole_number', 'must_be_decimal_number', 'must_be_date']:
elif que_rec['is_validation_require'] and que_rec['validation_type'] in ['must_be_whole_number', 'must_be_decimal_number', 'must_be_date']:
error = False
try:
if que_rec['validation_type'] == 'must_be_whole_number':
@ -1225,7 +1289,7 @@ class survey_question_wiz(osv.osv_memory):
error = True
except Exception ,e:
error = True
elif que_rec['validation_type'] == 'must_be_email_address':
elif que_rec['is_validation_require'] and que_rec['validation_type'] == 'must_be_email_address':
import re
if re.match("^[a-zA-Z0-9._%-+]+@[a-zA-Z0-9._%-]+.[a-zA-Z]{2,6}$", val) == None:
error = True
@ -1239,18 +1303,23 @@ class survey_question_wiz(osv.osv_memory):
sur_name_read['store_ans'][update].update({key:val})
select_count += 1
elif val and len(key.split('_')) > 2 and key.split('_')[2] == 'numeric':
resp_obj.write(cr, uid, update, {'state': 'done'})
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':update, 'answer_id':ans_id_len[1], 'answer' : val})
sur_name_read['store_ans'][update].update({key:val})
select_count += 1
numeric_sum += int(val)
if not val=="0":
try:
numeric_sum += int(val)
resp_obj.write(cr, uid, update, {'state': 'done'})
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':update, 'answer_id':ans_id_len[1], 'answer' : val})
sur_name_read['store_ans'][update].update({key:val})
select_count += 1
except:
raise osv.except_osv(_('Error !'), _("'" + que_rec['question'] + "' \n Please enter an integer value " ))
elif val and len(key.split('_')) == 3:
resp_obj.write(cr, uid, update, {'state': 'done'})
if type(val) == type('') or type(val) == type(u''):
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':update, 'answer_id':ans_id_len[1], 'answer' : ans_id_len[2], 'value_choice' : val})
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':update, 'answer_id':ans_id_len[1], 'column_id' : ans_id_len[2], 'value_choice' : val})
sur_name_read['store_ans'][update].update({key:val})
else:
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':update, 'answer_id':ans_id_len[1], 'answer' : ans_id_len[2]})
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':update, 'answer_id':ans_id_len[1], 'column_id' : ans_id_len[2]})
sur_name_read['store_ans'][update].update({key:True})
matrix_list.append(key.split('_')[0] + '_' + key.split('_')[1])
select_count += 1
@ -1274,7 +1343,7 @@ class survey_question_wiz(osv.osv_memory):
raise osv.except_osv(_('Error re !'), _("'" + que_rec['question'] + "' " + tools.ustr(que_rec['numeric_required_sum_err_msg'])))
if not select_count:
resp_obj.write(cr, uid, update, {'state': 'skip'})
if que_rec['type'] in ['multiple_choice_multiple_ans','matrix_of_choices_only_one_ans','matrix_of_choices_only_multi_ans','matrix_of_drop_down_menus','rating_scale','multiple_textboxes','numerical_textboxes','date','date_and_time'] and que_rec['is_require_answer']:
if que_rec['type'] in ['multiple_textboxes_diff_type','multiple_choice_multiple_ans','matrix_of_choices_only_one_ans','matrix_of_choices_only_multi_ans','matrix_of_drop_down_menus','rating_scale','multiple_textboxes','numerical_textboxes','date','date_and_time'] and que_rec['is_require_answer']:
if matrix_list:
if (que_rec['required_type'] == 'all' and len(list(set(matrix_list))) < len(que_rec['answer_choice_ids'])) or \
(que_rec['required_type'] == 'at least' and len(list(set(matrix_list))) < que_rec['req_ans']) or \

File diff suppressed because it is too large Load Diff

View File

@ -47,12 +47,13 @@
<field name="type" on_change="on_change_type(type)"/>
<field name="in_visible_rating_weight" invisible="1"/>
<field name="in_visible_menu_choice" invisible="1"/>
<field name="in_visible_answer_type" invisible="1"/>
<notebook colspan="4">
<page string="Options">
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','table')]}">
<group attrs="{'invisible':[('type','!=','multiple_textboxes_diff_type'),('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','table')]}">
<separator string="Answer" colspan="4"/>
<group colspan="4" attrs="{'invisible':[('type','=','table')]}">
<field name="answer_choice_ids" nolabel="1" colspan="4" context="{'line_order': answer_choice_ids}"/>
<field name="answer_choice_ids" nolabel="1" colspan="4" context="{'line_order': answer_choice_ids}" default_get="{'in_visible_answer_type': in_visible_answer_type}"/>
</group>
<group colspan="4" attrs="{'invisible':[('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','table')]}">
<field name="column_heading_ids" colspan="4" nolabel="1" default_get="{'in_visible_rating_weight':in_visible_rating_weight,'in_visible_menu_choice':in_visible_menu_choice}"/>
@ -95,7 +96,7 @@
</group>
</group>
</group>
<newline/>
<newline/>
<group attrs="{'invisible':[('type','!=','matrix_of_choices_only_one_ans'),('type','!=','rating_scale')]}">
<field name="comment_column"/>
<group colspan="2" attrs="{'invisible':[('comment_column','!=',True)]}">
@ -129,12 +130,12 @@
</group>
</group>
<newline/>
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','single_textbox'),('type','!=','comment')]}">
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','single_textbox'),('type','!=','comment'),('type','!=','multiple_textboxes_diff_type')]}">
<separator string="Required Answer" colspan="4"/>
<newline/>
<field name="is_require_answer"/>
<group col="6" colspan="4" attrs="{'invisible':[('is_require_answer','=',False)]}">
<group colspan="4" attrs="{'invisible':[('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time')]}">
<group colspan="4" attrs="{'invisible':[('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','multiple_textboxes_diff_type')]}">
<field name="required_type"/>
<group colspan="2" attrs="{'invisible':[('required_type','!=','at least'),('required_type','!=','at most'),('required_type','!=','exactly')]}">
<field name="req_ans" />
@ -306,12 +307,13 @@
<field name="type" on_change="on_change_type(type)"/>
<field name="in_visible_rating_weight" invisible="1"/>
<field name="in_visible_menu_choice" invisible="1"/>
<notebook colspan="4">
<field name="in_visible_answer_type" invisible="1"/>
<notebook colspan="4">
<page string="Options">
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','table')]}">
<group attrs="{'invisible':[('type','!=','multiple_textboxes_diff_type'),('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','table')]}">
<separator string="Answer" colspan="4"/>
<group colspan="4" attrs="{'invisible':[('type','=','table')]}">
<field name="answer_choice_ids" nolabel="1" colspan="4" context="{'line_order': answer_choice_ids}"/>
<field name="answer_choice_ids" nolabel="1" colspan="4" context="{'line_order': answer_choice_ids}" default_get="{'in_visible_answer_type': in_visible_answer_type}"/>
</group>
<group colspan="4" attrs="{'invisible':[('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','table')]}">
<field name="column_heading_ids" colspan="4" nolabel="1" default_get="{'in_visible_rating_weight':in_visible_rating_weight,'in_visible_menu_choice':in_visible_menu_choice}"/>
@ -388,12 +390,12 @@
</group>
</group>
<newline/>
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','single_textbox'),('type','!=','comment')]}">
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','single_textbox'),('type','!=','comment'),('type','!=','multiple_textboxes_diff_type')]}">
<separator string="Required Answer" colspan="4"/>
<newline/>
<field name="is_require_answer"/>
<group col="6" colspan="4" attrs="{'invisible':[('is_require_answer','=',False)]}">
<group colspan="4" attrs="{'invisible':[('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time')]}">
<group colspan="4" attrs="{'invisible':[('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','multiple_textboxes_diff_type')]}">
<field name="required_type"/>
<group colspan="2" attrs="{'invisible':[('required_type','!=','at least'),('required_type','!=','at most'),('required_type','!=','exactly')]}">
<field name="req_ans" />
@ -427,6 +429,7 @@
</group>
</page>
</notebook>
</form>
<tree string="Survey Question">
<field name="sequence" string="Seq"/>
@ -500,12 +503,13 @@
<field name="type" on_change="on_change_type(type)"/>
<field name="in_visible_rating_weight" invisible="1"/>
<field name="in_visible_menu_choice" invisible="1"/>
<field name="in_visible_answer_type" invisible="1"/>
<notebook colspan="4">
<page string="Options">
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','table')]}">
<group attrs="{'invisible':[('type','!=','multiple_textboxes_diff_type'),('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','table')]}">
<separator string="Answer" colspan="4"/>
<group colspan="4" attrs="{'invisible':[('type','=','table')]}">
<field name="answer_choice_ids" nolabel="1" colspan="4" context="{'line_order': answer_choice_ids}"/>
<field name="answer_choice_ids" nolabel="1" colspan="4" context="{'line_order': answer_choice_ids}" default_get="{'in_visible_answer_type': in_visible_answer_type}"/>
</group>
<group colspan="4" attrs="{'invisible':[('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','table')]}">
<field name="column_heading_ids" colspan="4" nolabel="1" default_get="{'in_visible_rating_weight':in_visible_rating_weight,'in_visible_menu_choice':in_visible_menu_choice}"/>
@ -582,12 +586,12 @@
</group>
</group>
<newline/>
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','single_textbox'),('type','!=','comment')]}">
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','single_textbox'),('type','!=','comment'),('type','!=','multiple_textboxes_diff_type')]}">
<separator string="Required Answer" colspan="4"/>
<newline/>
<field name="is_require_answer"/>
<group col="6" colspan="4" attrs="{'invisible':[('is_require_answer','=',False)]}">
<group colspan="4" attrs="{'invisible':[('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time')]}">
<group colspan="4" attrs="{'invisible':[('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','multiple_textboxes_diff_type')]}">
<field name="required_type"/>
<group colspan="2" attrs="{'invisible':[('required_type','!=','at least'),('required_type','!=','at most'),('required_type','!=','exactly')]}">
<field name="req_ans" />
@ -665,12 +669,13 @@
<field name="type" on_change="on_change_type(type)"/>
<field name="in_visible_rating_weight" invisible="1"/>
<field name="in_visible_menu_choice" invisible="1"/>
<field name="in_visible_answer_type" invisible="1"/>
<notebook colspan="4">
<page string="Options">
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','table')]}">
<group attrs="{'invisible':[('type','!=','multiple_textboxes_diff_type'),('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','table')]}">
<separator string="Answer" colspan="4"/>
<group colspan="4" attrs="{'invisible':[('type','=','table')]}">
<field name="answer_choice_ids" nolabel="1" colspan="4" context="{'line_order': answer_choice_ids}"/>
<field name="answer_choice_ids" nolabel="1" colspan="4" context="{'line_order': answer_choice_ids}" default_get="{'in_visible_answer_type': in_visible_answer_type}"/>
</group>
<group colspan="4" attrs="{'invisible':[('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','table')]}">
<field name="column_heading_ids" colspan="4" nolabel="1" default_get="{'in_visible_rating_weight':in_visible_rating_weight,'in_visible_menu_choice':in_visible_menu_choice}"/>
@ -711,15 +716,16 @@
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
</group>
</group>
<group attrs="{'invisible':[('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale')]}">
<field name="comment_column"/>
<group colspan="2" attrs="{'invisible':[('comment_column','!=',True)]}">
<field name="column_name" colspan="2"/>
</group>
</group>
</group>
</group>
<newline/>
<group attrs="{'invisible':[('type','!=','matrix_of_choices_only_one_ans'),('type','!=','rating_scale')]}">
<field name="comment_column"/>
<group colspan="2" attrs="{'invisible':[('comment_column','!=',True)]}">
<field name="column_name" colspan="2"/>
</group>
</group>
<newline/>
<group attrs="{'invisible':[('type','!=','single_textbox'), ('type','!=','multiple_textboxes')]}">
<separator string="Validation" colspan="4"/>
<group colspan="4">
@ -746,12 +752,12 @@
</group>
</group>
<newline/>
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','single_textbox'),('type','!=','comment')]}">
<group attrs="{'invisible':[('type','!=','multiple_choice_only_one_ans'), ('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','single_textbox'),('type','!=','comment'),('type','!=','multiple_textboxes_diff_type')]}">
<separator string="Required Answer" colspan="4"/>
<newline/>
<field name="is_require_answer"/>
<group col="6" colspan="4" attrs="{'invisible':[('is_require_answer','=',False)]}">
<group colspan="4" attrs="{'invisible':[('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time')]}">
<group colspan="4" attrs="{'invisible':[('type','!=','multiple_choice_multiple_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale'),('type','!=','multiple_textboxes'),('type','!=','numerical_textboxes'),('type','!=','date'),('type','!=','date_and_time'),('type','!=','multiple_textboxes_diff_type')]}">
<field name="required_type"/>
<group colspan="2" attrs="{'invisible':[('required_type','!=','at least'),('required_type','!=','at most'),('required_type','!=','exactly')]}">
<field name="req_ans" />
@ -805,6 +811,14 @@
<form string="Survey Answer">
<field name="answer" colspan="4" select="1"/>
<field name="sequence"/>
<field name="in_visible_answer_type" invisible="1"/>
<group colspan="4" attrs="{'invisible':[('in_visible_answer_type','=',True)]}">
<field name="type" colspan="2"/>
<group colspan="4" attrs="{'invisible':[('type','!=','selection')]}">
<separator string="Menu Choices (each choice on separate by lines)" colspan="4"/>
<field name="menu_choice" colspan="4" nolabel="1"/>
</group>
</group>
</form>
</field>
</record>
@ -815,7 +829,7 @@
<field name="model">survey.answer</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree editable="bottom" string="Survey Answer">
<tree editable="top" string="Survey Answer">
<field name="sequence" string="Seq"/>
<field name="answer" select="1"/>
</tree>
@ -939,7 +953,10 @@
</group>
<field name="value_choice"/>
<label string="(Use Only Question Type is matrix_of_drop_down_menus)" align="0.0"/>
<field name="comment_field"/>
<group colspan="4" col="4">
<field name="comment_field"/>
<field name="column_id"/>
</group>
</form>
</field>
</record>
@ -953,6 +970,7 @@
<field name="answer_id"/>
<field name="answer" />
<field name="value_choice" />
<field name="column_id"/>
<field name="comment_field"/>
</tree>
</field>

View File

@ -30,7 +30,7 @@
""",
'author': 'Tiny & Axelor',
'website': 'http://openerp.com',
'depends': ['base','document'],
'depends': ['base'],
'init_xml': [],
'update_xml': [
'wiki_view.xml',

View File

@ -1,12 +1,11 @@
<?xml version="1.0"?>
<openerp>
<data>
<!-- <menuitem name="Document Management" icon="terp-stock" id="menu_document2"/>-->
<menuitem name="Knowledge Management" icon="terp-stock" id="menu_document2"/>
<!--<menuitem name="Wiki Configuration" id="menu_document_configuration" parent="menu_document2"/>-->
<menuitem name="Wiki" id="menu_document_configuration" parent="document.menu_document_configuration"/>
<!--<menuitem parent="menu_document2" name="Wiki" id="menu_document"/>-->
<menuitem parent="menu_document2" name="Collaborative Content" id="menu_document"/>
<menuitem name="Knowledge Management" icon="terp-stock" id="base.menu_document"/>
<menuitem name="Configuration" id="base.menu_document_configuration" parent="base.menu_document" sequence="50"/>
<menuitem name="Wiki" id="menu_wiki_configuration" parent="base.menu_document_configuration" sequence="2"/>
<menuitem id="base.menu_document2" name="Collaborative Content" parent="base.menu_document"/>
<wizard
id="wizard_group_menu_create"
string="Create Menu"
@ -70,7 +69,7 @@
id="menu_action_wiki_groups"
action="action_wiki_groups"/>-->
<menuitem name="Wiki Groups"
parent="menu_document_configuration"
parent="menu_wiki_configuration"
id="menu_action_wiki_groups"
action="action_wiki_groups"/>
@ -169,7 +168,7 @@
<field name="context">{'section':'1'}</field>
<field name="search_view_id" ref="view_wiki_filter"/>
</record>
<menuitem parent="menu_document" id="menu_action_wiki_wiki" name="Wiki Pages" action="action_wiki"/>
<menuitem parent="base.menu_document2" id="menu_action_wiki_wiki" name="Wiki Pages" action="action_wiki"/>
<!-- Pages Waiting Review -->
<record model="ir.actions.act_window" id="action_wiki_review">