Merge lp:~therp-nl/openobject-addons/7.0_make_survey_module_usable_for_external_users into lp:openobject-addons/7.0
- 7.0_make_survey_module_usable_for_external_users
- Merge into 7.0
Proposed by
Holger Brunn (Therp)
Status: | Needs review | ||||
---|---|---|---|---|---|
Proposed branch: | lp:~therp-nl/openobject-addons/7.0_make_survey_module_usable_for_external_users | ||||
Merge into: | lp:openobject-addons/7.0 | ||||
Diff against target: |
333 lines (+129/-21) 9 files modified
survey/__openerp__.py (+2/-2) survey/security/ir.model.access.csv (+10/-0) survey/security/survey_security.xml (+54/-1) survey/survey_report.xml (+6/-3) survey/survey_view.xml (+36/-4) survey/test/draft2open2close_survey.yml (+1/-1) survey/wizard/survey_answer.py (+5/-5) survey/wizard/survey_send_invitation.py (+13/-4) survey/wizard/survey_send_invitation.xml (+2/-1) |
||||
To merge this branch: | bzr merge lp:~therp-nl/openobject-addons/7.0_make_survey_module_usable_for_external_users | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
OpenERP Core Team | Pending | ||
Review via email: mp+180328@code.launchpad.net |
Commit message
Description of the change
The up to now proposed patch is dangerous because it assigns way to many permissions to the created user. This is an attempt to fix the issue in question and also add some minor usability improvements.
To post a comment you must log in.
- 9364. By Stefan Rijnhart (Opener)
-
[FIX] Prevent possibly unreferenced variable in invitation wizard
[FIX] Call invitation wizard with context in tests
Unmerged revisions
- 9364. By Stefan Rijnhart (Opener)
-
[FIX] Prevent possibly unreferenced variable in invitation wizard
[FIX] Call invitation wizard with context in tests - 9363. By Holger Brunn (Therp)
-
[ADD] place invitees into their own group with appropriate access rights
[IMP] link created user to partner
[IMP] prefill timezone with user's timezone
[IMP] strip down survey form for invitees
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'survey/__openerp__.py' | |||
2 | --- survey/__openerp__.py 2012-11-29 22:26:45 +0000 | |||
3 | +++ survey/__openerp__.py 2013-10-25 11:13:01 +0000 | |||
4 | @@ -36,12 +36,12 @@ | |||
5 | 36 | 'author': 'OpenERP SA', | 36 | 'author': 'OpenERP SA', |
6 | 37 | 'depends': ['mail'], | 37 | 'depends': ['mail'], |
7 | 38 | 'data': [ | 38 | 'data': [ |
8 | 39 | 'security/survey_security.xml', | ||
9 | 40 | 'security/ir.model.access.csv', | ||
10 | 39 | 'survey_report.xml', | 41 | 'survey_report.xml', |
11 | 40 | 'survey_data.xml', | 42 | 'survey_data.xml', |
12 | 41 | 'wizard/survey_selection.xml', | 43 | 'wizard/survey_selection.xml', |
13 | 42 | 'wizard/survey_answer.xml', | 44 | 'wizard/survey_answer.xml', |
14 | 43 | 'security/survey_security.xml', | ||
15 | 44 | 'security/ir.model.access.csv', | ||
16 | 45 | 'survey_view.xml', | 45 | 'survey_view.xml', |
17 | 46 | 'wizard/survey_print_statistics.xml', | 46 | 'wizard/survey_print_statistics.xml', |
18 | 47 | 'wizard/survey_print_answer.xml', | 47 | 'wizard/survey_print_answer.xml', |
19 | 48 | 48 | ||
20 | === modified file 'survey/security/ir.model.access.csv' | |||
21 | --- survey/security/ir.model.access.csv 2012-03-07 05:47:59 +0000 | |||
22 | +++ survey/security/ir.model.access.csv 2013-10-25 11:13:01 +0000 | |||
23 | @@ -22,3 +22,13 @@ | |||
24 | 22 | access_survey_response_line_survey_user,survey.response.line.survey.user,model_survey_response_line,base.group_survey_user,1,1,1,1 | 22 | access_survey_response_line_survey_user,survey.response.line.survey.user,model_survey_response_line,base.group_survey_user,1,1,1,1 |
25 | 23 | access_survey_question_column_heading_survey_user,survey.question.column.heading.survey.user,model_survey_question_column_heading,base.group_survey_user,1,0,0,0 | 23 | access_survey_question_column_heading_survey_user,survey.question.column.heading.survey.user,model_survey_question_column_heading,base.group_survey_user,1,0,0,0 |
26 | 24 | access_survey_question_column_heading_user,survey.question.column.heading user,model_survey_question_column_heading,base.group_tool_user,1,1,1,1 | 24 | access_survey_question_column_heading_user,survey.question.column.heading user,model_survey_question_column_heading,base.group_tool_user,1,1,1,1 |
27 | 25 | access_survey_invitee,survey.invitee,model_survey,base.group_survey_invitee,1,0,0,0 | ||
28 | 26 | access_survey_page_invitee,survey.page.invitee,model_survey_page,base.group_survey_invitee,1,0,0,0 | ||
29 | 27 | access_survey_question_invitee,survey.question.invitee,model_survey_question,base.group_survey_invitee,1,0,0,0 | ||
30 | 28 | access_survey_answer_invitee,survey.answer.invitee,model_survey_answer,base.group_survey_invitee,1,0,0,0 | ||
31 | 29 | access_survey_response_invitee,survey.response.invitee,model_survey_response,base.group_survey_invitee,1,1,1,0 | ||
32 | 30 | access_survey_response_line_invitee,survey.response.line.invitee,model_survey_response_line,base.group_survey_invitee,1,1,1,0 | ||
33 | 31 | access_survey_response_answer_invitee,survey.response.answer.invitee,model_survey_response_answer,base.group_survey_invitee,1,1,1,0 | ||
34 | 32 | access_survey_history_invitee,survey.history.invitee,model_survey_history,base.group_survey_invitee,1,0,1,0 | ||
35 | 33 | access_survey_question_column_heading_invitee,survey.question.column.heading.invitee,model_survey_question_column_heading,base.group_survey_invitee,1,0,0,0 | ||
36 | 34 | access_res_partner_invitee,res.partner.invitee,base.model_res_partner,base.group_survey_invitee,1,0,0,0 | ||
37 | 25 | 35 | ||
38 | === modified file 'survey/security/survey_security.xml' | |||
39 | --- survey/security/survey_security.xml 2012-04-04 09:08:30 +0000 | |||
40 | +++ survey/security/survey_security.xml 2013-10-25 11:13:01 +0000 | |||
41 | @@ -15,5 +15,58 @@ | |||
42 | 15 | <field name="name">Survey / User</field> | 15 | <field name="name">Survey / User</field> |
43 | 16 | <field name="users" eval="[(4, ref('base.user_root'))]"/> | 16 | <field name="users" eval="[(4, ref('base.user_root'))]"/> |
44 | 17 | </record> | 17 | </record> |
46 | 18 | </data> | 18 | <record model="res.groups" id="base.group_survey_invitee"> |
47 | 19 | <field name="name">Survey / Invitee</field> | ||
48 | 20 | </record> | ||
49 | 21 | <record id="rule_survey_invitee" model="ir.rule"> | ||
50 | 22 | <field name="model_id" ref="model_survey" /> | ||
51 | 23 | <field name="domain_force">[("invited_user_ids", "=", user.id)]</field> | ||
52 | 24 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
53 | 25 | </record> | ||
54 | 26 | <record id="rule_survey_page_invitee" model="ir.rule"> | ||
55 | 27 | <field name="model_id" ref="model_survey_page" /> | ||
56 | 28 | <field name="domain_force">[("survey_id.invited_user_ids", "=", user.id)]</field> | ||
57 | 29 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
58 | 30 | </record> | ||
59 | 31 | <record id="rule_survey_question_invitee" model="ir.rule"> | ||
60 | 32 | <field name="model_id" ref="model_survey_question" /> | ||
61 | 33 | <field name="domain_force">[("survey.invited_user_ids", "=", user.id)]</field> | ||
62 | 34 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
63 | 35 | </record> | ||
64 | 36 | <record id="rule_survey_answer_invitee" model="ir.rule"> | ||
65 | 37 | <field name="model_id" ref="model_survey_answer" /> | ||
66 | 38 | <field name="domain_force">[("question_id.survey.invited_user_ids", "=", user.id)]</field> | ||
67 | 39 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
68 | 40 | </record> | ||
69 | 41 | <record id="rule_survey_response_invitee" model="ir.rule"> | ||
70 | 42 | <field name="model_id" ref="model_survey_response" /> | ||
71 | 43 | <field name="domain_force">[("user_id", "=", user.id)]</field> | ||
72 | 44 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
73 | 45 | </record> | ||
74 | 46 | <record id="rule_survey_response_line_invitee" model="ir.rule"> | ||
75 | 47 | <field name="model_id" ref="model_survey_response_line" /> | ||
76 | 48 | <field name="domain_force">[("response_id.user_id", "=", user.id)]</field> | ||
77 | 49 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
78 | 50 | </record> | ||
79 | 51 | <record id="rule_survey_response_answer_invitee" model="ir.rule"> | ||
80 | 52 | <field name="model_id" ref="model_survey_response_answer" /> | ||
81 | 53 | <field name="domain_force">[("response_id.response_id.user_id", "=", user.id)]</field> | ||
82 | 54 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
83 | 55 | </record> | ||
84 | 56 | <record id="rule_survey_history_invitee" model="ir.rule"> | ||
85 | 57 | <field name="model_id" ref="model_survey_history" /> | ||
86 | 58 | <field name="domain_force">[("survey_id.invited_user_ids", "=", user.id)]</field> | ||
87 | 59 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
88 | 60 | </record> | ||
89 | 61 | <record id="rule_survey_question_column_heading_invitee" model="ir.rule"> | ||
90 | 62 | <field name="model_id" ref="model_survey_question_column_heading" /> | ||
91 | 63 | <field name="domain_force">[("question_id.survey.invited_user_ids", "=", user.id)]</field> | ||
92 | 64 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
93 | 65 | </record> | ||
94 | 66 | <record id="rule_res_partner_invitee" model="ir.rule"> | ||
95 | 67 | <field name="model_id" ref="base.model_res_partner" /> | ||
96 | 68 | <field name="domain_force">[("id", "=", user.id)]</field> | ||
97 | 69 | <field name="groups" eval="[(6, 0,[ref('base.group_survey_invitee')])]" /> | ||
98 | 70 | </record> | ||
99 | 71 | </data> | ||
100 | 19 | </openerp> | 72 | </openerp> |
101 | 20 | 73 | ||
102 | === modified file 'survey/survey_report.xml' | |||
103 | --- survey/survey_report.xml 2012-06-28 06:40:05 +0000 | |||
104 | +++ survey/survey_report.xml 2013-10-25 11:13:01 +0000 | |||
105 | @@ -6,20 +6,23 @@ | |||
106 | 6 | id="report_survey_form" | 6 | id="report_survey_form" |
107 | 7 | model="survey" | 7 | model="survey" |
108 | 8 | name="survey.form" | 8 | name="survey.form" |
110 | 9 | string="Survey"/> | 9 | string="Survey" |
111 | 10 | groups="base.group_survey_user" /> | ||
112 | 10 | 11 | ||
113 | 11 | <report auto="True" | 12 | <report auto="True" |
114 | 12 | id="survey_analysis" | 13 | id="survey_analysis" |
115 | 13 | model="survey" | 14 | model="survey" |
116 | 14 | name="survey.analysis" | 15 | name="survey.analysis" |
117 | 15 | rml="" | 16 | rml="" |
119 | 16 | string="Survey Statistics"/> | 17 | string="Survey Statistics" |
120 | 18 | groups="base.group_survey_user" /> | ||
121 | 17 | 19 | ||
122 | 18 | <report auto="True" | 20 | <report auto="True" |
123 | 19 | id="survey_browse_response" | 21 | id="survey_browse_response" |
124 | 20 | model="survey" | 22 | model="survey" |
125 | 21 | name="survey.browse.response" | 23 | name="survey.browse.response" |
126 | 22 | rml="" | 24 | rml="" |
128 | 23 | string="Survey Answers"/> | 25 | string="Survey Answers" |
129 | 26 | groups="base.group_survey_user" /> | ||
130 | 24 | </data> | 27 | </data> |
131 | 25 | </openerp> | 28 | </openerp> |
132 | 26 | 29 | ||
133 | === modified file 'survey/survey_view.xml' | |||
134 | --- survey/survey_view.xml 2013-06-11 10:02:43 +0000 | |||
135 | +++ survey/survey_view.xml 2013-10-25 11:13:01 +0000 | |||
136 | @@ -268,6 +268,35 @@ | |||
137 | 268 | </field> | 268 | </field> |
138 | 269 | </record> | 269 | </record> |
139 | 270 | 270 | ||
140 | 271 | <record model="ir.ui.view" id="survey_form_invitee"> | ||
141 | 272 | <field name="name">survey_form_invitee</field> | ||
142 | 273 | <field name="model">survey</field> | ||
143 | 274 | <field name="groups_id" eval="[(6, 0, [ref('base.group_survey_invitee')])]" /> | ||
144 | 275 | <field name="priority" eval="1" /> | ||
145 | 276 | <field name="inherit_id" ref="survey_form" /> | ||
146 | 277 | <field name="arch" type="xml"> | ||
147 | 278 | <data> | ||
148 | 279 | <form position="replace"> | ||
149 | 280 | <form string="Survey" version="7.0"> | ||
150 | 281 | <sheet> | ||
151 | 282 | <field name="state" invisible="True" /> | ||
152 | 283 | <div class="oe_button_box oe_right"> | ||
153 | 284 | <button name="fill_survey" states="open" string="Answer Survey" type="object" icon="gtk-execute" context="{'survey_id': active_id}" attrs="{'invisible':[('state','!=','open')]}"/> | ||
154 | 285 | </div> | ||
155 | 286 | <div class="oe_title"> | ||
156 | 287 | <label for="title" class="oe_edit_only"/> | ||
157 | 288 | <h1> | ||
158 | 289 | <field name="title" attrs="{'readonly':[('state','=','close')]}"/> | ||
159 | 290 | </h1> | ||
160 | 291 | </div> | ||
161 | 292 | <field name="note" /> | ||
162 | 293 | </sheet> | ||
163 | 294 | </form> | ||
164 | 295 | </form> | ||
165 | 296 | </data> | ||
166 | 297 | </field> | ||
167 | 298 | </record> | ||
168 | 299 | |||
169 | 271 | <record id="survey_search" model="ir.ui.view"> | 300 | <record id="survey_search" model="ir.ui.view"> |
170 | 272 | <field name="name">survey_search</field> | 301 | <field name="name">survey_search</field> |
171 | 273 | <field name="model">survey</field> | 302 | <field name="model">survey</field> |
172 | @@ -1224,14 +1253,16 @@ | |||
173 | 1224 | id="act_survey_pages" | 1253 | id="act_survey_pages" |
174 | 1225 | name="Pages" | 1254 | name="Pages" |
175 | 1226 | res_model="survey.page" | 1255 | res_model="survey.page" |
177 | 1227 | src_model="survey"/> | 1256 | src_model="survey" |
178 | 1257 | groups="base.group_survey_user"/> | ||
179 | 1228 | 1258 | ||
180 | 1229 | <act_window | 1259 | <act_window |
181 | 1230 | context="{'search_default_survey': active_id, 'default_survey': active_id}" | 1260 | context="{'search_default_survey': active_id, 'default_survey': active_id}" |
182 | 1231 | id="act_survey_question" | 1261 | id="act_survey_question" |
183 | 1232 | name="Questions" | 1262 | name="Questions" |
184 | 1233 | res_model="survey.question" | 1263 | res_model="survey.question" |
186 | 1234 | src_model="survey"/> | 1264 | src_model="survey" |
187 | 1265 | groups="base.group_survey_user"/> | ||
188 | 1235 | 1266 | ||
189 | 1236 | 1267 | ||
190 | 1237 | <act_window | 1268 | <act_window |
191 | @@ -1239,7 +1270,7 @@ | |||
192 | 1239 | id="act_survey_page_question" | 1270 | id="act_survey_page_question" |
193 | 1240 | name="Questions" | 1271 | name="Questions" |
194 | 1241 | res_model="survey.question" | 1272 | res_model="survey.question" |
196 | 1242 | src_model="survey.page"/> | 1273 | src_model="survey.page" /> |
197 | 1243 | 1274 | ||
198 | 1244 | <act_window domain="[('question_id', '=', active_id)]" | 1275 | <act_window domain="[('question_id', '=', active_id)]" |
199 | 1245 | id="act_survey_answer" | 1276 | id="act_survey_answer" |
200 | @@ -1252,7 +1283,8 @@ | |||
201 | 1252 | id="act_survey_request" | 1283 | id="act_survey_request" |
202 | 1253 | name="Survey Requests" | 1284 | name="Survey Requests" |
203 | 1254 | res_model="survey.request" | 1285 | res_model="survey.request" |
205 | 1255 | src_model="survey"/> | 1286 | src_model="survey" |
206 | 1287 | groups="base.group_survey_user"/> | ||
207 | 1256 | 1288 | ||
208 | 1257 | </data> | 1289 | </data> |
209 | 1258 | </openerp> | 1290 | </openerp> |
210 | 1259 | 1291 | ||
211 | === modified file 'survey/test/draft2open2close_survey.yml' | |||
212 | --- survey/test/draft2open2close_survey.yml 2011-12-20 16:03:42 +0000 | |||
213 | +++ survey/test/draft2open2close_survey.yml 2013-10-25 11:13:01 +0000 | |||
214 | @@ -82,7 +82,7 @@ | |||
215 | 82 | context = {'active_model':'survey', 'active_id': ref('survey_Initial_partner_feedback'), 'active_ids': [ref('survey_Initial_partner_feedback')]} | 82 | context = {'active_model':'survey', 'active_id': ref('survey_Initial_partner_feedback'), 'active_ids': [ref('survey_Initial_partner_feedback')]} |
216 | 83 | values = self.default_get(cr, uid, ['mail_from', 'mail_subject', 'send_mail_existing', 'mail_subject_existing', 'mail', 'partner_ids', 'send_mail'], context) | 83 | values = self.default_get(cr, uid, ['mail_from', 'mail_subject', 'send_mail_existing', 'mail_subject_existing', 'mail', 'partner_ids', 'send_mail'], context) |
217 | 84 | values['mail_from'] = 'Surveyor' | 84 | values['mail_from'] = 'Surveyor' |
219 | 85 | new_id = self.create(cr, uid, values) | 85 | new_id = self.create(cr, uid, values, context) |
220 | 86 | self.action_send(cr, uid, [new_id], context) | 86 | self.action_send(cr, uid, [new_id], context) |
221 | 87 | - | 87 | - |
222 | 88 | I set the value in "Total start survey" field. | 88 | I set the value in "Total start survey" field. |
223 | 89 | 89 | ||
224 | === modified file 'survey/wizard/survey_answer.py' | |||
225 | --- survey/wizard/survey_answer.py 2013-09-20 12:39:38 +0000 | |||
226 | +++ survey/wizard/survey_answer.py 2013-10-25 11:13:01 +0000 | |||
227 | @@ -27,7 +27,7 @@ | |||
228 | 27 | 27 | ||
229 | 28 | from openerp import addons, netsvc, tools | 28 | from openerp import addons, netsvc, tools |
230 | 29 | from openerp.osv import fields, osv | 29 | from openerp.osv import fields, osv |
232 | 30 | from openerp.tools import to_xml | 30 | from openerp.tools import to_xml, SUPERUSER_ID |
233 | 31 | from openerp.tools.translate import _ | 31 | from openerp.tools.translate import _ |
234 | 32 | from openerp.tools.safe_eval import safe_eval | 32 | from openerp.tools.safe_eval import safe_eval |
235 | 33 | 33 | ||
236 | @@ -124,7 +124,7 @@ | |||
237 | 124 | raise osv.except_osv(_('Warning!'),_("You cannot answer this survey more than %s times.") % (user_limit)) | 124 | raise osv.except_osv(_('Warning!'),_("You cannot answer this survey more than %s times.") % (user_limit)) |
238 | 125 | 125 | ||
239 | 126 | if sur_rec.max_response_limit and sur_rec.max_response_limit <= sur_rec.tot_start_survey and not sur_name_rec.page_no + 1: | 126 | if sur_rec.max_response_limit and sur_rec.max_response_limit <= sur_rec.tot_start_survey and not sur_name_rec.page_no + 1: |
241 | 127 | survey_obj.write(cr, uid, survey_id, {'state':'close', 'date_close':strftime("%Y-%m-%d %H:%M:%S")}) | 127 | survey_obj.write(cr, SUPERUSER_ID, survey_id, {'state':'close', 'date_close':strftime("%Y-%m-%d %H:%M:%S")}) |
242 | 128 | 128 | ||
243 | 129 | p_id = p_id[sur_name_rec.page_no + 1] | 129 | p_id = p_id[sur_name_rec.page_no + 1] |
244 | 130 | surv_name_wiz.write(cr, uid, [context['sur_name_id'],], {'page_no' : sur_name_rec.page_no + 1}) | 130 | surv_name_wiz.write(cr, uid, [context['sur_name_id'],], {'page_no' : sur_name_rec.page_no + 1}) |
245 | @@ -397,8 +397,8 @@ | |||
246 | 397 | result['fields'] = fields | 397 | result['fields'] = fields |
247 | 398 | result['context'] = context | 398 | result['context'] = context |
248 | 399 | else: | 399 | else: |
251 | 400 | survey_obj.write(cr, uid, survey_id, {'tot_comp_survey' : sur_rec.tot_comp_survey + 1}) | 400 | survey_obj.write(cr, SUPERUSER_ID, survey_id, {'tot_comp_survey' : sur_rec.tot_comp_survey + 1}) |
252 | 401 | sur_response_obj.write(cr, uid, [sur_name_read.response], {'state' : 'done'}) | 401 | sur_response_obj.write(cr, uid, int(sur_name_read.response), {'state' : 'done'}) |
253 | 402 | 402 | ||
254 | 403 | # mark the survey request as done; call 'survey_req_done' on its actual model | 403 | # mark the survey request as done; call 'survey_req_done' on its actual model |
255 | 404 | survey_req_obj = self.pool.get(context.get('active_model')) | 404 | survey_req_obj = self.pool.get(context.get('active_model')) |
256 | @@ -606,7 +606,7 @@ | |||
257 | 606 | 'date': strftime('%Y-%m-%d %H:%M:%S'), 'survey_id': sur_name_read['survey_id'][0]}) | 606 | 'date': strftime('%Y-%m-%d %H:%M:%S'), 'survey_id': sur_name_read['survey_id'][0]}) |
258 | 607 | survey_id = sur_name_read['survey_id'][0] | 607 | survey_id = sur_name_read['survey_id'][0] |
259 | 608 | sur_rec = survey_obj.read(cr, uid, survey_id) | 608 | sur_rec = survey_obj.read(cr, uid, survey_id) |
261 | 609 | survey_obj.write(cr, uid, survey_id, {'tot_start_survey' : sur_rec['tot_start_survey'] + 1}) | 609 | survey_obj.write(cr, SUPERUSER_ID, survey_id, {'tot_start_survey' : sur_rec['tot_start_survey'] + 1}) |
262 | 610 | if context.has_key('cur_id'): | 610 | if context.has_key('cur_id'): |
263 | 611 | if context.has_key('request') and context.get('request',False): | 611 | if context.has_key('request') and context.get('request',False): |
264 | 612 | self.pool.get(context.get('object',False)).write(cr, uid, [int(context.get('cur_id',False))], {'response' : response_id}) | 612 | self.pool.get(context.get('object',False)).write(cr, uid, [int(context.get('cur_id',False))], {'response' : response_id}) |
265 | 613 | 613 | ||
266 | === modified file 'survey/wizard/survey_send_invitation.py' | |||
267 | --- survey/wizard/survey_send_invitation.py 2012-12-06 14:56:32 +0000 | |||
268 | +++ survey/wizard/survey_send_invitation.py 2013-10-25 11:13:01 +0000 | |||
269 | @@ -60,6 +60,7 @@ | |||
270 | 60 | survey_obj = self.pool.get('survey') | 60 | survey_obj = self.pool.get('survey') |
271 | 61 | msg = "" | 61 | msg = "" |
272 | 62 | name = "" | 62 | name = "" |
273 | 63 | survey_id = 0 | ||
274 | 63 | for sur in survey_obj.browse(cr, uid, context.get('active_ids', []), context=context): | 64 | for sur in survey_obj.browse(cr, uid, context.get('active_ids', []), context=context): |
275 | 64 | name += "\n --> " + sur.title + "\n" | 65 | name += "\n --> " + sur.title + "\n" |
276 | 65 | if sur.state != 'open': | 66 | if sur.state != 'open': |
277 | @@ -67,6 +68,7 @@ | |||
278 | 67 | data['mail_subject'] = _("Invitation for %s") % (sur.title) | 68 | data['mail_subject'] = _("Invitation for %s") % (sur.title) |
279 | 68 | data['mail_subject_existing'] = _("Invitation for %s") % (sur.title) | 69 | data['mail_subject_existing'] = _("Invitation for %s") % (sur.title) |
280 | 69 | data['mail_from'] = sur.responsible_id.email | 70 | data['mail_from'] = sur.responsible_id.email |
281 | 71 | survey_id = sur.id | ||
282 | 70 | if msg: | 72 | if msg: |
283 | 71 | raise osv.except_osv(_('Warning!'), _('The following surveys are not in open state: %s') % msg) | 73 | raise osv.except_osv(_('Warning!'), _('The following surveys are not in open state: %s') % msg) |
284 | 72 | data['mail'] = _(''' | 74 | data['mail'] = _(''' |
285 | @@ -77,7 +79,12 @@ | |||
286 | 77 | Your login ID: %%(login)s\n | 79 | Your login ID: %%(login)s\n |
287 | 78 | Your password: %%(passwd)s\n | 80 | Your password: %%(passwd)s\n |
288 | 79 | \n\n | 81 | \n\n |
290 | 80 | Thanks,''') % (name, self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url', default='http://localhost:8069', context=context)) | 82 | Thanks,''') % ( |
291 | 83 | name, | ||
292 | 84 | self.pool.get('ir.config_parameter').get_param( | ||
293 | 85 | cr, uid, 'web.base.url', default='http://localhost:8069', | ||
294 | 86 | context=context) | ||
295 | 87 | + '#id=%d&view_type=form&model=survey' % survey_id) | ||
296 | 81 | return data | 88 | return data |
297 | 82 | 89 | ||
298 | 83 | def create_report(self, cr, uid, res_ids, report_name=False, file_name=False): | 90 | def create_report(self, cr, uid, res_ids, report_name=False, file_name=False): |
299 | @@ -108,8 +115,8 @@ | |||
300 | 108 | mail_message = self.pool.get('mail.message') | 115 | mail_message = self.pool.get('mail.message') |
301 | 109 | 116 | ||
302 | 110 | model_data_obj = self.pool.get('ir.model.data') | 117 | model_data_obj = self.pool.get('ir.model.data') |
305 | 111 | group_id = model_data_obj._get_id(cr, uid, 'base', 'group_survey_user') | 118 | group_id = model_data_obj.get_object_reference( |
306 | 112 | group_id = model_data_obj.browse(cr, uid, group_id, context=context).res_id | 119 | cr, uid, 'base', 'group_survey_invitee')[1] |
307 | 113 | 120 | ||
308 | 114 | act_id = self.pool.get('ir.actions.act_window') | 121 | act_id = self.pool.get('ir.actions.act_window') |
309 | 115 | act_id = act_id.search(cr, uid, [('res_model', '=' , 'survey.name.wiz'), \ | 122 | act_id = act_id.search(cr, uid, [('res_model', '=' , 'survey.name.wiz'), \ |
310 | @@ -188,7 +195,9 @@ | |||
311 | 188 | 'address_id': partner.id, | 195 | 'address_id': partner.id, |
312 | 189 | 'groups_id': [[6, 0, [group_id]]], | 196 | 'groups_id': [[6, 0, [group_id]]], |
313 | 190 | 'action_id': act_id[0], | 197 | 'action_id': act_id[0], |
315 | 191 | 'survey_id': [[6, 0, survey_ids]] | 198 | 'survey_id': [[6, 0, survey_ids]], |
316 | 199 | 'partner_id': partner.id, | ||
317 | 200 | 'tz': context.get('tz'), | ||
318 | 192 | } | 201 | } |
319 | 193 | user = user_ref.create(cr, uid, res_data) | 202 | user = user_ref.create(cr, uid, res_data) |
320 | 194 | if user not in new_user: | 203 | if user not in new_user: |
321 | 195 | 204 | ||
322 | === modified file 'survey/wizard/survey_send_invitation.xml' | |||
323 | --- survey/wizard/survey_send_invitation.xml 2012-11-29 22:26:45 +0000 | |||
324 | +++ survey/wizard/survey_send_invitation.xml 2013-10-25 11:13:01 +0000 | |||
325 | @@ -45,7 +45,8 @@ | |||
326 | 45 | <act_window id="action_act_view_survey_send_invitation" | 45 | <act_window id="action_act_view_survey_send_invitation" |
327 | 46 | key2="client_action_multi" name="Send Invitations" | 46 | key2="client_action_multi" name="Send Invitations" |
328 | 47 | res_model="survey.send.invitation" src_model="survey" | 47 | res_model="survey.send.invitation" src_model="survey" |
330 | 48 | view_mode="form" target="new" view_type="form" /> | 48 | view_mode="form" target="new" view_type="form" |
331 | 49 | groups="base.group_survey_user"/> | ||
332 | 49 | 50 | ||
333 | 50 | <!-- Survey send invitation Display Log Form View --> | 51 | <!-- Survey send invitation Display Log Form View --> |
334 | 51 | 52 |