Esempio n. 1
0
 def ready(self):
     from pagetree.reports import ReportableInterface
     ReportableInterface.register(self.get_model('Quiz'))
Esempio n. 2
0
        return TestBlock.objects.create(body=d.get('body', ''))

    def edit_form(self):
        class EditForm(forms.Form):
            body = forms.CharField(widget=forms.widgets.Textarea(),
                                   initial=self.body)

        return EditForm()

    def edit(self, vals, files):
        self.body = vals.get('body', '')
        self.save()

    def as_dict(self):
        return dict(body=self.body)

    def summary_render(self):
        if len(self.body) < 61:
            return self.body
        else:
            return self.body[:61] + "..."

    def report_metadata(self):
        return [TestReportColumn()]

    def report_values(self):
        return [TestReportColumn()]


ReportableInterface.register(TestBlock)
Esempio n. 3
0
        return row

    def user_value(self, user):
        response = DosageActivityResponse.objects.filter(
            user=user, dosage_activity__id=self.pageblock_id)
        if response.count() == 0:
            return None
        else:
            return getattr(response[0], self.field_name)


class DosageActivityForm(forms.ModelForm):
    class Meta:
        model = DosageActivity


class DosageActivityResponse(models.Model):
    dosage_activity = models.ForeignKey(DosageActivity,
                                        null=True,
                                        blank=True,
                                        related_name='dosage_resp')
    user = models.ForeignKey(User, null=True, blank=True)
    ml_nvp = models.DecimalField(default=0.0, max_digits=4, decimal_places=2)
    times_day = models.IntegerField()
    weeks = models.IntegerField()


ReportableInterface.register(ConversationScenario)
ReportableInterface.register(CalendarChart)
ReportableInterface.register(DosageActivity)
Esempio n. 4
0
    @classmethod
    def create_from_dict(self, d):
        return TestBlock.objects.create(body=d.get('body', ''))

    def edit_form(self):
        class EditForm(forms.Form):
            body = forms.CharField(widget=forms.widgets.Textarea(),
                                   initial=self.body)
        return EditForm()

    def edit(self, vals, files):
        self.body = vals.get('body', '')
        self.save()

    def as_dict(self):
        return dict(body=self.body)

    def summary_render(self):
        if len(self.body) < 61:
            return self.body
        else:
            return self.body[:61] + "..."

    def report_metadata(self):
        return [TestReportColumn()]

    def report_values(self):
        return [TestReportColumn()]

ReportableInterface.register(TestBlock)
Esempio n. 5
0
@python_2_unicode_compatible
class ActionPlanResponse(models.Model):
    lab = models.ForeignKey(Lab, on_delete=models.CASCADE)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    action_plan = models.CharField(max_length=256, default="")
    assessment = models.TextField(default="", blank=True)

    def __str__(self):
        return "ActionPlanResponse for %s" % smart_text(self.user)

    def correct_action_plan(self):
        return self.action_plan == self.lab.correct_actionplan


ReportableInterface.register(Lab)


class TestLevelColumn(ReportColumnInterface):
    def __init__(self, hierarchy, test, level=None):
        self.hierarchy = hierarchy
        self.test = test
        self.level = level

    def identifier(self):
        return "%s_%s_level" % (self.hierarchy.id, self.test.id)

    def metadata(self):
        return [
            self.hierarchy.name,
            self.identifier(), "Lab Result Level", "single choice",
Esempio n. 6
0
        return [
            QuizSummaryReportColumn('thermodynamics'),
            QuizSummaryReportColumn('reaction_classes'),
            QuizSummaryReportColumn('redox_chemistry'),
            QuizSummaryReportColumn('mechanisms'),
            QuizSummaryReportColumn('paper_figures')
        ]


class QuizSummaryForm(forms.ModelForm):
    class Meta:
        model = QuizSummaryBlock
        exclude = []


ReportableInterface.register(QuizSummaryBlock)


class YouTubeReportColumn(ReportColumnInterface):
    def __init__(self, hierarchy, video_id, title):
        self.hierarchy = hierarchy
        self.video_id = video_id
        self.title = title

    def identifier(self):
        return self.video_id

    def metadata(self):
        '''hierarchy, itemIdentifier', 'group', 'item type', 'item text' '''
        return [
            self.hierarchy.name,
Esempio n. 7
0
    def create_from_dict(cls, d):
        return cls.objects.create(
            video_id=d.get('video_id', ''),
            language=d.get('language', ''),
            title=d.get('title', '')
        )


class YouTubeForm(forms.ModelForm):
    class Meta:
        model = YouTubeBlock
        widgets = {'title': forms.TextInput}
        exclude = []


ReportableInterface.register(YouTubeBlock)


@python_2_unicode_compatible
class SimpleImageBlock(models.Model):
    pageblocks = GenericRelation(PageBlock)
    image = models.ImageField(upload_to="images")
    caption = models.TextField(blank=True)
    alt = models.CharField(max_length=100, null=True, blank=True)
    template_file = "main/simpleimageblock.html"
    display_name = "Simple Image Block"

    def pageblock(self):
        return self.pageblocks.all()[0]

    def __str__(self):
Esempio n. 8
0
        return row

    def user_value(self, user):
        response = DosageActivityResponse.objects.filter(
            user=user, dosage_activity__id=self.pageblock_id)
        if response.count() == 0:
            return None
        else:
            return getattr(response[0], self.field_name)


class DosageActivityForm(forms.ModelForm):
    class Meta:
        model = DosageActivity
        exclude = []


class DosageActivityResponse(models.Model):
    dosage_activity = models.ForeignKey(DosageActivity,
                                        null=True, blank=True,
                                        related_name='dosage_resp')
    user = models.ForeignKey(User, null=True, blank=True)
    ml_nvp = models.DecimalField(default=0.0, max_digits=4, decimal_places=2)
    times_day = models.IntegerField()
    weeks = models.IntegerField()


ReportableInterface.register(ConversationScenario)
ReportableInterface.register(CalendarChart)
ReportableInterface.register(DosageActivity)
Esempio n. 9
0

class ActionPlanResponse(models.Model):
    lab = models.ForeignKey(Lab)
    user = models.ForeignKey(User)
    action_plan = models.CharField(max_length=256, default="")
    assessment = models.TextField(default="", blank=True)

    def __unicode__(self):
        return "ActionPlanResponse for %s" % unicode(self.user)

    def correct_action_plan(self):
        return self.action_plan == self.lab.correct_actionplan


ReportableInterface.register(Lab)


class TestLevelColumn(ReportColumnInterface):
    def __init__(self, hierarchy, test, level=None):
        self.hierarchy = hierarchy
        self.test = test
        self.level = level

    def identifier(self):
        return "%s_%s_level" % (self.hierarchy.id, self.test.id)

    def metadata(self):
        return [self.hierarchy.name,
                self.identifier(),
                "Lab Result Level",