예제 #1
0
파일: order.py 프로젝트: omides248/shopping
class Order(models.Model):

    REGISTERED_STATUS = '1'
    DELIVERED_STATUS = '2'
    LOADING_STATUS = '3'
    SENDING_STATUS = '4'
    CLEARED_STATUS = '5'

    ORDER_STATUS = (
        (REGISTERED_STATUS, _('Order is begin registered')),
        (DELIVERED_STATUS, _('Delivered to the sales unit')),
        (LOADING_STATUS, _('Loading')),
        (SENDING_STATUS, _('Sending')),
        (CLEARED_STATUS, _('Cleared')),
    )
    objects         = jmodels.jManager()
    order_number    = models.CharField(max_length=100, default=set_order_number, verbose_name=_("Order number"))
    order_status    = models.CharField(choices=ORDER_STATUS, max_length=1, default=REGISTERED_STATUS, verbose_name=_('Order status'))
    total_cost      = models.PositiveIntegerField(verbose_name=_("Total cost"))
    off             = models.PositiveIntegerField(verbose_name=_("Off"), default=0)
    phone_number    = models.CharField(max_length=13,verbose_name=_("Phone number"), null=True, blank=True)
    first_name      = models.CharField(max_length=100, verbose_name=_("First name"))
    last_name       = models.CharField(max_length=100, verbose_name=_("last name"))
    created_at      = jmodels.jDateTimeField(auto_now_add=True, verbose_name=_("Created at"))
    updated_at      = jmodels.jDateTimeField(auto_now=True, verbose_name=_("Updated at"))

    class Meta:
        verbose_name = _("Order")
        verbose_name_plural = _("Orders")

    def __str__(self):
        return self.order_number
예제 #2
0
class OpinionForDrug(models.Model):
    objects = jmodels.jManager()
    drug = models.ForeignKey('Drug', on_delete = models.CASCADE, null = False, blank = False, verbose_name = 'دارو')
    author = models.ForiegnKey('MyUser', on_delete = models.CASCADE, null = False, blank = False, verbose_name = 'نویسنده')
    title = models.CharField(db_index = True, max_length = 300, null = True, blank = True, verbose_name = 'عنوان')
    text = models.TextField(max_length = 1000, null = False, blank = False, verbose_name = 'متن')
    date = jmodels.jDateField(default = jdatetime.date.today, null = False = blank = True, verbose_name = 'تاریخ ثبت')
예제 #3
0
class BarTime(models.Model):
    objects = jmodels.jManager()
    name = models.CharField(max_length=200)
    datetime = jmodels.jDateTimeField()

    def __str__(self):
        return "%s, %s" % (self.name, self.datetime)
예제 #4
0
class AvailabilityStatus(LogMixin):
    objects = jmodels.jManager()
    reason = models.CharField(max_length=20,
                              choices=AVAILABILITY_STATUS_REASON_TYPES)
    until = jmodels.jDateTimeField()

    class Meta:
        verbose_name = "وضعیت کارمند"
        verbose_name_plural = "وضعیت‌های کارمند"

    def get_type_info(self):
        return self.get_reason_display()

    @property
    def until_formatted(self):
        object_type = "date" if self.reason in DAYLONG_STATUS_TYPES else "datetime"
        formatted_datetime = get_formatted_jdatetime(self.until,
                                                     object_type=object_type,
                                                     show_seconds=False)
        return formatted_datetime

    def __str__(self):
        until_details = ("" if self.reason in INDEFINITE_STATUS_TYPES else
                         f" تا {self.until_formatted}")
        return f"{self.employee} - {self.get_reason_display()} {until_details}"
예제 #5
0
class Packet(models.Model):
    objects = jmodels.jManager()
    profile_id = models.ForeignKey(Profile, on_delete=models.CASCADE, null=True)
    sDate = jmodels.jDateTimeField('Date Created', auto_now_add=True)

    def __str__(self):
        return '{0}/{1}/{2}'.format(self.sDate.year, self.sDate.month,self.sDate.day)
예제 #6
0
파일: models.py 프로젝트: spsina/uni-api
class Term(models.Model):
    objects = jmodels.jManager()
    start_date = jmodels.jDateField(null=False, blank=False)
    end_date = jmodels.jDateField(null=False, blank=False)

    @property
    def title(self):
        if self.start_date.month > self.end_date.month:
            return str(self.start_date.year) + " دوم"
        else:
            return str(self.start_date.year) + " اول"

    class Meta:
        unique_together = (("start_date", "end_date"))

    def __str__(self):
        return self.title

    def __init__(self, *args, **kwargs):
        super(Term, self).__init__(* args, **kwargs)
        if self.start_date is not None:
            self.old_title = self.title
        else:
            self.old_title = " "

    def clean(self):
        if (self.end_date < self.start_date) or (self.end_date.year - self.start_date.year > 1):
            raise ValidationError("Invalid Term interval!")
        elif self.title != self.old_title and self.title in list(map(lambda x: x.title, Term.objects.all())):
            raise ValidationError(
                "A term with the title <%s> is already defined!" % self.title)

    def save(self, *args, **kwargs):
        self.full_clean()
        super(Term, self).save(*args, **kwargs)
예제 #7
0
파일: models.py 프로젝트: spsina/uni-api
class Grade(models.Model):
    objects = jmodels.jManager()
    out_of_twenty = models.FloatField(
        null=False, blank=False, default=20.0)  # az 20 nomre
    value = models.FloatField(null=False, blank=False, default=0.0)
    base_value = models.FloatField(null=False, blank=False, default=20.0)
    date_examined = jmodels.jDateField(null=True, blank=True)
    title = models.CharField(max_length=255, blank=True)
    attend = models.ForeignKey(
        Attend, on_delete=models.CASCADE, related_name="grades")

    @property
    def percentage(self):
        return self.out_of_twenty*100/20.0

    @property
    def carrier(self):
        return self.attend.carrier

    @property
    def course(self):
        return self.attend.course

    def __str__(self):
        return "Grade for: "+str(self.attend)+" | Title :"+str(self.title)
예제 #8
0
class DrugRegistration(models.Model):
    objects = jmodels.jManager()
    drug = models.OneToOneField('Drug',on_delete = models.CASCADE, null = False, blank = False, unique = True, verbose_name = 'دارو')
    addDate = jmodels.jDateField(default = jdatetime.date.today, null = False, blank = True, verbose_name = 'تاریخ ثبت')
    pharmacy = models.ForeignKey('Pharmacy', on_delete = models.CASCADE, null = False, blank = False, verbose_name = 'داروخانه ثبت کننده')
    def __str__(self):
        return '%s : %s'%(self.drug.name,self.parmacy.fullName)
예제 #9
0
class TimeStampedModel(models.Model):
    objects = jmodels.jManager()
    created = jmodels.jDateTimeField(auto_now_add=True)
    modified = jmodels.jDateTimeField(auto_now=True)

    class Meta:
        abstract = True
예제 #10
0
class DrugPricing(models.Model):
    objects = jmodels.jManager()
    drug = models.ForeignKey('Drug', on_delete = models.CASCADE, null = False, blank = False, verbose_name = 'دارو')
    price = models.FloatField(null = False, blank = False, verbose_name = 'قیمت')
    insuranceRate = models.ForeignKey('InsuranceRate', on_delete = models.CASCADE, null = Flase, blank = False, verbose_name = 'نرخ بیمه')
    addDate = jmodels.jDateTimeField(default = jdatetime.datetime.now, null = False, blank = True, verbose_name = 'تاریخ ثبت قیمت')
    def __str__(self):
        return '%s : %s'%(self.drug.name,self.addDate)
예제 #11
0
class Request(models.Model):
    objects = jmodels.jManager()
    applicantFirstName = models.CharField(db_index = True, max_length = 50, null = False, blank = False, verbose_name = 'نام متقاضی')
    applicantLastName = models.CharField(db_index = True, max_length = 100, null = False, blank = False, verbose_name = 'نام خانوادگی متقاضی')
    text = models.TextField(db_index = True, max_length = 2000, null = False, blank = False, verbose_name = 'متن درخواست')
    isAccepted = models.BooleanField(default = False, null = False, blank = True, verbose_name = 'تاییدیه')
    requestDate = jmodels.jDateField(default = jdatetime.date.today, null = False, blank = True, verbose_name = 'تاریخ درخواست')
    def __str__(self):
        return '%s %s : %s'%(self.applicantFirstName,self.applicantLastName,self.requestDate)
예제 #12
0
class Profile(models.Model):
    objects = jmodels.jManager()
    user = models.OneToOneField(settings.AUTH_USER_MODEL,
                                on_delete=models.CASCADE)
    date_of_birth = jmodels.jDateField(blank=True, null=True)
    photo = models.ImageField(upload_to='users/%Y/%m/%d/', blank=True)

    def __str__(self):
        return f'{self.user.first_name} {self.user.last_name}'
예제 #13
0
class Order(models.Model):

    objects = jmodels.jManager()

    datetime = jmodels.jDateTimeField(default=jdatetime.datetime.now,
                                      null=False,
                                      blank=True,
                                      verbose_name="زمان سفارش")

    ORDER_TYPE_CHOICES = [
        (1, "بیرون بر"),
        (2, "سالن"),
    ]

    title = models.PositiveSmallIntegerField(null=False,
                                             blank=False,
                                             choices=ORDER_TYPE_CHOICES,
                                             verbose_name="نوع")

    customer = models.ForeignKey("Customer",
                                 on_delete=models.DO_NOTHING,
                                 null=False,
                                 blank=False,
                                 unique_for_date='datetime',
                                 verbose_name="مشتری")

    branch = models.ForeignKey("Branch",
                               on_delete=models.CASCADE,
                               null=False,
                               blank=False,
                               verbose_name="مجموعه غذایی")

    table = models.ForeignKey("Table",
                              on_delete=models.DO_NOTHING,
                              null=True,
                              blank=True,
                              verbose_name="میز")

    foods = models.ManyToManyField("Food", verbose_name="غذا")

    @property
    def prices(self):
        foods = self.foods
        for food in foods:
            prices += food.price
        return prices

    def __str__(self):
        return "{1} -> {0}".format(self.branch.name,
                                   self.customer.user.username)

    class Meta:

        verbose_name = "سفارش"

        verbose_name_plural = "سفارشات"
예제 #14
0
class Dissertation(models.Model):
    title = models.CharField(max_length=500)
    description = models.TextField()
    is_approved = models.BooleanField(default=False)
    created_at = jmodels.jDateTimeField(auto_now_add=True)
    jury_date = jmodels.jDateField(blank=True)
    objects = jmodels.jManager()
    docfile = models.FileField(blank=True, upload_to='disserta')

    # RELATIONS
    student = models.OneToOneField(Student, on_delete=models.CASCADE)
예제 #15
0
class Fund(models.Model):
    objects = jmodels.jManager()
    owner = models.ForeignKey(User, on_delete=models.DO_NOTHING)
    title = models.CharField(max_length=150, null=True, blank=True)
    pub_date = models.DateTimeField(default=now)
    date_fa = jmodels.jDateField(default=now)
    summary = models.TextField(max_length=600, null=True, blank=True)

    class Meta:
        permissions = (("index_fund", "Can view list of funds"), )

    def __str__(self):
        return '%s' % self.title
예제 #16
0
class Transaction(models.Model):
    title = models.CharField(max_length=40, null=True, verbose_name='عنوان')
    objects = jmodels.jManager()
    date = jmodels.jDateField(verbose_name='تاریخ')
    amount = models.IntegerField(verbose_name='مقدار')
    payment_method = models.ForeignKey(PaymentMethod,
                                       null=True,
                                       on_delete=models.SET_NULL,
                                       verbose_name='پرداخت با')

    class Meta:
        abstract = True

    def tag_date(self):
        return "%s" % (digits.en_to_fa(self.date.__str__()))
예제 #17
0
class Event(models.Model):

    Name = models.CharField(max_length=40)
    Kanoon = models.ForeignKey(Kanoon, on_delete=models.CASCADE)
    objects = jmodels.jManager()
    DateTime = jmodels.jDateTimeField
    Group = models.ManyToManyField(Group)  # TODO: Only from Kanoon Group
    Creator = models.ForeignKey(
        User, on_delete=models.CASCADE)  # TODO : default current user
    Description = models.TextField()
    Members = models.ManyToManyField(Member)  # TODO: Only from Group Member
    Poster = models.ImageField(blank=True, null=True)

    def __str__(self):
        return '{} - {}'.format(self.Name, self.Kanoon)
예제 #18
0
class FoodCollection(models.Model):

    full_name = models.CharField(db_index=True,
                                 max_length=100,
                                 null=False,
                                 blank=False,
                                 verbose_name="نام مجموعه")

    guild_id = models.CharField(
        db_index=True,
        max_length=12,
        null=False,
        blank=False,
        validators=[
            RegexValidator(regex=r"^\d{12}$",
                           message="شناسه صنفی را بصورت درست وارد نمایید",
                           code="شناسه صنفی نامعتبر")
        ],
        verbose_name="شناسه صنفی")

    objects = jmodels.jManager()

    expiration_date = jmodels.jDateField(null=False,
                                         blank=False,
                                         verbose_name="تاریخ انقضا پروانه کسب")

    collaborationRequest = models.OneToOneField("CollaborationRequest",
                                                on_delete=models.CASCADE,
                                                null=False,
                                                blank=False,
                                                verbose_name="درخواست مربوطه")

    manager = models.OneToOneField("User",
                                   on_delete=models.CASCADE,
                                   null=False,
                                   blank=False,
                                   verbose_name="مدیر مجموعه")

    def __str__(self):
        return self.full_name

    class Meta:

        verbose_name = "مجموعه غذایی"

        verbose_name_plural = "مجموعه های غذایی"
예제 #19
0
class Comment(MPTTModel):
    RelPost = models.ForeignKey(Post, on_delete=models.CASCADE)
    Text = models.TextField()
    Author = models.CharField(max_length=50)
    objects = jmodels.jManager()
    Date = jmodels.jDateField()
    models.DateTimeField(default=datetime.datetime.now())
    Email = models.EmailField(null=True)
    Valid = models.BooleanField(default=False)
    parent = TreeForeignKey('self',
                            on_delete=models.CASCADE,
                            null=True,
                            blank=True,
                            related_name='children')

    class MPTTMeta:
        order_insertion_by = ['Date']
예제 #20
0
class Answer(models.Model):
    objects = jmodels.jManager()
    Date = jmodels.jDateField(null=True)
    Time = models.TimeField(null=True)
    Sex = models.CharField(max_length=20, default='M')
    Age = models.CharField(max_length=20, default='None')
    QoProduct = models.IntegerField(default=0)
    QoDesign = models.IntegerField(default=0)
    QoResponse = models.IntegerField(default=0)
    QoDelivery = models.IntegerField(default=0)
    QoPersonality = models.IntegerField(default=0)
    QoDecor = models.IntegerField(default=0)
    QoAmount = models.IntegerField(default=0)
    QoShape = models.IntegerField(default=0)
    Comment = models.TextField(max_length=300, blank=True)

    def __str__(self):
        return "{}  {}".format(self.Sex, self.Age)
예제 #21
0
class Post(models.Model):
    Title = models.TextField(blank=False)
    Type = models.CharField(max_length=50)
    Category = models.CharField(max_length=50)
    SubTitle = models.TextField(null=True, blank=True)
    About = models.TextField(null=True, blank=True)
    Author = models.CharField(max_length=50, null=True, blank=True)
    Avatar = models.ImageField(upload_to='static/image/avatar/',
                               null=True,
                               blank=True)
    Text = models.TextField()
    objects = jmodels.jManager()
    Date = jmodels.jDateField()
    AparatLink = models.TextField(null=True, blank=True)
    PostImage = models.ImageField(upload_to='static/image/post/',
                                  null=True,
                                  blank=True)
    tags = TaggableManager()
    Index = models.IntegerField(default=0)
예제 #22
0
class Log(models.Model):
    objects = jmodels.jManager()
    datetime_occured = jmodels.jDateTimeField(auto_now_add=True)
    employee = models.ForeignKey("Employee",
                                 on_delete=models.SET_NULL,
                                 null=True)
    event_message = models.TextField()
    event_type = models.CharField(max_length=40)

    class Meta:
        verbose_name = "لاگ"
        verbose_name_plural = "لاگ‌ها"

    @property
    def datetime_occured_formatted(self):
        return get_formatted_jdatetime(self.datetime_occured)

    def __str__(self):
        return f"{self.datetime_occured_formatted} - {self.event_message}"
예제 #23
0
class MyUser(AbstractBaseUser,PermissionsMixin):
    objects = jmodels.jManager()
    username = models.CharField(db_index = True, max_length = 100, null = False, blank = False, unique = True, verbose_name = 'نام کاربری')
    email = models.EmailField(max_length = 255, null = True, blank = True, unique = True, verbose_name = 'آدرس ایمیل')
    date_joined = jmodels.jDateField(default = jdatetime.date.todey, null = False, blank = True, verbose_name = 'تاریخ ثبت نام')
    last_login = models.jDateTimeField(default = jdatetime.datetime.now, null = False,blank = True, verbose_name = 'آخرین ورود')
    is_active = models.BooleanField(default = True, null = False, blank = True, verbose_name = 'فعال')
    is_superuser = models.BooleanField(default = False, null = False, blank = True, verbose_name = 'ادمین')
    USERNAME_FIELD = 'username'
    EMAIL_FIELD = 'email'
    REQUIRED_FIELDS = []
    objects = UserManager()
    @property
    def is_staff(self):
        "Is the user a member of staff?"
        # Simplest possible answer: All admins are staff
        return self.is_admin
    def __str__(self):
        return self.username
예제 #24
0
class Rate(models.Model):

    objects = jmodels.jManager()

    datetime = jmodels.jDateTimeField(default=jdatetime.datetime.now,
                                      null=False,
                                      blank=True,
                                      editable=False,
                                      verbose_name="زمان ثبت")

    title = models.CharField(db_index=True,
                             max_length=100,
                             null=False,
                             blank=False,
                             verbose_name="عنوان")

    text = models.TextField(max_length=2000,
                            null=False,
                            blank=False,
                            verbose_name="متن")

    customer = models.ForeignKey("Customer",
                                 on_delete=models.CASCADE,
                                 null=False,
                                 blank=True,
                                 verbose_name="کاربر نظر دهنده")

    branch = models.ForeignKey("Branch",
                               on_delete=models.CASCADE,
                               null=False,
                               blank=True,
                               verbose_name="مجموعه غذایی مورد نظر")

    def __str__(self):
        return "{0} -> {1}".format(self.customer.user.username,
                                   self.branch.name)

    class Meta:

        verbose_name = "نظر"

        verbose_name_plural = "نظرات"
예제 #25
0
파일: models.py 프로젝트: arghavan99/Rasta
class BlogPost(models.Model):
    objects = jmodels.jManager()
    photo = models.ImageField(
        upload_to='blog/',
        null=True,
        blank=True,
        help_text=
        "برای نمایش بهتر در سایت، باید نسبت ابعاد تصویر بین ۰.۸ تا ۱.۲ باشد.",
        validators=[validate_image_size, validate_square_image])
    title = models.CharField(max_length=70, null=False, blank=False)
    publish_date = jmodels.jDateTimeField(auto_now_add=True)
    summary = models.TextField(max_length=100, null=False, blank=False)
    text = RichTextField(null=False, blank=False)
    categories = models.ManyToManyField(Category, related_name='blog_posts')

    def __str__(self):
        return self.title

    def get_persian_date(self):
        return persian_date(self.publish_date)

    def get_persian_month(self):
        months = [
            'فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر',
            'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'
        ]
        return months[self.publish_date.month - 1]

    def get_persian_year(self):
        translate_table = str.maketrans('1234567890', '۱۲۳۴۵۶۷۸۹۰')
        return str(self.publish_date.year).translate(translate_table)

    def get_persian_time(self):
        translate_table = str.maketrans('1234567890', '۱۲۳۴۵۶۷۸۹۰')
        return str(self.publish_date.time().strftime(" %H:%M ")).translate(
            translate_table)

    def get_persian_day(self):
        translate_table = str.maketrans('1234567890', '۱۲۳۴۵۶۷۸۹۰')
        return str(self.publish_date.day).translate(translate_table)
예제 #26
0
class Member(models.Model):

    FirstName = models.CharField(max_length=30, blank=True)
    LastName = models.CharField(max_length=30, blank=True)
    NickName = models.CharField(max_length=30, blank=True)
    # PhoneNumber = models.CharField(max_length=20)
    Kanoon = models.ForeignKey(Kanoon, on_delete=models.CASCADE)
    objects = jmodels.jManager()
    BrithDate = jmodels.jDateField(blank=True, null=True)
    PhoneNumber = PhoneNumberField()
    Avatar = AvatarField(upload_to='Members',
                         width=100,
                         height=100,
                         null=True,
                         blank=True)
    Group = models.ManyToManyField(Group)
    Email = models.EmailField(max_length=70,
                              unique=True,
                              blank=True,
                              null=True)

    def __str__(self):
        return '{} - {}'.format(self.FirstName, self.LastName)
예제 #27
0
class jDateModel(models.Model):
    objects = jmodels.jManager()
    date = jmodels.jDateField()

    def __repr__(self):
        return str(self.date)
예제 #28
0
class jDateTimeModel(models.Model):
    objects = jmodels.jManager()
    date_time = jmodels.jDateTimeField()
예제 #29
0
class jDateTimeModelAutoNow(models.Model):
    objects = jmodels.jManager()
    date_time = jmodels.jDateTimeField(auto_now=True)
예제 #30
0
class jDateModelAutoNow(models.Model):
    objects = jmodels.jManager()
    date = jmodels.jDateField(auto_now=True)

    def __repr__(self):
        return str(self.date)