Example #1
0
class Contact(models.Model):
    """
    Contact Information
    """
    address = RichTextField(
        help_text="Elizabeth St, Melbourne 1202 Australia.")
    maps_src = models.CharField(
        blank=True,
        null=True,
        max_length=256,
        help_text="iframe src link from google maps embed")
    description = RichTextField(blank=True,
                                null=True,
                                help_text="Contact Us Section Description")
    whatsapp = models.CharField(blank=True,
                                null=True,
                                max_length=30,
                                help_text="Whatsapp mobile no. +9188xxxxxx")
    whatsapp_text = models.TextField(
        blank=True, null=True, help_text="Whatsapp default message template.")
    is_background_dark = models.BooleanField(
        default=False, help_text="Is the selected background color dark ?")
    is_active = models.BooleanField(default=True)

    def save(self, *args, **kwargs):
        if self.is_active:
            Contact.objects.filter(is_active=True).update(is_active=False)
        super(Contact, self).save(*args, **kwargs)

    def __str__(self) -> str:
        return format_html('{}'.format(self.address))

    class Meta:
        db_table = "tbl_contacts"
Example #2
0
class Post(models.Model):
    title = models.CharField(max_length=50)
    lead = RichTextField(field_settings='mini')
    content = RichTextField()

    def __str__(self):
        return self.title
Example #3
0
class Competition(models.Model):
    title = models.CharField(max_length=250)
    slug = models.SlugField()
    summary = models.TextField()
    image = models.ImageField()
    categories = models.TextField()
    description = RichTextField()
    terms_conditions = RichTextField()

    start = models.DateField()
    finish = models.DateField()
    finals = models.DateField()

    organizer = models.CharField(max_length=250)
    email = models.EmailField(max_length=250)

    def is_open(self):
        now = timezone.now()
        return now > self.start and now < self.finish

    def has_finals(self):
        now = timezone.now()
        return now > self.finals

    @property
    def categories_list(self):
        return self.categories.split(', ')

    def __str__(self):
        return "%s %s" % (self.finals, self.title)
Example #4
0
class Empresa(models.Model):
    class Meta:
        verbose_name_plural = "Empreses"

    nom = models.CharField(max_length=255, unique=True)
    direccio = RichTextField()
    poblacio = models.CharField(max_length=255)
    cp = models.CharField(max_length=5)
    telefon = models.IntegerField()
    email = models.EmailField()
    web = models.URLField(blank=True)
    # loc inicial al mar, enfront al Maresme (2.6875,41.5600)
    localitzacio = gismodels.PointField(blank=True,
                                        default=Point(2.6875, 41.5600))
    descripcio = RichTextField(blank=True)
    # usuaris administradors
    admins = models.ManyToManyField(User,
                                    blank=True,
                                    related_name="empreses_admin")
    # logo
    imatge = models.ImageField(upload_to='imatgesCentre', blank=True)
    # empreses adscrites a centres educatius
    adscripcio = models.ManyToManyField(
        Centre,
        blank=True,
        related_name="empreses",
        symmetrical=False,
        help_text="Centres educatius als que està adscrita l'empresa. ")

    def __str__(self):
        return self.nom
Example #5
0
class Activity(models.Model):
    '''社團舉辦的活動,所有學生都能參加'''
    name = models.CharField(max_length=200)  # 活動名稱
    begin = models.DateTimeField(auto_now=False)  # 起始時日
    end = models.DateTimeField(auto_now=False)  # 終了時日
    deadline = models.DateTimeField(auto_now=False)  # 報名截止時日
    principal = models.ForeignKey(Member, on_delete=models.CASCADE)  # 活動負責人學號
    club = models.ForeignKey(Club, on_delete=models.CASCADE)  # 主辦社團
    content = RichTextField()  # 活動內容
    site = models.CharField(max_length=40)  # 活動場地
    contact = models.TextField()  # 聯絡方式
    fee = models.IntegerField()  # 參加費用
    meal = models.BooleanField(default=False)  # 是否供餐
    insure = models.BooleanField(default=True)  # 是否保險
    note = RichTextField()  # 備註
    log_add_time = models.DateTimeField(auto_now_add=True)  # 活動紀錄建立時間
    timestamp = models.DateTimeField(auto_now=True)  # 活動內容變更-時間戳記
    is_activate = models.BooleanField(default=True)

    class Meta:
        ordering = ['-timestamp']
        permissions = (
            ("can_view", "Can view Activity"),
            ("can_add", "Can add Activity"),
            ("can_edit", "Can edit Activity"),
            ("can_close", "Can close Activity"),
            ("can_delete", "Can delete Activity"),
        )

    def __str__(self):
        return self.name
Example #6
0
class institution(models.Model):
    #need to change function and additional information to TextField
    name = models.CharField(max_length=200)
    name_korean = models.CharField(max_length=200)
    tripartite_tag = models.CharField(
        max_length=200, blank=True)  #replace iwth foreign key when able
    function_tags = models.ManyToManyField(dprk_institution_tag, blank=True)
    function = RichTextField(null=True, blank=True)
    additional_figures = RichTextField(null=True, blank=True)
    organization_structure = RichTextField(null=True, blank=True)
    additional_information = RichTextField(null=True, blank=True)
    sources_add = RichTextField(
        null=True,
        blank=True,
        default=
        '''<a href="https://nkinfo.unikorea.go.kr/nkp/main/portalMain.do">[1]</a> Ministry of Unification, '2019년 북한 기관별 인명록'  2018-12-27' Party of Korea (WPK)'''
    )
    update_date = models.DateField(auto_now=True)

    class Meta:
        ordering = ('name', )

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return (reverse('institution_detail', args=[str(self.name)]))
 def test_sanitizer_handles_none(self):
     """
     value_from_datadict doesn't sanitize None values
     """
     field = RichTextField(blank=True, null=True)
     try:
         field.clean(None, None)
     except Exception:
         raise AssertionError('Expected no errors')
Example #8
0
class Question(PolymorphicModel):
    title = models.CharField(max_length=300, null=True, blank=True)
    text = RichTextField(null=True, blank=True)
    answer = models.TextField(null=True, blank=True)
    max_submission_allowed = models.IntegerField(default=5, blank=True)
    tutorial = RichTextField(null=True, blank=True)
    time_created = models.DateTimeField(auto_now_add=True)
    time_modified = models.DateTimeField(auto_now=True)
    author = models.ForeignKey(MyUser,
                               on_delete=models.SET_NULL,
                               null=True,
                               blank=True)
    category = models.ForeignKey(QuestionCategory,
                                 on_delete=models.SET_NULL,
                                 null=True,
                                 blank=True)
    difficulty = models.CharField(max_length=100,
                                  choices=DIFFICULTY_CHOICES,
                                  default="EASY")
    event = models.ForeignKey(Event,
                              on_delete=models.CASCADE,
                              related_name='question_set',
                              null=True,
                              blank=True,
                              db_index=True)

    is_verified = models.BooleanField(default=False)

    grader = None

    @property
    def type_name(self):
        return self._meta.verbose_name

    def __str__(self):
        return "{} ({})".format(self.type_name, self.id)

    @property
    def token_value(self):
        return get_token_value(self.category, self.difficulty)

    @property
    def success_rate(self):
        total_tried = self.user_junctions.annotate(
            Count('submissions')).filter(submissions__count__gt=0).count()
        total_solved = self.user_junctions.filter(is_solved=True).count()
        if total_tried == 0:
            return 0
        return total_solved / total_tried

    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)
        ensure_uqj(None, self)
Example #9
0
class Post(models.Model):
    title = models.CharField(max_length=50)
    lead = RichTextField(field_settings='mini')
    content = RichTextField()

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

    def get_add_comment_url(self):
        return reverse('post_add_comment', kwargs={'pk': self.pk})

    def __str__(self):
        return self.title
Example #10
0
class LowonganKerja(models.Model):
    DAERAH_CHOICES = [('JKT', 'Jakarta'), ('JABAR', 'Jawa Barat'),
                      ('JATENG', 'Jawa Tengah'), ('JATIM', 'Jawa Timur')]
    daerah = models.CharField(max_length=short_text, choices=DAERAH_CHOICES)
    posisi = models.CharField(max_length=long_text)
    kota = models.CharField(max_length=short_text)
    jenis = models.CharField(max_length=short_text)
    persyaratan = RichTextField(field_settings='advanced')
    tanggung_jawab = RichTextField(field_settings='advanced')

    def __str__(self):
        return self.posisi + " " + self.kota

    class Meta:
        verbose_name_plural = "Lowongan Kerja"
Example #11
0
class Checklist(models.Model):
    title = models.CharField(max_length=100)
    # https://pypi.org/project/django-richtextfield/ - to store rich text in database [ GitHub: https://github.com/jaap3/django-richtextfield ]
    content = RichTextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    visibility = models.PositiveIntegerField(default=0)
    category = models.ForeignKey("Category",
                                 null=True,
                                 on_delete=models.SET_NULL)
    is_draft = models.BooleanField(default=False)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse("checklist-detail", kwargs={"pk": self.id})

    @classmethod
    def get_checklists(cls, is_draft=False, author=None):
        if author is None:
            return cls.objects.filter(
                is_draft=is_draft).order_by("-date_posted")
        else:
            return Checklist.objects.filter(
                author=author, is_draft=is_draft).order_by("-date_posted")
Example #12
0
class Club_apply(models.Model):
    '''學生加入/退出社團申請書'''
    student = models.ForeignKey("users_mgt.Student",
                                on_delete=models.CASCADE)  # 學生學號
    club = models.ForeignKey(Club, on_delete=models.CASCADE)  # 申請社團
    IO_CHOICES = ((True, '入社'), (False, '退社'))
    in_out = models.BooleanField(verbose_name="申請入社or退社",
                                 choices=IO_CHOICES,
                                 default=True)
    reason = RichTextField(blank=False, null=False)  # 申請原因說明
    text1 = models.TextField(blank=True, null=True)  # 其他欄位1
    text2 = models.TextField(blank=True, null=True)  # 其他欄位2
    bool1 = models.BooleanField()  # 布林值1
    bool2 = models.BooleanField()  # 布林值2
    # text1, text2, bool1, bool2 作為各社團申請書中的自定義項(例如填入推薦人,或是否參與比賽...)
    log_add_time = models.DateTimeField(auto_now_add=True)  # log建立時間
    timestamp = models.DateTimeField(auto_now=True)  # 紀錄變更-時間戳記(若有變更)
    BOOL_CHOICES = ((True, '是'), (False, '否'))
    is_permitted = models.BooleanField(verbose_name="是否通過申請?",
                                       choices=BOOL_CHOICES,
                                       default=False)  #是否已經處理過

    class Meta:
        ordering = ['-timestamp']
        permissions = (
            ("can_view", "Can view Club_apply"),
            ("can_add", "Can add Club_apply"),
            ("can_edit", "Can edit Club_apply"),
            ("can_delete", "Can delete Club_apply"),
        )

    def __str__(self):
        strings = [self.student, self.club]
        return '$'.join(strings)
Example #13
0
class Club(models.Model):
    name = models.CharField(max_length=20,
                            verbose_name="社團名字(中文)",
                            unique=True)  # 社團名字(中文)
    name_eng = models.CharField(max_length=50,
                                verbose_name="社團名字(英文)",
                                blank=True,
                                null=True,
                                unique=True)  # 社團名字(英文)
    leader = models.ForeignKey("users_mgt.Student",
                               on_delete=models.CASCADE,
                               verbose_name="社長",
                               blank=True,
                               null=True)  # 學生學號(負責人)
    teacher = models.ForeignKey("users_mgt.Teacher",
                                on_delete=models.CASCADE,
                                verbose_name="指導老師",
                                blank=True,
                                null=True)  # 教師編號(指導老師)
    manager = models.ForeignKey("users_mgt.CustomUser",
                                on_delete=models.CASCADE,
                                verbose_name="社團中心負責人",
                                blank=True,
                                null=True)  # 社團中心負責人
    office = models.CharField(max_length=15,
                              verbose_name="社辦",
                              blank=True,
                              null=True)  # 社團辦公室
    activity_place = models.CharField(max_length=50,
                                      blank=True,
                                      null=True,
                                      verbose_name="活動地點")  # 活動地點
    fee = models.IntegerField(blank=True, null=True, verbose_name="社費")  # 社費
    activity_time = models.TextField(blank=True,
                                     null=True,
                                     verbose_name="活動時間")  # 活動時間
    web = models.CharField(max_length=100,
                           blank=True,
                           null=True,
                           verbose_name="粉專連結")  # 粉專連結
    contact = models.TextField(blank=True, null=True,
                               verbose_name="聯絡資訊")  # 聯絡資訊
    info = RichTextField(blank=True, null=True, verbose_name="社團簡介")  # 社團簡介
    log_add_time = models.DateTimeField(auto_now_add=True)  # 紀錄建立時間
    timestamp = models.DateTimeField(auto_now=True)  # 紀錄時間戳記
    is_activate = models.BooleanField(default=True, verbose_name="社團運作中")

    class Meta:
        ordering = ['-timestamp']
        permissions = (
            ("can_view", "Can view Club"),
            ("can_add", "Can add Club"),
            ("can_edit", "Can edit Club"),
            ("can_close", "Can close Club"),
            ("can_delete", "Can delete Club"),
        )

    def __str__(self):
        # return "_".join([self.name, self.timestamp])
        return self.name
Example #14
0
class Post(models.Model):
    author = models.ForeignKey(settings.AUTH_USER_MODEL,
                               default=1,
                               on_delete=models.CASCADE)
    title = models.CharField(max_length=255)
    slug = models.SlugField(allow_unicode=True, unique=True)
    keyword = models.CharField(max_length=255)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    excerpt = models.TextField()
    content = RichTextField()
    image = models.ImageField(blank=True,
                              null=True,
                              height_field="height_field",
                              width_field="width_field",
                              upload_to='media')
    height_field = models.IntegerField(default=0)
    width_field = models.IntegerField(default=0)
    draft = models.BooleanField(default=False)
    publish = models.DateField(auto_now=False, auto_now_add=False)
    updated = models.DateTimeField(auto_now=True, auto_now_add=False)
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)

    class Meta:
        ordering = ["-timestamp", "-updated"]

    def __str__(self):
        return self.title

    def get_message_as_markdown(self):
        return mark_safe(markdown(self.content, safe_mode='escape'))
Example #15
0
class Recipe(models.Model):
    title = models.CharField(max_length=50, blank=False, null=True)
    created_at = models.DateField(auto_now_add=True)
    image = models.ImageField(upload_to='recipes', blank=False, null=True)
    description = models.TextField(blank=False)
    long_description = RichTextField('long description')
    category = models.ForeignKey('Category',
                                 on_delete=models.CASCADE,
                                 related_name='recipes',
                                 null=True)
    updated_at = models.DateTimeField(auto_now=True)
    owner = models.ForeignKey(User,
                              on_delete=models.CASCADE,
                              related_name='recipes',
                              default=1)
    view_count = models.PositiveIntegerField(
        'View count', default=0)  # checks how many ppl watched the recipe

    def __str__(self):
        return self.title

    class Meta:
        ordering = ('-created_at', )
        verbose_name = 'Resept'
        verbose_name_plural = 'Reseptler'
Example #16
0
 def test_formfield_widget_passes_settings(self):
     """
     Model field passes setting to widget
     """
     settings = {'foo': True, 'bar': [1, 2, 3]}
     widget = RichTextField(field_settings=settings).formfield().widget
     self.assertEqual(widget.field_settings, settings)
Example #17
0
class ContactUsModel(models.Model):
    """Contact Us Model for the site by User"""
    email = models.EmailField("Email",
                              max_length=50,
                              blank=True,
                              validators=[EMAILREGEX])
    first_name = models.CharField("First Name",
                                  max_length=40,
                                  validators=[NAMEREGEX],
                                  blank=True)
    last_name = models.CharField("Last Name",
                                 max_length=40,
                                 validators=[NAMEREGEX],
                                 blank=True,
                                 null=True)
    mobile_number = models.CharField("Mobile Number",
                                     max_length=16,
                                     blank=False,
                                     validators=[MOBILEREGEX])
    message = RichTextField("message", blank=False)

    def __str__(self):
        return email

    class Meta:
        verbose_name_plural = "Post Contact Us"
Example #18
0
class Project(models.Model):
    ProjectStatusChoices = [('Testing', 'Testing'), ('Deployed', 'Deployed'),
                            ('Production', 'Production'),
                            ('Development', 'Development'),
                            ('Scrapped', 'Scrapped'), ('Finished', 'Finished')]

    name = models.CharField(max_length=50, unique=True)
    wiki = RichTextField(blank=True, null=True)
    timestamp = models.DateTimeField(default=datetime.now,
                                     blank=True,
                                     null=True)
    creator = models.ForeignKey(User,
                                on_delete=models.CASCADE,
                                related_name='creator')
    link = models.URLField(default='', blank=True, null=True)
    members = models.ManyToManyField(User,
                                     related_name='project_member_related',
                                     related_query_name='project_member',
                                     blank=True)
    status = models.CharField(max_length=20,
                              choices=ProjectStatusChoices,
                              default="Testing",
                              blank=True,
                              null=True)

    def __str__(self):
        return self.name

    def get_latest_projects():
        return Project.objects.order_by('-timestamp').all()[:5]

    class Meta:
        ordering = ['-timestamp']
Example #19
0
class SermonBiblePassage(UUIDModel):

    UNKNOWN = 0
    PROPHECY = 1
    PSALM = 2
    EPISTLE = 3
    GOSPEL = 4
    OTHER = 5

    TYPE_CHOICES = {
        (PROPHECY, "PROPHECY (or other Old Testament)"),
        (PSALM, "PSALM"),
        (EPISTLE, "EPISTLE (or Acts / Revelation)"),
        (GOSPEL, "GOSPEL"),
        (OTHER, "OTHER"),
    }

    sermon = models.ForeignKey("Sermon", verbose_name="Sermon", on_delete=models.CASCADE, null=False)
    type = models.IntegerField(default=UNKNOWN, choices=TYPE_CHOICES, null=False, blank=False)
    passage = models.CharField(max_length=256, blank=False, null=False)
    text = models.TextField(blank=False, null=False)
    html = RichTextField(blank=False, null=False)
    version = models.CharField(
        choices=zip(BibleVersions.VERSIONS.keys(), BibleVersions.VERSIONS.keys()),
        blank=True,
        null=True,
        max_length=256,
    )
Example #20
0
class Project(models.Model):
    user = models.ForeignKey(User,
                             related_name='project_user',
                             on_delete=models.CASCADE)
    name = models.CharField(max_length=100)
    wiki = RichTextField()
    date = models.DateTimeField(auto_now_add=True)
    version = models.DecimalField(max_digits=4, decimal_places=2)
    members = models.ManyToManyField(User, related_name='member_user')
    logo = models.ImageField(upload_to='./project_media/logo', null=True)

    def __str__(self):
        return self.name

    def no_of_issues(self):
        length = len(Issue.objects.filter(project=self))
        return length

    def members_detail(self):
        members = []
        for user in self.members.all():
            member = {}
            member['id'] = user.id
            member['name'] = user.first_name + ' ' + user.last_name
            member['profile'] = user.profile
            members.append(member)
        return members

    class Meta:
        ordering = ['-pk']
Example #21
0
class Service(models.Model):
    """
    Services Config
    """
    title = models.CharField(max_length=256, help_text="Service Title")
    image = models.ImageField(blank=True,
                              null=True,
                              help_text="Service Image",
                              upload_to='assets/images/services/')
    description = RichTextField(blank=True,
                                null=True,
                                help_text="Service Description")
    icon_class = models.CharField(
        blank=True,
        null=True,
        max_length=100,
        help_text=
        "Choose from https://lineicons.com/icons/ (lni lni-whatsapp) or https://fontawesome.com/icons?d=gallery&m=free (fas fa-whatsapp)"
    )
    is_published = models.BooleanField(db_index=True, default=False)
    order = models.PositiveIntegerField(default=0, blank=False, null=False)

    def __str__(self) -> str:
        return '{}'.format(self.title)

    class Meta:
        ordering = ('order', )
        db_table = "tbl_services"
Example #22
0
class Package(models.Model):
    """
    Package Information & Pricing
    """
    title = models.CharField(max_length=256, help_text="Product Title")
    image = models.ImageField(blank=True,
                              null=True,
                              help_text="Package Image",
                              upload_to='assets/images/package/')
    original_price = models.CharField(max_length=50,
                                      blank=True,
                                      null=True,
                                      help_text="Strike through price")
    pre_discount_price_text = RichTextField(
        blank=True,
        null=True,
        help_text="Text which appears before Product Price")
    discount_price = models.CharField(max_length=50, help_text="Product Price")
    is_published = models.BooleanField(db_index=True, default=False)
    order = models.PositiveIntegerField(default=0, blank=False, null=False)

    def __str__(self) -> str:
        return '{} - {}'.format(self.title, self.original_price)

    class Meta:
        ordering = ('order', )
        db_table = "tbl_packages"
Example #23
0
class Issue(models.Model):
    title = models.CharField(max_length=127)
    description = RichTextField(blank=True)
    project = models.ForeignKey(Project, on_delete=models.CASCADE)
    reporter = models.ForeignKey(User,
                                 on_delete=models.CASCADE,
                                 related_name='issue_creator')
    tags = models.ManyToManyField(Tag, blank=True)
    status = models.ForeignKey(IssueStatus,
                               default=IssueStatus.get_default_issue_status,
                               null=True,
                               on_delete=models.SET_NULL)
    assigned_to = models.ForeignKey(User,
                                    blank=True,
                                    null=True,
                                    related_name='issue_asignee',
                                    on_delete=models.SET_NULL)
    timestamp = models.DateTimeField()

    def __str__(self):
        return "%s - %s" % (self.title, self.project)

    def get_latest_issues():
        return Issue.objects.order_by('-timestamp').all()[:5]

    class Meta:
        ordering = ['-timestamp']
Example #24
0
class ItemTwoColumn(models.Model):
    """items with 2 columns: image + text"""
    title = models.CharField(
        max_length=200,
        blank=True,
        null=True,
    )

    img = models.ImageField(
        verbose_name='Single Image',
        upload_to=get_img_path,
        blank=True,
        null=True
    )

    content = RichTextField()

    url = models.CharField(
        max_length=200,
        blank=True,
        null=True,
    )

    url_text = models.CharField(
        max_length=200,
        blank=True,
        null=True,
    )

    create_time = models.DateTimeField(auto_now_add=True)
Example #25
0
class UserApplyJob(models.Model):
    """Jobseeker Apply job Model"""
    user = models.ForeignKey(
        MyUser,
        on_delete=models.CASCADE,
        related_name='user_favourite',
    )
    job = models.ForeignKey(
        JobManagement,
        on_delete=models.CASCADE,
        related_name="company_job",
    )
    hire_question = RichTextField("why_should_we_hire_you",
                                  blank=True,
                                  null=True)
    resume = models.URLField("user_resume", blank=True, null=True)
    is_favourite = models.BooleanField(default=False)
    is_apply = models.BooleanField(default=False)
    is_accepted = models.BooleanField(default=False)
    is_approved = models.BooleanField(default=False)
    job_seeker_is_completed = models.BooleanField(default=False)
    employer_is_completed = models.BooleanField(default=False)

    def __str__(self):
        return self.user.email

    class Meta:
        verbose_name_plural = "User Apply Job"
Example #26
0
class Sermon(UUIDModel):
    title = models.CharField(max_length=255, verbose_name="Sermon title", help_text="Sermon Title")
    location = models.ForeignKey("SermonLocation", null=True, blank=True, on_delete=models.SET_NULL)
    file = models.FileField(
        verbose_name="File", help_text="The sermon in Microsoft Word or text format", blank=True, null=True
    )
    text = models.TextField(verbose_name="Text", help_text="The full content of the sermon", blank=True, null=True)
    content = RichTextField(
        verbose_name="Formatted Content", help_text="The formatted content of the sermon", blank=True, null=True
    )
    summary = models.TextField(verbose_name="Summary", help_text="A summary of the sermon", blank=True, null=True)
    auto_summary = models.TextField(
        verbose_name="Auto-summary", help_text="An auto-generated summary of the sermon", blank=True, null=True
    )
    notes = models.TextField(verbose_name="Notes", help_text="Publicly displayed Notes", blank=True, null=True)
    private_notes = models.TextField(
        verbose_name="Notes (private)", help_text="Notes (Internal only)", blank=True, null=True
    )
    primary_date_and_time_given = models.DateTimeField(
        verbose_name="Date and Time Given",
        help_text="The primary date given (used for sorting).  More than one date and time can be added on the date and time tab",
        null=True,
        blank=True,
    )

    # tags = TaggableManager()

    def save(self, *args, **kwargs):

        self.auto_summary = self.getSummary()
        return super().save(*args, **kwargs)

    def __str__(self):
        return "{} - {} - {}".format(self.title, self.primary_date_and_time_given, self.location)
Example #27
0
class Project(models.Model):
    project_name = models.CharField(max_length=200)
    wiki = RichTextField()
    project_members = models.ManyToManyField(User)

    class Meta:
        ordering = ['project_name']
Example #28
0
class Bug(models.Model):
    STATUS_CHOICES = (("P", "Pending"), ("R", "Resolved"), ("T",
                                                            "To be Discussed"))

    def __str__(self):
        return self.name

    project = models.ForeignKey(Project,
                                related_name="bugs",
                                on_delete=models.CASCADE)
    creator = models.ForeignKey(settings.AUTH_USER_MODEL,
                                related_name="bugs",
                                on_delete=models.CASCADE)
    name = RichTextField(blank=True)
    description = models.CharField(max_length=200, blank=True)
    issued_at = models.DateTimeField("Creation Time", auto_now_add=True)
    status = models.CharField(max_length=100, choices=STATUS_CHOICES)
    important = models.BooleanField(default=False)
    assigned_to = models.ForeignKey(User,
                                    related_name="issues_assigned_to_users",
                                    on_delete=models.SET_NULL,
                                    blank=True,
                                    null=True)
    domain = models.CharField(choices=(('f', 'frontend'), ('b', 'backend'),
                                       ('o', 'other')),
                              max_length=100,
                              null=True,
                              blank=True)

    class Meta:
        ordering = ['-issued_at']
Example #29
0
class News(models.Model):
    author = models.ForeignKey(
      settings.AUTH_USER_MODEL,
      on_delete=models.CASCADE
    )
    title = models.CharField(max_length=150)
    description = RichTextField(blank=True,null=True)
    date = models.DateTimeField(default=datetime.now, blank=True)
    publish_date = models.DateTimeField(default=datetime.now, blank=True)
    slug = models.SlugField(
        default='',
        editable=False,
    )
    is_published=models.BooleanField(default=False)
    def get_first_image(self):
        return self.images.first()

    def get_absolute_url(self):
        kwargs = {
            'pk': self.id,
            'slug': self.slug
        }
        return reverse('article-pk-slug-detail', kwargs=kwargs)
    def save(self, *args, **kwargs):
        value = self.title
        self.slug = slugify(value, allow_unicode=True)
        super().save(*args, **kwargs)
Example #30
0
class Programs(models.Model):
    title = models.CharField(max_length=200, verbose_name='titleProg')
    storyPrograms = RichTextField()
    previewPrograms = models.ImageField(upload_to='',
                                        verbose_name='Каритинка 260х180')
    slug = models.SlugField(unique=True, verbose_name='URL')
    languegesPrograms = models.TextField(
        default='', verbose_name='языки которые поддерживает программа')
    demandPrograms = models.TextField(default='', verbose_name='Требования')
    memoryPrograms = models.TextField(default='',
                                      verbose_name='Место, на жестком диске')
    uploadPrograms = models.TextField(default='',
                                      verbose_name='Сыллка с установкой')
    date = models.DateTimeField(auto_now=True)

    class Meta:
        ordering = ['-date']
        verbose_name = 'Программы'
        verbose_name_plural = 'Программы'

    def __unicode__(self):
        return self.title

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return "/programms/%s/" % (self.slug)