示例#1
0
class Installment(models.Model):
    Title=models.CharField(verbose_name='عنوان', max_length=100, db_index=True)
    Description=models.TextField(verbose_name='توضیحات', blank=True)
    FK_UserCreator=models.ForeignKey(User, on_delete=models.SET_NULL, verbose_name='سازنده', related_name='User_Creator', null=True)
    Company=models.CharField(verbose_name='میزان مشارکت بازار نخل', max_length=15)
    Entity=models.CharField(verbose_name='میزان مشارکت سازمان', max_length=15)
    FK_Receiver=models.ManyToManyField(User, verbose_name='گیرندگان اقساط', related_name='User_Installment', blank=True)
    FK_Product=models.ManyToManyField(Product, verbose_name='محصولات', related_name='Product_Installment', blank=True)
    FK_Shop=models.ManyToManyField(Shop, verbose_name='حجره ها', related_name='Shop_Installment', blank=True)
    StartDate=jmodels.jDateTimeField(verbose_name='تاریخ شروع خرید اقساطی')
    EndDate=jmodels.jDateTimeField(verbose_name='تاریخ پایان خرید اقساطی')
    AVAILABLE_STATUS =(
        (True,'فعال'),
        (False,'غیر فعال'),
    )
    PUBLISH_STATUS =(
        (True,'منتشر شده'),
        (False,'در انتظار تایید'),
    )
    Available=models.BooleanField(verbose_name='وضعیت ثبت خرید اقساطی', choices=AVAILABLE_STATUS, default=True)
    Publish=models.BooleanField(verbose_name='وضعیت انتشار خرید اقساطی', choices=PUBLISH_STATUS, default=False)
    FK_User=models.ForeignKey(User, on_delete=models.SET_NULL, verbose_name='تایید کننده', related_name='Installment_Accept', blank=True, null=True)
    
    # Output Customization Based On Title
    def __str__(self):
        return "{}".format(self.Title)

    # Ordering With DateCreate
    class Meta:
        ordering = ('id',)
        verbose_name = "قسط"
        verbose_name_plural = "اقساط" 
示例#2
0
class Post(models.Model):
    status = (('draft', 'Draft'), ('published', 'Published'))
    post_id = models.AutoField(primary_key=True)
    post_status = models.CharField(max_length=10,
                                   choices=status,
                                   default='draft',
                                   verbose_name="وضعیت")
    author = models.ForeignKey(members,
                               related_name='blog_posts',
                               on_delete=models.CASCADE,
                               verbose_name="نویسنده")
    Title = models.CharField(max_length=250, verbose_name="عنوان")
    Text = models.TextField(verbose_name="متن")
    ImageUrl = models.TextField(null=True, blank=True)
    Group = models.ForeignKey(NarGroups,
                              default="عمومی",
                              related_name='group_posts',
                              verbose_name="گروه")
    publish = jmodels.jDateTimeField(default=jdatetime.datetime.now,
                                     verbose_name="تاریخ انتشار")
    created = jmodels.jDateTimeField(auto_now_add=True)
    updated = jmodels.jDateTimeField(auto_now=True)

    def __str__(self):
        return self.Title

    class Meta:
        ordering = ('-publish', )
示例#3
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
示例#4
0
class realstateModel(models.Model):
    class Meta:
        verbose_name = "املاک"
        verbose_name_plural = "املاک"

    schoices = ((0, "غیرفعال"), (1, "فعال"))
    logo = models.ImageField(verbose_name="لوگو", upload_to="logo", null=True)
    header = models.ImageField(verbose_name="بنر",
                               upload_to="headers",
                               null=True)
    name = models.CharField(verbose_name="نام", max_length=20)
    bio = RichTextField(verbose_name="توضیحات", )
    address = models.TextField(verbose_name="آدرس", )
    create_time = jmodels.jDateTimeField(auto_now_add=True)
    update_time = jmodels.jDateTimeField(auto_now=True)
    status = models.SmallIntegerField(verbose_name="وضعیت",
                                      choices=schoices,
                                      default=1)

    def __str__(self):
        return self.name

    def delete_post(self):
        self.status = 0
        self.save()
示例#5
0
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
示例#6
0
class Blog(models.Model):
    creation_datetime = jmodels.jDateTimeField(auto_now_add=True)
    last_modified_datetime = jmodels.jDateTimeField(auto_now=True)
    publication_datetime = jmodels.jDateTimeField(null=True)
    # because it's blog post title, a maximum length of 100 is ideal.
    title = models.CharField(max_length=100, unique=True)
    slug = models.SlugField(allow_unicode=True, unique=True, db_index=True)
    text = models.TextField()
    auther = models.ForeignKey(ManyxUser, on_delete=models.SET_NULL, null=True)
    # likes, dislikes, reports
    likes = models.PositiveIntegerField(default=0)
    dislikes = models.PositiveIntegerField(default=0)
    reports = models.PositiveIntegerField(default=0)
    # tags are our new categories
    tags = JSONField(null=True, blank=True)

    def __str__(self):
        return "{} - {}".format(self.publication_datetime, self.auther)

    def get_slug(self):
        from django.utils.text import slugify
        return slugify(self.title, allow_unicode=True)

    def save(self, force_insert=False, force_update=False, using=None,
             update_fields=None, *args, **kwargs):
        if not self.slug:
            self.slug = self.get_slug()
        if not self.publication_datetime:
            self.publication_datetime = jdatetime.datetime.now()
        return super(Blog, self).save(*args, **kwargs)

    objects = models.Manager()
    # published posts manager
    published = BlogPublishManager()
示例#7
0
class Order_request(models.Model):
    user = models.ForeignKey(Profile,
                             on_delete=models.CASCADE,
                             related_name='user_profile',
                             verbose_name="کارشناس فروش")
    customer = models.ForeignKey(Profile,
                                 on_delete=models.CASCADE,
                                 related_name='customer_profile',
                                 verbose_name="خریدار")
    item = models.ForeignKey(Item,
                             on_delete=models.CASCADE,
                             verbose_name="فایل")
    final_price = models.CharField(max_length=200,
                                   default='نامشخص',
                                   verbose_name="قیمت نهایی")
    prepayment = models.CharField(max_length=200,
                                  default='نامشخص',
                                  verbose_name="بیعانه")
    description = models.TextField(max_length=1000,
                                   null=True,
                                   blank=True,
                                   verbose_name="توضیحات")
    CHOICES = (('تکمیل شده', 'تکمیل شده'), ('لغو شده', 'لغو شده'),
               ('دریافت پیش پرداخت', 'دریافت پیش پرداخت'),
               ('در حال بررسی', 'در حال بررسی'), ('جدید', 'جدید'))
    status = models.CharField(max_length=30,
                              choices=CHOICES,
                              default='جدید',
                              verbose_name="وضعیت")
    date_created = jmodels.jDateTimeField(auto_now_add=True,
                                          verbose_name="تاریخ")
    date_updated = jmodels.jDateTimeField(auto_now=True,
                                          verbose_name="آخرین ویرایش")

    def __str__(self):
        return " درخواست " + str(
            self.item
        ) + ' برای ' + self.customer.user.first_name + ' ' + self.customer.user.last_name

    @property
    def short_description(self):
        return truncatechars(self.description, 70)

    def get_absolute_url(self):
        return reverse('order_req_detail', args=[self.id])

    def get_absolute_edit_url(self):
        return reverse('order_edit', args=[self.id])

    class Meta:
        verbose_name = "درخواست خرید"
        verbose_name_plural = "درخواست های خرید"
示例#8
0
class Comment(models.Model):
    post = models.ForeignKey(Post, related_name="post_comments")
    member = models.ForeignKey(members, verbose_name="نام")
    Text = models.TextField(verbose_name="متن")
    created = jmodels.jDateTimeField(auto_now_add=True)
    updated = jmodels.jDateTimeField(auto_now=True)
    active = models.BooleanField(default=False)

    class Meta:
        ordering = ('created', )

    def __str__(self):
        return 'نوشته شده توسط {} در {}'.format(self.member, self.post)
示例#9
0
class ProjectModel(models.Model):
    schoices = (
        (0, "در حال اجرا"),
        (1, "تکمیل شده"),
        (2, "غیر فعال/فروخته شده"),
    )

    class Meta:
        verbose_name = "پروژه"
        verbose_name_plural = "پروژه"

    # class Meta:
    #     verbose_name="آلبوم"
    #     verbose_name_plural="آلبوم ها"
    # albumname = models.CharField(max_length=30, default=get_album_name, editable=False)
    project = models.ForeignKey("accounts.realstateModel",
                                verbose_name="مربوط به املاک ",
                                related_name='Project_amlak',
                                on_delete=models.CASCADE,
                                null=True)
    title = models.CharField(verbose_name="عنوان", max_length=20)

    description = models.TextField()
    # parent=models.ForeignKey("self",verbose_name="مربوط به آلبوم",on_delete=models.PROTECT)
    group = models.ForeignKey("group",
                              verbose_name="مربوط به گروه",
                              on_delete=models.PROTECT)
    status = models.SmallIntegerField(verbose_name="وضعیت",
                                      choices=schoices,
                                      default=1)
    create_time = jmodels.jDateTimeField(auto_now_add=True)
    update_time = jmodels.jDateTimeField(auto_now=True)

    def get_images(self):
        image = self.imagesA.all()
        return image

    def set_images(self, images):
        for i in images:
            self.imagesA.create(image=i)

    def default(self):
        return self.imagesA.filter(default=True).first()

    def thumbnails(self):
        return self.imagesA.filter(width__lt=100, length_lt=100)

    def __str__(self):
        return str(self.id)
示例#10
0
class AbstractBaseSmsCode(models.Model):
    user = models.ForeignKey(User,
                             verbose_name=_('User'),
                             on_delete=models.CASCADE)
    code = models.CharField(_('Code'), max_length=6, null=True, blank=True)
    created_at = jmodels.jDateTimeField(_('Created at'),
                                        auto_now_add=True,
                                        blank=True,
                                        null=True)

    class Meta:
        abstract = True

    def send_sms(self, prefix='', type='sms'):
        # data = {
        #     'username': self.users.username,
        #     'phone': self.users.phone,
        #     'code': self.code,
        #     'type': type,
        # }
        data = "کد فعالسازی کیشوند مارکت: {}".format(self.code)
        return send_multi_format_sms(data, target_phone=self.user.phone)

    def __str__(self):
        return str(self.code)
示例#11
0
class LogMixin(models.Model):
    log = models.OneToOneField("Log",
                               on_delete=models.CASCADE,
                               null=True,
                               blank=True)
    employee = models.ForeignKey("Employee",
                                 on_delete=models.CASCADE,
                                 default=1)
    datetime_occured = jmodels.jDateTimeField(auto_now_add=True)

    class Meta:
        abstract = True

    def get_type_info(self):
        pass

    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)
        _log = Log(
            employee=self.employee,
            event_message=str(self),
            event_type=self.get_type_info(),
        )
        _log.save()
        self.log = _log
class Blog(models.Model):
    title = models.CharField(max_length=120,
                             null=True,
                             unique=False,
                             verbose_name="عنوان",
                             help_text="توجه کنید که عنوان فارسی باشد.")
    author = models.ForeignKey(User,
                               related_name='blogs',
                               on_delete=models.CASCADE,
                               null=True,
                               verbose_name="نویسنده")
    description = models.TextField(verbose_name="توضیحات")
    price = models.IntegerField(default=0, null=True, verbose_name="قیمت")
    state = models.CharField(max_length=1,
                             choices=STATE_TYPES,
                             default='P',
                             null=True,
                             verbose_name="وضعیت")
    DateCreated = jmodels.jDateTimeField(null=True, verbose_name="زمان ایجاد")
    file = models.FileField(null=True,
                            blank=True,
                            upload_to='blog/files/',
                            verbose_name="فایل")
    image = models.ImageField(null=True,
                              blank=True,
                              upload_to='blog/images/',
                              verbose_name="عکس")

    def __str__(self):
        return str(self.id)

    class Meta:
        verbose_name = "بلاگ"
        verbose_name_plural = "بلاگ‌ها"
        ordering = ('title', '-price')
示例#13
0
class Theater(models.Model):
    title = models.CharField(max_length=255, verbose_name='عنوان')
    director = models.ForeignKey(Director,
                                 verbose_name='کارگردان',
                                 on_delete=models.CASCADE)
    producer = models.ForeignKey(Producer,
                                 verbose_name='تهیه کننده',
                                 on_delete=models.CASCADE)
    running_time = jmodels.jDateTimeField(verbose_name='زمان نمایش فیلم')
    length = models.PositiveIntegerField(verbose_name='مدت زمان')
    language = models.ForeignKey(Language,
                                 verbose_name='زبان',
                                 on_delete=models.CASCADE)
    actors = models.ManyToManyField(Actor, verbose_name='ستارگان')
    description = HTMLField(verbose_name='خلاصه داستان')
    genre = models.ForeignKey(Genre,
                              verbose_name='ژانر',
                              on_delete=models.CASCADE)
    writer = models.ForeignKey(Writer,
                               verbose_name='نویسنده',
                               on_delete=models.CASCADE)
    cover = models.ImageField(upload_to='images/theaters/',
                              verbose_name='کاور',
                              default='')

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('tickets:theater_detail', kwargs={'pk': self.pk})

    class Meta:
        ordering = ('-id', )
示例#14
0
class AdCategory(models.Model):
    url = models.CharField(max_length=50, blank=False)
    title = models.CharField(max_length=200)

    def CatImage_directory_path(obj, filename):
        return 'CatImage/cat{0}-{1}-{2}'.format(obj.id, obj.title, filename)

    icon = models.ImageField(upload_to=CatImage_directory_path, blank=True)
    # number of person who visit the Cat
    visitCount = models.IntegerField(default=0,
                                     null=True,
                                     verbose_name='Visit Count')
    lastVisit = jmodels.jDateTimeField(auto_now=True,
                                       blank=True,
                                       null=True,
                                       verbose_name='Last Viewed by User')

    def get_url(self):
        return reverse('show_cat', args=(self.url, ))

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = 'دسته بندی'
        verbose_name_plural = 'دسته بندی ها'
示例#15
0
class Address(models.Model):
    STATUS_CHOICES = (
        (1, _('Active')),
        (0, _('DeActive')),
    )
    name = models.CharField(_('Name'), max_length=20, default='home')
    location = PointField(
        _('Location'),
        default="{'type': 'Point', 'coordinates': [54.006630, 26.544604]}")
    addr = models.TextField(_('Address'), max_length=300)
    phone = models.CharField(_('Phone number'), max_length=11)
    zip_code = models.CharField(_('ZipCode'), max_length=10)
    status = models.PositiveSmallIntegerField(_('Status'),
                                              default=1,
                                              choices=STATUS_CHOICES,
                                              help_text=_("Status of Address"))
    user = models.ForeignKey(settings.AUTH_USER_MODEL,
                             verbose_name=_('User'),
                             null=True,
                             blank=True,
                             on_delete=models.CASCADE)
    created_at = jmodels.jDateTimeField(_('Created at'),
                                        auto_now_add=True,
                                        null=True)

    def __str__(self):
        return self.name + ': ' + str(self.addr[:15]) + '...'

    class Meta:
        verbose_name = _("Address")
        verbose_name_plural = _("Addresses")
示例#16
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)
示例#17
0
class Broker(models.Model):
    user = models.OneToOneField(User,
                                on_delete=models.SET_NULL,
                                null=True,
                                related_name="broker")
    creator = models.ForeignKey(User,
                                on_delete=models.SET_NULL,
                                null=True,
                                related_name="created_brokers")
    name = models.CharField(max_length=255, unique=True)
    username = models.CharField(max_length=255, unique=True)
    email = models.EmailField()
    # credit = models.BigIntegerField(default=0, editable=False)
    active = models.BooleanField(default=True)
    timestamp = jmodels.jDateTimeField(auto_now_add=True)

    # mcci_discount = models.DecimalField(max_digits=4, decimal_places=2, default=0)
    @staticmethod
    def get_brokers():
        brokers_tuple = []
        brokers = Broker.objects.all()
        for broker in brokers:
            brokers_tuple.append((str(broker.pk), broker.name))
        return brokers_tuple

    def __str__(self):
        return self.name
示例#18
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}"
示例#19
0
class cuser(AbstractUser):
    username = None
    phone = models.CharField(max_length=11, unique=True)

    USERNAME_FIELD = 'phone'
    REQUIRED_FIELDS = []

    objects = CustomUserManager()

    CATEGORYNAME = [
        ("کاربر", "کاربر"),
        ("استارتاپ", "استارتاپ"),
        ("خدمت دهنده", "خدمت دهنده"),
        ("مرکز معرفی", "مرکز معرفی"),
    ]
    user_type = models.CharField(choices=CATEGORYNAME,
                                 max_length=11,
                                 default="کاربر")

    name_of_company = models.CharField(max_length=100, blank=True, null=True)
    logo = models.ImageField(upload_to=get_upload_logo_path,
                             blank=True,
                             null=True,
                             default=None)
    email = models.EmailField(_('email address'), default='')
    address = models.CharField(max_length=100, blank=True, null=True)
    website = models.CharField(max_length=30, blank=True, null=True)
    linkedin = models.CharField(max_length=20, blank=True, null=True)
    content = RichTextField(blank=True, null=True)
    date_joined = jmodels.jDateTimeField(auto_now_add=True)

    def __str__(self):
        return self.last_name
示例#20
0
class Event(models.Model):
    name = models.CharField(max_length=200, null=False, blank=False)
    poster = models.ImageField(upload_to='event_posters/',
                               null=False,
                               blank=False,
                               validators=[validate_image_size])
    summary = models.TextField(null=False, blank=False)
    description = RichTextUploadingField(null=False, blank=False)
    location = models.CharField(max_length=100, null=False, blank=False)
    date = jmodels.jDateTimeField(null=False, blank=False)

    def save(self, *args, **kwargs):
        im1 = Image.open(self.poster)
        output1 = BytesIO()
        im1 = im1.resize((300, 400))
        im1.save(output1, format='png', quality=100)
        output1.seek(0)
        self.poster = InMemoryUploadedFile(
            output1, 'ImageField', "%s.jpg" % self.poster.name.split('.')[0],
            'image/jpeg', sys.getsizeof(output1), None)
        super(Event, self).save(*args, **kwargs)

    def __str__(self):
        return self.name

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

    def get_persian_year(self):
        translate_table = str.maketrans('1234567890', '۱۲۳۴۵۶۷۸۹۰')
        return str(self.date.year).translate(translate_table)
示例#21
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)
示例#22
0
class CustomUser(models.Model):
    GENDER = [
        ('M', 'Male'),
        ('F', 'Female'),
    ]

    username = models.CharField(max_length=255)
    full_name = models.CharField(max_length=255)
    gender = models.CharField(
        max_length=1,
        choices=GENDER,
    )
    national_code = models.CharField(max_length=10)
    birthday_date = jmodels.jDateField()
    ceremony_datetime = jmodels.jDateTimeField(null=True)
    country = models.CharField(default="Iran", max_length=255)

    def get_first_and_last_name(self):
        if self.full_name:
            first_name, last_name = str(self.full_name).split(' ')
            return {
                'first_name': first_name.capitalize(),
                'last_name': last_name.capitalize(),
            }
        return {}

    def get_age(self):
        return jmodels.jDateField.parse_date(
            jmodels.datetime.datetime.now()).year - self.birthday_date.year

    def is_birthday(self):
        today = jdate.today()
        birthday = self.birthday_date
        return today.month == birthday.month and today.day == birthday.day
示例#23
0
class Post(models.Model):
    title = models.CharField(max_length=100, verbose_name='عنوان مقاله')
    slug = models.SlugField(max_length=100, unique=True, allow_unicode=True, verbose_name='آدرس مقاله')
    category = models.ManyToManyField(to=Category,verbose_name='دسته بندی',related_name="posts")
    description = models.TextField(verbose_name='محتوا')
    thumbnail = models.ImageField(upload_to='posts', verbose_name='تصویر مقاله')
    publish = jmodels.jDateTimeField(default=jdatetime.datetime.now, verbose_name='تاریخ انتشار')
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    STATUS_CHOICES = (('d', 'پیش نویس'), ('p', 'منتشر شده'))
    status = models.CharField(max_length=1, choices=STATUS_CHOICES, verbose_name='وضعیت')

    def __str__(self):
        return self.title

    def jpublish(self):
        return change_format_date(self.publish)

    def category_published(self):
        return self.category.filter(status=True)
    class Meta:
        verbose_name = "پست"
        verbose_name_plural = "پست ها"
        ordering = ('-publish',)

    jpublish.short_description = "زمان انتشار"

    objects = PostManager()
示例#24
0
class Report(models.Model):
    tt = models.ForeignKey(acc.models.AdTestType0, on_delete=models.PROTECT)
    device = models.ForeignKey(acc.models.AllDevice, on_delete=models.PROTECT)
    has_pdf = models.BooleanField(default=False)
    request = models.ForeignKey(acc.models.Request, on_delete=models.PROTECT)
    date = jmodels.jDateTimeField()
    user = models.ForeignKey(User, on_delete=models.PROTECT)
    record = models.ForeignKey(acc.models.Record,
                               on_delete=models.CASCADE,
                               related_name='rr')
    ref_record = models.ForeignKey(acc.models.Record,
                                   on_delete=models.CASCADE,
                                   related_name='rrr')
    licence = models.ForeignKey(acc.models.Licence,
                                on_delete=models.CASCADE,
                                related_name='rl')
    status = models.ForeignKey(acc.models.AdAzStatus, on_delete=models.PROTECT)
    totalcomment = models.TextField(null=True, blank=True)
    is_done = models.BooleanField(default=False)
    is_recal = models.BooleanField(default=False)
    is_deleted = models.BooleanField(default=False)

    class Meta:
        verbose_name_plural = "سابقه گزارشات"

    def __str__(self):
        return ' - '.join(('report', str(self.tt), str(self.licence)))
示例#25
0
 def test_serialize_default_datetime_value(self):
     dt1 = datetime.datetime(2013, 6, 2, 10, 22, 23, 240000)
     field = jmodels.jDateTimeField(default=dt1)
     self.assertEqual(
         MigrationWriter.serialize(field),
         ('django_jalali.db.models.jDateTimeField('
          'default=datetime.datetime(2013, 6, 2, 10, 22, 23, 240000))',
          {'import django_jalali.db.models', 'import datetime'}))
示例#26
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)
示例#27
0
文件: models.py 项目: Admia1/feshar
class Section(models.Model):
    header = models.CharField(max_length=100)
    detail = models.TextField()

    start = jmodels.jDateTimeField()
    end = jmodels.jDateTimeField()
    available_from = jmodels.jDateTimeField()
    deletable_until = jmodels.jDateTimeField()

    def date(self):
        def date_format(j_date):
            month_dic = {
                1: 'فروردین',
                2: 'اردیبهشت',
                3: 'خرداد',
                4: 'تیر',
                5: 'مرداد',
                6: 'شهریور',
                7: 'مهر',
                8: 'آبان',
                9: 'آذر',
                10: 'دی',
                11: 'بهمن',
                12: 'اسفند'
            }
            return f"{fa_num(j_date.day)} {month_dic.get(j_date.month, j_date.month)} {fa_num(j_date.year)} {fa_num(j_date.hour)}:{fa_num(j_date.minute)}"

        middle_string = 'الی'
        return f"{date_format(self.start)} {middle_string} {date_format(self.end)}"

    def header_with_date(self):
        return f"{self.date()} - {self.header}"

    def __str__(self):
        return self.header_with_date()

    def is_full(self):
        return self.usr_set.count() >= 3

    def anti_tatbiq(self):
        number_of_girls = 0
        for usr in self.usr_set.all():
            number_of_girls += usr.polluser.sex
        if number_of_girls == 0:
            return True
示例#28
0
class Factor(models.Model):
    user = models.ForeignKey(cuser, on_delete=models.CASCADE)
    total_price = models.PositiveIntegerField(default=0)
    service = models.ForeignKey(Service, on_delete=models.CASCADE)
    date = jmodels.jDateTimeField(auto_now=True)
    qty = models.PositiveIntegerField()

    def __str__(self):
        return f'کاربر : {self.user} | سرویس : {self.service}  | تعداد : {self.qty}  | مبلغ کل : {self.total_price}'
示例#29
0
class Message(models.Model):
    customer = models.ForeignKey(Customer, related_name="customer", on_delete="Cascade", verbose_name="مشتری")
    is_sender = models.BooleanField(verbose_name="مشتری پیام را فرستاده", default=True)
    title = models.CharField(max_length=100, verbose_name="عنوان")
    text = models.TextField(max_length=2000, verbose_name="متن")
    date = jmodels.jDateTimeField(verbose_name="تاریخ", auto_now_add=True)
    is_opened = models.BooleanField(verbose_name="وضعیت مشاهده", default=False)
    parent = models.ForeignKey("Message", related_name="parent_message", default=None, blank=True,
                               null=True, on_delete="DoNothing")
示例#30
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 = "سفارشات"