diff --git a/.gitignore b/.gitignore index 17f9252..9e99c8a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.pyc *.pyo +*.swp dist/ *.project *.pydevproject diff --git a/knowledge/qualification/__init__.py b/knowledge/qualification/__init__.py index 36a440f..5b21388 100644 --- a/knowledge/qualification/__init__.py +++ b/knowledge/qualification/__init__.py @@ -1 +1,32 @@ -'''package loops.knowledge.qualification''' \ No newline at end of file +'''package loops.knowledge.qualification''' + +from zope.component import adapts +from zope.interface import implementer, implements +from cybertools.tracking.interfaces import ITrackingStorage +from loops.knowledge.qualification.interfaces import IQualificationRecord, \ + IQualificationRecords +from loops.organize.work.base import WorkItem, WorkItems + + +class QualificationRecord(WorkItem): + + implements(IQualificationRecord) + + typeName = 'QualificationRecord' + typeInterface = IQualificationRecord + statesDefinition = 'knowledge.qualification' + + def doAction(self, action, userName, **kw): + new = self.createNew(action, userName, **kw) + new.userName = self.userName + new.doTransition(action) + new.reindex() + return new + + +class QualificationRecords(WorkItems): + """ A tracking storage adapter managing qualification records.""" + + implements(IQualificationRecords) + adapts(ITrackingStorage) + diff --git a/knowledge/qualification/interfaces.py b/knowledge/qualification/interfaces.py index 87b3e2d..4aa1d50 100644 --- a/knowledge/qualification/interfaces.py +++ b/knowledge/qualification/interfaces.py @@ -23,6 +23,7 @@ Interfaces for knowledge management and elearning with loops. from zope.interface import Interface, Attribute from zope import interface, component, schema +from cybertools.organize.interfaces import IWorkItem, IWorkItems from loops.interfaces import IConceptSchema, ILoopsAdapter from loops.util import _ @@ -42,3 +43,11 @@ class ICompetence(ILoopsAdapter): required=False) +class IQualificationRecord(IWorkItem): + """ Records needs for qualification (acqusition of competence) + and corresponding participations in training events etc.""" + + +class IQualificationRecords(IWorkItems): + """ Container for qualification records.""" +