def questions_by_type(self, question_type): results = set() for obj in self.values(): if not IQuestion.providedBy(obj): continue if obj.get_question_type() == question_type: results.add(obj) return results
def translation_count(self, lang): translated = 0 for question in self.values(): if not IQuestion.providedBy(question): continue question_texts = question.get_question_text() if question_texts.get(lang, u"").strip(): translated += 1 return translated
def schema(self): schema = createSchema(self.context.schemas['edit']) #FIXME: Translations up for refactoring! if ISurvey.providedBy(self.context): self.trans_util.add_translations_schema(schema['heading_translations'], self.context) if ISurveySection.providedBy(self.context): self.trans_util.add_translations_schema(schema['heading_translations'], self.context) self.trans_util.add_translations_schema(schema['description_translations'], self.context, richtext=True) if IQuestion.providedBy(self.context): self.trans_util.add_translations_schema(schema['question_text'], self.context) if IChoice.providedBy(self.context): add_translations_node(schema, 'title_translations') if ITextSection.providedBy(self.context): add_translations_node(schema, 'title_translations', based_on = 'title') add_translations_node(schema, 'description_translations', based_on = 'description') return schema