def addReport(self, title='', REQUEST=None, **kwargs): """Add a new report""" err = [] if not title: err.append('Field title is required') if err: if REQUEST is None: raise ValueError('.'.join(err)) self.setSessionErrorsTrans(err) self.setSession('title', title) return REQUEST.RESPONSE.redirect(REQUEST.HTTP_REFERER) report_id = manage_addSurveyReport(self, title=title, REQUEST=REQUEST) if REQUEST is not None: REQUEST.RESPONSE.redirect(REQUEST.HTTP_REFERER) return report_id
def generateFullReport(self, title='', REQUEST=None): """Generate a full report""" if not title: if REQUEST is None: raise ValueError('Field title is required') self.setSessionErrorsTrans('Field title is required') return REQUEST.RESPONSE.redirect(REQUEST.HTTP_REFERER) report_id = manage_addSurveyReport(self, title=title) report = self._getOb(report_id) sortorder = 1 for question in self.getSortedWidgets(): stat_classes = [] if isinstance(question, LabelWidget): pass elif isinstance(question, MultipleChoiceWidget): stat_classes.extend([ MultipleChoiceTabularStatistic, MultipleChoiceCssBarChartStatistic, MultipleChoiceGoogleBarChartStatistic, MultipleChoicePieChartStatistic ]) elif isinstance(question, ComboboxMatrixWidget): stat_classes.extend([ComboboxMatrixTabularStatistic]) elif isinstance(question, MatrixWidget): stat_classes.extend( [MatrixTabularStatistic, MatrixCssBarChartStatistic]) elif isinstance(question, StringWidget) or isinstance( question, TextAreaWidget): stat_classes.extend([TextAnswerListing]) else: stat_classes.extend([SimpleTabularStatistic]) for stat_class in stat_classes: manage_addStatistic(stat_class, report, question=question, sortorder=sortorder) sortorder += 1 if REQUEST is not None: REQUEST.RESPONSE.redirect(REQUEST.HTTP_REFERER) return report_id
def generateFullReport(self, title='', REQUEST=None): """Generate a full report""" if not title: if REQUEST is None: raise ValueError('Field title is required') self.setSessionErrorsTrans('Field title is required') return REQUEST.RESPONSE.redirect(REQUEST.HTTP_REFERER) report_id = manage_addSurveyReport(self, title=title) report = self._getOb(report_id) sortorder = 1 for question in self.getSortedWidgets(): stat_classes = [] if isinstance(question, LabelWidget): pass elif isinstance(question, MultipleChoiceWidget): stat_classes.extend([MultipleChoiceTabularStatistic, MultipleChoiceCssBarChartStatistic, MultipleChoiceGoogleBarChartStatistic, MultipleChoicePieChartStatistic]) elif isinstance(question, ComboboxMatrixWidget): stat_classes.extend([ComboboxMatrixTabularStatistic]) elif isinstance(question, MatrixWidget): stat_classes.extend([MatrixTabularStatistic, MatrixCssBarChartStatistic]) elif isinstance(question, StringWidget) or isinstance(question, TextAreaWidget): stat_classes.extend([TextAnswerListing]) else: stat_classes.extend([SimpleTabularStatistic]) for stat_class in stat_classes: manage_addStatistic(stat_class, report, question=question, sortorder=sortorder) sortorder += 1 if REQUEST is not None: REQUEST.RESPONSE.redirect(REQUEST.HTTP_REFERER) return report_id