Source code for sandglass.models.overtime
from django.contrib.auth.models import User
from django.core.validators import MaxValueValidator, MinValueValidator
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django_extensions.db.models import TimeStampedModel
from timedelta.fields import TimedeltaField
from sandglass.models.activity import Activity
from sandglass.models.tag import Tag
[docs]class OverTime(TimeStampedModel):
"""OverTime record for a user."""
user = models.ForeignKey(
User, verbose_name=_(u"user"))
date = models.DateField(
verbose_name=_(u"date"), db_index=True)
factor = models.DecimalField(
verbose_name=_(u"factor"), max_digits=3, decimal_places=2,
validators=[MinValueValidator(0), MaxValueValidator(9)])
duration = TimedeltaField(
verbose_name=_(u"duration"))
description = models.TextField(
verbose_name=_(u"description"), blank=True, null=True)
tags = models.ManyToManyField(
Tag, verbose_name=_(u"tags"), blank=True, null=True)
activities = models.ManyToManyField(
Activity, verbose_name=_(u"activities"), blank=True, null=True)
class Meta:
app_label = 'sandglass'
__all__ = ('OverTime',)