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'',
typeInterface=u'loops.knowledge.survey.interfaces.IQuestionnaire',
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'',
typeInterface=u'loops.knowledge.survey.interfaces.IQuestion',
options=u'action.portlet:create_subtype,edit_concept')
type(u'resultelement', u'Feedback-Element', viewName=u'',
typeInterface=u'loops.knowledge.survey.interfaces.IResultElement',
type(u'feedbackitem', u'Feedback-Element', viewName=u'',
typeInterface=u'loops.knowledge.survey.interfaces.IFeedbackItem',
options=u'action.portlet:edit_concept')
# subtypes
child(u'questionnaire', u'question', u'issubtype')
child(u'questionnaire', u'questionnaire', u'issubtype')
child(u'question', u'resultelement', u'issubtype')
#child(u'questionnaire', u'questionnaire', u'issubtype')
#child(u'questionnaire', u'question', 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(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.interface import implementer, implements
from cybertools.knowledge.survey.questionnaire import Questionnaire, Question,\
ResultElement
from cybertools.knowledge.survey.questionnaire import Questionnaire, \
QuestionGroup, Question, FeedbackItem
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
TypeInterfaceSourceList.typeInterfaces += (IQuestionnaire, IQuestion, IResultElement)
TypeInterfaceSourceList.typeInterfaces += (IQuestionnaire,
IQuestionGroup, IQuestion, IFeedbackItem)
class Questionnaire(AdapterBase, Questionnaire):
@ -40,6 +42,13 @@ class Questionnaire(AdapterBase, Questionnaire):
_contextAttributes = list(IQuestionnaire)
class QuestionGroup(AdapterBase, QuestionGroup):
implements(IQuestionGroup)
_contextAttributes = list(IQuestionGroup)
class Question(AdapterBase, Question):
implements(IQuestion)
@ -47,9 +56,9 @@ class Question(AdapterBase, Question):
_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"
provides="loops.knowledge.survey.interfaces.IQuestionnaire" />
<zope:adapter
factory="loops.knowledge.survey.base.QuestionGroup"
provides="loops.knowledge.survey.interfaces.IQuestionGroup" />
<zope:adapter
factory="loops.knowledge.survey.base.Question"
provides="loops.knowledge.survey.interfaces.IQuestion" />
<zope:adapter
factory="loops.knowledge.survey.base.ResultElement"
provides="loops.knowledge.survey.interfaces.IResultElement" />
factory="loops.knowledge.survey.base.FeedbackItem"
provides="loops.knowledge.survey.interfaces.IFeedbackItem" />
</configure>

View file

@ -36,6 +36,11 @@ class IQuestionnaire(IConceptSchema, interfaces.IQuestionnaire):
'explicitly provide the values attribute.')
class IQuestionGroup(IConceptSchema, interfaces.IQuestionGroup):
""" A group of questions within a questionnaire.
"""
class IQuestion(IConceptSchema, interfaces.IQuestion):
""" 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.')
class IResultElement(IConceptSchema, interfaces.IResultElement):
class IFeedbackItem(IConceptSchema, interfaces.IFeedbackItem):
""" Some text (e.g. a recommendation) or some other kind of information
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.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, \
IResultElement
IFeedbackItem
from loops.organize.party import Person
from loops.setup import importData as baseImportData
@ -23,7 +23,7 @@ def importData(loopsRoot):
def importSurvey(loopsRoot):
component.provideAdapter(Questionnaire, provides=IQuestionnaire)
component.provideAdapter(Question, provides=IQuestion)
component.provideAdapter(ResultElement, provides=IResultElement)
component.provideAdapter(FeedbackItem, provides=IFeedbackItem)
baseImportData(loopsRoot, importPath, 'survey_de.dmp')