import random from django.db import models from authentication.models import User VERIFICATION_STATUS = [ ("PENDING", "Diproses"), ("APPROVE", "Diterima"), ("DISAPPROVE", "Ditolak"), ("REVISION", "Perbaikan"), ] # Create your models here. def getRandomColor(): color = "%06x" % random.randint(0, 0xFFFFFF) return color class Category(models.Model): name = models.CharField(max_length=20) description = models.CharField(max_length=20) def __str__(self): return self.name class Materi(models.Model): # TODO: file fields, cover ubah jadi image fields, uploader jadi one to one kontributor cover = models.ImageField() content = models.FileField() title = models.CharField(max_length=50, default='title') author = models.CharField(max_length=30, default='author') uploader = models.ForeignKey(User, on_delete=models.SET_NULL, null=True) publisher = models.CharField(max_length=30, default="publiser") pages = models.IntegerField(default=0) descriptions = models.TextField(default="descriptions") status = models.CharField( max_length=30, choices=VERIFICATION_STATUS, default=VERIFICATION_STATUS[0][0]) categories = models.ManyToManyField(Category) date_added = models.DateTimeField(auto_now_add=True) class Comment(models.Model): username = models.CharField(max_length=100) profile = models.CharField(max_length=100, default=getRandomColor) comment = models.CharField(max_length=150, default="comments") materi = models.ForeignKey(Materi, models.SET_NULL, null=True) user = models.ForeignKey( User, on_delete=models.SET_NULL, blank=True, null=True) def __str__(self): return self.username