adapt to changed/extended base definition in cybertools with question groups and feedback items

This commit is contained in:
Helmut Merz 2013-02-24 11:24:54 +01:00
parent e4222d7567
commit 58bb16aaa9
5 changed files with 42 additions and 18 deletions

View file

@ -2,17 +2,23 @@
type(u'questionnaire', u'Fragebogen', viewName=u'', type(u'questionnaire', u'Fragebogen', viewName=u'',
typeInterface=u'loops.knowledge.survey.interfaces.IQuestionnaire', typeInterface=u'loops.knowledge.survey.interfaces.IQuestionnaire',
options=u'action.portlet:create_subtype,edit_concept') options=u'action.portlet:create_subtype,edit_concept')
type(u'questiongroup', u'Fragengruppe', viewName=u'',
typeInterface=u'loops.knowledge.survey.interfaces.IQuestionGroup',
options=u'action.portlet:create_subtype,edit_concept')
type(u'question', u'Frage', viewName=u'', type(u'question', u'Frage', viewName=u'',
typeInterface=u'loops.knowledge.survey.interfaces.IQuestion', typeInterface=u'loops.knowledge.survey.interfaces.IQuestion',
options=u'action.portlet:create_subtype,edit_concept') options=u'action.portlet:create_subtype,edit_concept')
type(u'resultelement', u'Feedback-Element', viewName=u'', type(u'feedbackitem', u'Feedback-Element', viewName=u'',
typeInterface=u'loops.knowledge.survey.interfaces.IResultElement', typeInterface=u'loops.knowledge.survey.interfaces.IFeedbackItem',
options=u'action.portlet:edit_concept') options=u'action.portlet:edit_concept')
# subtypes # subtypes
child(u'questionnaire', u'question', u'issubtype') #child(u'questionnaire', u'questionnaire', u'issubtype')
child(u'questionnaire', u'questionnaire', u'issubtype') #child(u'questionnaire', u'question', u'issubtype')
child(u'question', u'resultelement', u'issubtype') child(u'questionnaire', u'questiongroup', u'issubtype')
child(u'questiongroup', u'question', u'issubtype')
child(u'questiongroup', u'feedbackitem', u'issubtype')
#child(u'question', u'feedbackitem', u'issubtype')
# records # records
records(u'survey_responses', u'loops.knowledge.survey.response.Response') records(u'survey_responses', u'loops.knowledge.survey.response.Response')

View file

@ -23,14 +23,16 @@ Surveys used in knowledge management.
from zope.component import adapts from zope.component import adapts
from zope.interface import implementer, implements from zope.interface import implementer, implements
from cybertools.knowledge.survey.questionnaire import Questionnaire, Question,\ from cybertools.knowledge.survey.questionnaire import Questionnaire, \
ResultElement QuestionGroup, Question, FeedbackItem
from loops.common import AdapterBase from loops.common import AdapterBase
from loops.knowledge.survey.interfaces import IQuestionnaire, IQuestion, IResultElement from loops.knowledge.survey.interfaces import IQuestionnaire, \
IQuestionGroup, IQuestion, IFeedbackItem
from loops.type import TypeInterfaceSourceList from loops.type import TypeInterfaceSourceList
TypeInterfaceSourceList.typeInterfaces += (IQuestionnaire, IQuestion, IResultElement) TypeInterfaceSourceList.typeInterfaces += (IQuestionnaire,
IQuestionGroup, IQuestion, IFeedbackItem)
class Questionnaire(AdapterBase, Questionnaire): class Questionnaire(AdapterBase, Questionnaire):
@ -40,6 +42,13 @@ class Questionnaire(AdapterBase, Questionnaire):
_contextAttributes = list(IQuestionnaire) _contextAttributes = list(IQuestionnaire)
class QuestionGroup(AdapterBase, QuestionGroup):
implements(IQuestionGroup)
_contextAttributes = list(IQuestionGroup)
class Question(AdapterBase, Question): class Question(AdapterBase, Question):
implements(IQuestion) implements(IQuestion)
@ -47,9 +56,9 @@ class Question(AdapterBase, Question):
_contextAttributes = list(IQuestion) _contextAttributes = list(IQuestion)
class ResultElement(AdapterBase, ResultElement): class FeedbackItem(AdapterBase, FeedbackItem):
implements(IResultElement) implements(IFeedbackItem)
_contextAttributes = list(IResultElement) _contextAttributes = list(IFeedbackItem)

View file

@ -7,12 +7,16 @@
factory="loops.knowledge.survey.base.Questionnaire" factory="loops.knowledge.survey.base.Questionnaire"
provides="loops.knowledge.survey.interfaces.IQuestionnaire" /> provides="loops.knowledge.survey.interfaces.IQuestionnaire" />
<zope:adapter
factory="loops.knowledge.survey.base.QuestionGroup"
provides="loops.knowledge.survey.interfaces.IQuestionGroup" />
<zope:adapter <zope:adapter
factory="loops.knowledge.survey.base.Question" factory="loops.knowledge.survey.base.Question"
provides="loops.knowledge.survey.interfaces.IQuestion" /> provides="loops.knowledge.survey.interfaces.IQuestion" />
<zope:adapter <zope:adapter
factory="loops.knowledge.survey.base.ResultElement" factory="loops.knowledge.survey.base.FeedbackItem"
provides="loops.knowledge.survey.interfaces.IResultElement" /> provides="loops.knowledge.survey.interfaces.IFeedbackItem" />
</configure> </configure>

View file

@ -36,6 +36,11 @@ class IQuestionnaire(IConceptSchema, interfaces.IQuestionnaire):
'explicitly provide the values attribute.') 'explicitly provide the values attribute.')
class IQuestionGroup(IConceptSchema, interfaces.IQuestionGroup):
""" A group of questions within a questionnaire.
"""
class IQuestion(IConceptSchema, interfaces.IQuestion): class IQuestion(IConceptSchema, interfaces.IQuestion):
""" A single question within a questionnaire. """ A single question within a questionnaire.
""" """
@ -44,7 +49,7 @@ class IQuestion(IConceptSchema, interfaces.IQuestion):
answerOptions = Attribute('A sequence of answer options to select from.') answerOptions = Attribute('A sequence of answer options to select from.')
class IResultElement(IConceptSchema, interfaces.IResultElement): class IFeedbackItem(IConceptSchema, interfaces.IFeedbackItem):
""" Some text (e.g. a recommendation) or some other kind of information """ Some text (e.g. a recommendation) or some other kind of information
that may be deduced from the res)ponses to a questionnaire. that may be deduced from the res)ponses to a questionnaire.
""" """

View file

@ -7,9 +7,9 @@ from zope import component
from zope.interface.verify import verifyClass from zope.interface.verify import verifyClass
from zope.testing.doctestunit import DocFileSuite from zope.testing.doctestunit import DocFileSuite
from loops.knowledge.survey.base import Questionnaire, Question, ResultElement from loops.knowledge.survey.base import Questionnaire, Question, FeedbackItem
from loops.knowledge.survey.interfaces import IQuestionnaire, IQuestion, \ from loops.knowledge.survey.interfaces import IQuestionnaire, IQuestion, \
IResultElement IFeedbackItem
from loops.organize.party import Person from loops.organize.party import Person
from loops.setup import importData as baseImportData from loops.setup import importData as baseImportData
@ -23,7 +23,7 @@ def importData(loopsRoot):
def importSurvey(loopsRoot): def importSurvey(loopsRoot):
component.provideAdapter(Questionnaire, provides=IQuestionnaire) component.provideAdapter(Questionnaire, provides=IQuestionnaire)
component.provideAdapter(Question, provides=IQuestion) component.provideAdapter(Question, provides=IQuestion)
component.provideAdapter(ResultElement, provides=IResultElement) component.provideAdapter(FeedbackItem, provides=IFeedbackItem)
baseImportData(loopsRoot, importPath, 'survey_de.dmp') baseImportData(loopsRoot, importPath, 'survey_de.dmp')