[MOD/IMP] survey : Usability Improvements

bzr revid: vir@tinyerp.com-20100906071537-q5o6icri0z9ifc08
This commit is contained in:
Vir (Open ERP) 2010-09-06 12:45:37 +05:30
parent 06eddc2b43
commit 7cc2e27105
9 changed files with 55 additions and 36 deletions

View File

@ -1,10 +1,10 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_survey_type_manager","survey.type manager","model_survey_type","base.group_tool_manager",1,1,1,1
"access_survey_type_user","survey.type user","model_survey_type","base.group_tool_user",1,1,1,1
"access_survey_manager","survey","model_survey","base.group_tool_manager",1,0,0,0
"access_survey_manager","survey","model_survey","base.group_tool_manager",1,1,1,1
"access_survey_system","survey","model_survey","base.group_system",1,0,0,0
"access_survey_user","survey","model_survey","base.group_tool_user",1,1,1,1
"access_survey_page_manager","survey.page manager","model_survey_page","base.group_tool_manager",1,0,0,0
"access_survey_page_manager","survey.page manager","model_survey_page","base.group_tool_manager",1,1,1,1
"access_survey_page_system","survey.page system","model_survey_page","base.group_system",1,0,0,0
"access_survey_page_user","survey.page user","model_survey_page","base.group_tool_user",1,1,1,1
"access_survey_question_manager","survey.question manager","model_survey_question","base.group_tool_manager",1,1,1,1
@ -18,7 +18,7 @@
"access_survey_history_user","survey.history.user","model_survey_history","base.group_tool_user",1,1,1,1
"access_survey_question_column_heading_manager","survey.question.column.heading manager","model_survey_question_column_heading","base.group_tool_manager",1,1,1,1
"access_survey_question_column_heading_user","survey.question.column.heading user","model_survey_question_column_heading","base.group_tool_user",1,0,0,0
"access_survey_request_manager","survey.request manager","model_survey_request","base.group_tool_manager",1,0,0,0
"access_survey_request_manager","survey.request manager","model_survey_request","base.group_tool_manager",1,1,1,1
"access_survey_request_user","survey.request user","model_survey_request","base.group_tool_user",1,1,1,1
"access_survey_request_system","survey.request system","model_survey_request","base.group_system",1,0,0,0
"access_survey_tbl_column_heading_manager","survey.tbl.column.heading manager","model_survey_tbl_column_heading","base.group_tool_manager",1,1,1,1
@ -38,8 +38,10 @@
"access_survey_response_answer","survey.response.answer","model_survey_response_answer","base.group_hr_manager",1,1,1,1
"access_survey_res_users","res.users","base.model_res_users","base.group_hr_manager",1,1,1,1
"access_survey_request","survey.request","model_survey_request","base.group_hr_manager",1,1,1,1
"access_survey_history_survey_manager","survey.history manager","model_survey_history","base.group_tool_manager",1,0,0,0
"access_survey_history_survey_manager","survey.history manager","model_survey_history","base.group_tool_manager",1,1,1,1
"access_survey_type_system","survey.type system","model_survey_type","base.group_system",1,0,0,0
"access_survey_question_system","survey.question system","model_survey_question","base.group_system",1,0,0,0
"access_survey_history_system","survey.history.system","model_survey_history","base.group_system",1,0,0,0
"access_survey_answer_system","survey.answer system","model_survey_answer","base.group_system",1,0,0,0
"access_survey_answer_base_user","survey.answer.base.user","model_survey_answer","base.group_user",1,1,1,1
"access_survey_question_base_user","survey.question.base.user","model_survey_question","base.group_user",1,1,1,

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_survey_type_manager survey.type manager model_survey_type base.group_tool_manager 1 1 1 1
3 access_survey_type_user survey.type user model_survey_type base.group_tool_user 1 1 1 1
4 access_survey_manager survey model_survey base.group_tool_manager 1 0 1 0 1 0 1
5 access_survey_system survey model_survey base.group_system 1 0 0 0
6 access_survey_user survey model_survey base.group_tool_user 1 1 1 1
7 access_survey_page_manager survey.page manager model_survey_page base.group_tool_manager 1 0 1 0 1 0 1
8 access_survey_page_system survey.page system model_survey_page base.group_system 1 0 0 0
9 access_survey_page_user survey.page user model_survey_page base.group_tool_user 1 1 1 1
10 access_survey_question_manager survey.question manager model_survey_question base.group_tool_manager 1 1 1 1
18 access_survey_history_user survey.history.user model_survey_history base.group_tool_user 1 1 1 1
19 access_survey_question_column_heading_manager survey.question.column.heading manager model_survey_question_column_heading base.group_tool_manager 1 1 1 1
20 access_survey_question_column_heading_user survey.question.column.heading user model_survey_question_column_heading base.group_tool_user 1 0 0 0
21 access_survey_request_manager survey.request manager model_survey_request base.group_tool_manager 1 0 1 0 1 0 1
22 access_survey_request_user survey.request user model_survey_request base.group_tool_user 1 1 1 1
23 access_survey_request_system survey.request system model_survey_request base.group_system 1 0 0 0
24 access_survey_tbl_column_heading_manager survey.tbl.column.heading manager model_survey_tbl_column_heading base.group_tool_manager 1 1 1 1
38 access_survey_response_answer survey.response.answer model_survey_response_answer base.group_hr_manager 1 1 1 1
39 access_survey_res_users res.users base.model_res_users base.group_hr_manager 1 1 1 1
40 access_survey_request survey.request model_survey_request base.group_hr_manager 1 1 1 1
41 access_survey_history_survey_manager survey.history manager model_survey_history base.group_tool_manager 1 0 1 0 1 0 1
42 access_survey_type_system survey.type system model_survey_type base.group_system 1 0 0 0
43 access_survey_question_system survey.question system model_survey_question base.group_system 1 0 0 0
44 access_survey_history_system survey.history.system model_survey_history base.group_system 1 0 0 0
45 access_survey_answer_system survey.answer system model_survey_answer base.group_system 1 0 0 0
46 access_survey_answer_base_user survey.answer.base.user model_survey_answer base.group_user 1 1 1 1
47 access_survey_question_base_user survey.question.base.user model_survey_question base.group_user 1 1 1

View File

@ -55,7 +55,8 @@ class survey(osv.osv):
'page_ids': fields.one2many('survey.page', 'survey_id', 'Page'),
'date_open': fields.datetime('Survey Open Date', readonly=1),
'date_close': fields.datetime('Survey Close Date', readonly=1),
'max_response_limit': fields.integer('Maximum Answer Limit'),
'max_response_limit': fields.integer('Maximum Answer Limit',
help="Set to one if survey is answerable only once"),
'response_user': fields.integer('Maximum Answer per User',
help="Set to one if you require only one Answer per user"),
'state': fields.selection([('draft', 'Draft'), ('open', 'Open'), ('close', 'Closed'), ('cancel', 'Cancelled')], 'Status', readonly=True),
@ -569,7 +570,7 @@ class survey_answer(osv.osv):
'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,
}
@ -691,7 +692,7 @@ class survey_request(osv.osv):
}
_defaults = {
'state': lambda * a: 'draft',
'date_deadline': lambda * a : (now() + RelativeDateTime(months=+1)).strftime("%Y-%m-%d %H:%M:%S")
# 'date_deadline': lambda * a : (now() + RelativeDateTime(months=+1)).strftime("%Y-%m-%d %H:%M:%S")
}
def survey_req_waiting_answer(self, cr, uid, ids, arg):
self.write(cr, uid, ids, { 'state' : 'waiting_answer'})

View File

@ -25,6 +25,7 @@
<field name="tot_comp_survey">1</field>
<field name="tot_start_survey">1</field>
<field name="response_user">5</field>
<field name="date_open">2010-03-03 14:25:03</field>
</record>
<record id="survey_page_who_are_you" model="survey.page">
@ -500,6 +501,7 @@
<field name="tot_comp_survey">1</field>
<field name="tot_start_survey">1</field>
<field name="response_user">5</field>
<field name="date_open">2010-03-03 14:25:03</field>
</record>
<record id="survey_page_odoo_who_are_you" model="survey.page">

View File

@ -6,20 +6,20 @@
id="report_survey_form"
model="survey"
name="survey.form"
string="Surveys"/>
string="Survey"/>
<report auto="True"
id="survey_analysis"
model="survey"
name="survey.analysis"
rml=""
string="Surveys Statistics"/>
string="Survey Statistics"/>
<report auto="True"
id="survey_browse_response"
model="survey"
name="survey.browse.response"
rml=""
string="Surveys Answers"/>
string="Survey Answers"/>
</data>
</openerp>

View File

@ -2,13 +2,13 @@
<openerp>
<data>
<menuitem icon="STOCK_PREFERENCES" id="base.menu_tools" name="Tools" sequence="28" groups="base.group_system,base.group_tool_manager,base.group_tool_user"/>
<menuitem icon="STOCK_PREFERENCES" id="base.menu_tools" name="Tools" sequence="28"/>
<menuitem name="Surveys" id="menu_surveys" parent="base.menu_tools"
groups="base.group_tool_manager,base.group_tool_user,base.group_system" sequence="2"/>
groups="base.group_tool_manager,base.group_tool_user,base.group_system,base.group_user" sequence="2"/>
<menuitem name="Define Surveys" id="menu_define_survey"
groups="base.group_tool_manager,base.group_tool_user,base.group_system"
parent="menu_surveys" />
<menuitem id="menu_answer_surveys" name="Answer Surveys" parent="menu_surveys" groups="base.group_tool_manager,base.group_tool_user,base.group_system"/>
<menuitem id="menu_answer_surveys" name="Answer Surveys" parent="menu_surveys" groups="base.group_tool_manager,base.group_tool_user,base.group_system,base.group_user"/>
<menuitem name="Reporting" parent="base.menu_tools"
id="base.menu_lunch_reporting" sequence="6"/>
<menuitem name="Surveys" id="menu_reporting" parent="base.menu_lunch_reporting" sequence="2"/>
@ -196,7 +196,7 @@
</page>
<page string="Other">
<group colspan="6" col='4'>
<field name="max_response_limit" select="1"
<field name="max_response_limit"
attrs="{'readonly':[('state','in',('open','close'))]}"/>
<field name="response_user"
attrs="{'readonly':[('state','in',('open','close'))]}"/>
@ -260,8 +260,7 @@
<field name="arch" type="xml">
<search string="Search Survey">
<group col='10' colspan='4'>
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]"/>
<filter string="Open" icon="terp-check" domain="[('state','=','open')]"/>
<filter icon="terp-document-new" string="Current" domain="[('state','in', ('draft', 'open'))]"/>
<separator orientation="vertical"/>
<field name="title" select="1"/>
<field name="type" select="1" widget="selection"/>
@ -271,8 +270,9 @@
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="20">
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'responsible_id'}"/>
<separator orientation="vertical"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
@ -476,6 +476,7 @@
<newline/>
<group expand="0" string="Group By..." colspan="4" col="20">
<filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/>
<filter string="Page" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'title'}"/>
</group>
</search>
</field>
@ -489,7 +490,7 @@
<field name="view_id" ref="survey_page_tree"></field>
</record>
<menuitem name="Pages" id="menu_survey_page_form1"
<menuitem name="Survey Pages" id="menu_survey_page_form1"
action="action_survey_page_form" parent='menu_define_survey'
groups="base.group_tool_manager,base.group_tool_user,base.group_system"/>
@ -679,6 +680,10 @@
<field name="page_id"/>
<field name="survey" widget="selection"/>
<field name="type"/>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="20">
<filter string="Page" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'page_id'}"/>
</group>
</search>
</field>
</record>
@ -864,9 +869,10 @@
<field name="model">survey.answer</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree editable="top" string="Survey Answer">
<tree editable="bottom" string="Survey Answer">
<field name="sequence" string="Seq"/>
<field name="answer" select="1"/>
<field name="type"/>
</tree>
</field>
</record>
@ -1087,15 +1093,23 @@
<field name="arch" type="xml">
<search string="Search Survey">
<group col='10' colspan='4'>
<filter icon="terp-emblem-important" string="Unanswered" domain="[('state','=','waiting_answer')]"/>
<filter icon="terp-gtk-media-pause" string="Late" domain="[('date_deadline','&lt;',current_date)]"/>
<filter icon="terp-gtk-media-pause" string="Waiting Answer" domain="[('state','=','waiting_answer')]"/>
<filter icon="terp-emblem-important" string="Late" domain="[('date_deadline','&lt;',current_date)]"/>
<separator orientation="vertical"/>
<field name="survey_id" widget="selection" select="1"/>
<field name="email" select="1"/>
<field name="user_id" select="1" widget="selection" default="1">
<field name="user_id" select="1" default="1">
<filter string="MY" icon="terp-personal" domain="[('user_id','=',uid)]"/>
</field>
</group>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="20">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<separator orientation="vertical"/>
<filter string="Survey" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'survey_id'}"/>
<separator orientation="vertical"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
</field>
</record>
@ -1151,32 +1165,32 @@
<act_window domain="[('survey_id', '=', active_id)]"
id="act_survey_pages"
name="Survey Pages"
name="Pages"
res_model="survey.page"
src_model="survey"/>
<act_window domain="[('survey', '=', active_id)]"
id="act_survey_question"
name="All Questions"
name="Questions"
res_model="survey.question"
src_model="survey"/>
<act_window domain="[('page_id', '=', active_id)]"
id="act_survey_page_question"
name="Survey Questions"
name="Questions"
res_model="survey.question"
src_model="survey.page"/>
<act_window domain="[('question_id', '=', active_id)]"
id="act_survey_answer"
name="Survey Answers"
name="Answers"
res_model="survey.answer"
src_model="survey.question"/>
<menuitem name="Answer a Survey" id="menu_run_survey_form" sequence="2"
action="action_view_survey_name" parent="menu_answer_surveys"
groups="base.group_tool_manager,base.group_tool_user,base.group_system" icon="STOCK_INDEX"/>
groups="base.group_tool_manager,base.group_tool_user,base.group_system,base.group_user" icon="STOCK_INDEX"/>
</data>
</openerp>

View File

@ -46,7 +46,7 @@ class survey_browse_answer(osv.osv_memory):
_columns = {
'survey_id': fields.selection(_get_survey, "Survey", required="1"),
'response_id': fields.many2one("survey.response", "Survey Answer", help="If you want to print all answer of selected survey then don't select survey answer and if you select survey answer then print only selected survey answer."),
'response_id': fields.many2one("survey.response", "Survey Answers", help="If you want to print all answers of selected survey then don't select survey answer and if you select survey answer then print only selected survey answer."),
}
def action_next(self, cr, uid, ids, context=None):

View File

@ -62,7 +62,7 @@ class survey_name_wiz(osv.osv_memory):
for sur in surv_obj.browse(cr, uid, [context.get('survey_id',False)]):
result.append((sur.id, sur.title))
return result
group_id = self.pool.get('res.groups').search(cr, uid, [('name', 'in', ('Survey / Manager','Survey / User'))])
group_id = self.pool.get('res.groups').search(cr, uid, [('name', 'in', ('Tools / Manager','Tools / User'))])
user_obj = self.pool.get('res.users')
user_rec = user_obj.read(cr, uid, uid)
for sur in surv_obj.browse(cr, uid, surv_obj.search(cr, uid, [])):

View File

@ -41,8 +41,8 @@ class survey_send_invitation(osv.osv_memory):
'survey_id', "Answer", required=1),
'send_mail': fields.boolean('Send mail for new user'),
'send_mail_existing': fields.boolean('Send reminder for existing user'),
'mail_subject': fields.char('Subject', size=256, required=1),
'mail_subject_existing': fields.char('Subject', size=256, required=1),
'mail_subject': fields.char('Subject', size=256),
'mail_subject_existing': fields.char('Subject', size=256),
'mail_from': fields.char('From', size=256, required=1),
'mail': fields.text('Body')
}
@ -100,7 +100,7 @@ class survey_send_invitation(osv.osv_memory):
survey_ref= self.pool.get('survey')
model_data_obj = self.pool.get('ir.model.data')
group_id = model_data_obj._get_id(cr, uid, 'survey', 'base.group_tool_user')
group_id = model_data_obj._get_id(cr, uid, 'base', 'group_tool_user')
group_id = model_data_obj.browse(cr, uid, group_id, context=context).res_id
act_id = self.pool.get('ir.actions.act_window')
@ -212,4 +212,4 @@ class survey_send_invitation_log(osv.osv_memory):
survey_send_invitation_log()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -41,7 +41,7 @@
</record>
<act_window id="action_act_view_survey_send_invitation"
key2="client_action_multi" name="Send Invitation"
key2="client_action_multi" name="Send Invitations"
res_model="survey.send.invitation" src_model="survey"
view_mode="form" target="new" view_type="form" />
@ -74,4 +74,4 @@
<field name="target">new</field>
</record>
</data>
</openerp>
</openerp>