Personal tools
You are here: Home Products CMF Questions Roadmap #8: Delete Answers
Document Actions

#8: Delete Answers

Contents
  1. Motivation
  2. Proposal
by Adam Ullman last modified June 11, 2006 - 00:21
Allow for deleting selected respondents answers
Proposed by
adamu
Proposal type
User interface
State
being-discussed

Motivation

Suggested by a user:

Proposal

Would it be difficult to implement a "delete this answer" or rather "delete this respondent" in the HTML view_results page? I have a lot of test / bogus entries in my data and would like to delete them on the level of CMFQuestions rather than filter them out in the spreadsheet software each time I load an updated list....

Delete Answer

Posted by t_oku at June 19, 2006 - 08:33

Thank you for your useful Product.

I have added this feature simplly as follows.

First, I added deleteAnswer method into class Questionnaire. --- security.declareProtected(CMFCorePermissions.ModifyPortalContent, deleteAnswer) def deleteAnswer(self, userid): answered_flag = 0 for q in self.getAllQuestions(): if q.values_by_user.has_key(userid): if self.getCompletedFor(userid): if q.getQuestionType() != text and q.getQuestionType() != 'area': values = q.getAnswerFor(userid).split(##,len(q.getAnswerOptions())) for value in values: if not q.value_counts.has_key(value): q.value_counts[value] = 0 q.value_counts[value] -= 1 del q.values_by_user[userid] q._p_changed = 1 answered_flag = 1 count = 0 for i in self.completed: if i == userid: del self.completed[count] count += 1 self._p_changed = 1 return answered_flag ---

Second, I added python script delete_answer.py into skin directory. --- ## Script (Python) "delete_answer" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=delete_answer_button=None,delete_answer_text="" ##title= ## if delete_answer_button: answered_flag = context.deleteAnswer(delete_answer_text) go = context.REQUEST.RESPONSE.redirect if answered_flag: go("%s/html_spreadsheet?portal_status_message=%s" % (context.absolute_url(), "Answer deleted.")) else: go("%s/html_spreadsheet" % (context.absolute_url())) ---

Finally, I added a delete form into html_spreadsheet.pt ---

Delete Answer
Input user name you would like to delete.

---

Thank you!

t_oku

Re: Delete Answer

Posted by t_oku at June 19, 2006 - 08:40

Sorry, I missed above submition...

t_oku


For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by