Exemplo n.º 1
0
class Fav(models.Model):
    _id = models.ObjectIdField()
    user_id = models.TextField()
    user_name = models.TextField()
    tip_title = models.CharField(max_length=40)
    tip_img = models.TextField()
    tip_id = models.TextField()
Exemplo n.º 2
0
class Service(models.Model):
    _id = models.ObjectIdField()
    service_name = models.TextField()
    service_img = models.TextField()
    service_price = models.TextField()
    objects = models.DjongoManager()
    service_price = models.TextField()
Exemplo n.º 3
0
class TipCommints(models.Model):
    _id = models.ObjectIdField()
    tip_id = models.TextField()
    user_name = models.TextField()
    commint_text = models.TextField()
    objects = models.DjongoManager()
    commintdate = models.DateTimeField(auto_now=True)
Exemplo n.º 4
0
class UserProducts(models.Model):
    _id = models.ObjectIdField()
    user_id = models.TextField()
    # product_id = models.TextField()
    user_products = models.TextField()
    user_product_location = models.TextField()
    # user_product_quantity = models.IntegerField()
    objects = models.DjongoManager()
Exemplo n.º 5
0
class Users(models.Model):
    _id = models.ObjectIdField()
    name = models.CharField(max_length=128)
    email = models.EmailField(unique=True)
    password = models.CharField(max_length=256)

    def __str__(self):
        return '{0}({1})'.format(self._id, self.name)
Exemplo n.º 6
0
class Admin(models.Model):
    _id = models.ObjectIdField()
    admin_name = models.TextField()
    admin_email = models.TextField()
    admin_password = models.TextField()
    admin_img = models.TextField(
        default=
        'https://ronaldmottram.co.nz/wp-content/uploads/2019/01/default-user-icon-8.jpg'
    )
Exemplo n.º 7
0
class UserService(models.Model):
    _id = models.ObjectIdField()
    user_id = models.TextField()
    service_name = models.TextField()
    user_service_location = models.TextField()
    user_service_date = models.DateField()
    user_service_hours = models.IntegerField()
    user_service_approv = models.BooleanField()
    user_service_price = models.TextField()
    user_service_approv = models.BooleanField(default=False)
Exemplo n.º 8
0
class Users(models.Model):
    _id = models.ObjectIdField()
    user_name = models.TextField()
    user_email = models.EmailField()
    user_password = models.TextField()
    user_phon = models.TextField()
    user_img = models.TextField(
        default=
        'https://ronaldmottram.co.nz/wp-content/uploads/2019/01/default-user-icon-8.jpg'
    )
    user_bio = models.TextField()
Exemplo n.º 9
0
class Tip(models.Model):
    _id = models.ObjectIdField()
    tip_title = models.CharField(max_length=40)
    tip_text = models.TextField()
    tip_img = models.TextField()
    user_id = models.TextField()
    user_name = models.TextField()
    tip_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.tip_title
Exemplo n.º 10
0
class Products(models.Model):
    _id = models.ObjectIdField()
    product_name = models.CharField(max_length=40)
    product_price = models.IntegerField()
    product_quantity = models.IntegerField()
    product_type = models.BooleanField()
    product_description = models.TextField()
    product_img = models.TextField()

    # objects = models.DjongoManager()

    def __str__(self):
        return self.product_name
Exemplo n.º 11
0
class Tip(models.Model):
    _id = models.ObjectIdField()
    tip_title = models.CharField(max_length=50)
    tip_text = models.TextField()
    tip_img = models.TextField()
    user_id = models.TextField()
    user_name = models.TextField()
    tip_date = models.DateTimeField(auto_now_add=True)
    tip_comments = models.IntegerField(default=0)
    tip_fav = models.IntegerField(default=0)

    def __str__(self):
        return self.tip_title
Exemplo n.º 12
0
class Meals(models.Model):
    _id = models.ObjectIdField()
    recipe_id = models.CharField(max_length=256)
    recipe_name = models.CharField(max_length=256)
    marketing_description = models.CharField(max_length=256)
    allergen_attributes = models.CharField(max_length=256)
    dietary_attributes = models.CharField(max_length=256)

    class Meta:
        managed = False
        db_table = 'serviceRecipeNutrition'

    def __str__(self):
        return self.recipe_id
Exemplo n.º 13
0
class Website(models.Model):
    _id = models.ObjectIdField()
    website_name = models.CharField(max_length=255)
    product_name = models.CharField(max_length=255)
    plan = models.IntegerField()
    payment_amount = models.FloatField()
    template_id = models.IntegerField()
    company_name = models.CharField(max_length=255)
    twitter_profile = models.CharField(max_length=255)
    facebook_profile = models.CharField(max_length=255)
    product_description = models.CharField(max_length=512)
    product_image_url = models.CharField(max_length=512)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
Exemplo n.º 14
0
class Ratings(models.Model):
    _id = models.ObjectIdField()
    movie_id = models.ArrayReferenceField(to=Movies, on_delete=models.CASCADE)
    user_id = models.ArrayReferenceField(to=Users, on_delete=models.CASCADE)
    date = models.DateField(auto_now_add=True)
    rating = models.IntegerField(choices=rating_choice)

    class Meta:
        ordering = ['-date']

    def __str__(self):
        return '{0}({1}, {2}, {3}, {4})'.format(self._id, self.film_id,
                                                self.user_id, self.date,
                                                self.rating)
Exemplo n.º 15
0
class MyUser(AbstractBaseUser):
    _id = models.ObjectIdField()
    email = models.EmailField(
        verbose_name='email address',
        max_length=255,
        unique=True,
    )
    # email2 = models.EmailField(
    #     verbose_name='confirm email address',
    #     max_length=255,
    #     unique=True,
    # )
    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    fullname = models.CharField(max_length=100, null=True)
    username = models.CharField(max_length=100, unique=True, null=False)
    groups = models.ManyToManyField(Group, related_name="groups")

    objects = MyUserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']

    def __str__(self):
        return self.username

    def has_perm(self, perm, obj=None):
        "Does the user have a specific permission?"
        # Simplest possible answer: Yes, always
        return True

    def has_module_perms(self, app_label):
        "Does the user have permissions to view the app `app_label`?"
        # Simplest possible answer: Yes, always
        return True

    @property
    def is_staff(self):
        "Is the user a member of staff?"
        # Simplest possible answer: All admins are staff
        return self.is_admin


    def get_email2(self):
        """ Arbitrary method used in the UserDeserializer for email validation """
        return "Email field for validation of email"

    def assign_role(self, role, node):
        assert role in ROLES_MAP.keys()

        # Check if the user already has a role for this user, and remove it if it exists
        existing_role = UserRole.objects.filter(user=self, node=node).first()
        if existing_role is not None:
            if existing_role.role_name != role:
                existing_role.delete()
            else:
                return existing_role

        # Getting the permissions belonging to each orle
        permissions = ROLES_MAP[role]
        # Getting the permissions from the database
        permissions = UserRolePermission.objects.filter(name__in=permissions)

        role = {
            "role_name": role,
            "user": self,
            "node": node,
        }
        role = UserRole(**role)
        role.save()

        role.permissions.add(*permissions)
        role.save()

        return role

    def remove_role(self, node):
        """ Removes the provided role from the current user for the node """
        # All the roles the user has for the node and the children of this node
        to_remove = UserRole.objects.filter(Q(node__path__contains=node._id) | Q(node___id=node._id), user=self)
        deleted = to_remove.delete()

        return deleted

    def get_permissions(self, node, all_types=False):
        """ Returns the list of permissions the user has for the given node """
        # All relevant node_ids for the permissions
        node_branch = list(filter(lambda x: x.strip(), node.path.split(",") if node.path else '')) + [str(node._id)]
        # Getting a merged list of any and all permissions the user has for this branch
        # node__id__in=node_branch filters all roles the user has for nodes in this branch of the treestructure
        # permissions__name__icontains=node.node_type filters only the permissions relevant to this node type
        filters = {
            "user": self,
            "node___id__in": node_branch,
        }
        if not all_types:
            filters["permissions__name__icontains"] = node.node_type

        permissions = UserRole.objects.filter(**filters).values_list("permissions__name", flat=True).distinct()
        return permissions

    def get_role(self, node):
        """ Returns the role the user has for this node - only direct role """
        role = UserRole.objects.filter(user=self, node=node).first()
        return role

    def create_user_team(self):
        # create a TreeStructure with nodetype of Team Linked to the user
        team = Team(
                name=self.username + "'s team",
                user_team="team@" + self.username,
                user_linked=True,
            )
        team.save()
        # give the user created_obj permission against this team
        self.assign_role("team_admin", team)
Exemplo n.º 16
0
class Movies(models.Model):
    _id = models.ObjectIdField()
    plot = models.CharField(max_length=1000)
    genres = models.ArrayModelField(model_container=Genre)
    runtime = models.PositiveIntegerField()
    cast = models.ArrayModelField(model_container=Cast)
    poster = models.CharField(max_length=1000, null=True)
    title = models.CharField(max_length=1000)
    fullplot = models.CharField(max_length=1000)
    countries = models.ArrayModelField(model_container=Country)
    released = models.DateField()
    languages = models.ArrayModelField(model_container=Language)
    directors = models.ArrayModelField(model_container=Director)
    writers = models.ArrayModelField(model_container=Writers)
    year = models.PositiveIntegerField()
    imdb = models.EmbeddedModelField(model_container=Imdb)
    tomatoes = models.EmbeddedModelField(model_container=Tomatoes)
    Douban = models.EmbeddedModelField(model_container=DouBan)

    meta = {
        'indexes': [
            {
                'fields': ['plot'],
                'sparse': True
            },
            {
                'fields': ['genres'],
                'sparse': True
            },
            {
                'fields': ['runtime'],
                'sparse': True
            },
            {
                'fields': ['cast'],
                'sparse': True
            },
            {
                'fields': ['poster'],
                'sparse': True
            },
            {
                'fields': ['title'],
                'sparse': True
            },
            {
                'fields': ['fullplot'],
                'sparse': True
            },
            {
                'fields': ['countries'],
                'sparse': True
            },
            {
                'fields': ['released'],
                'sparse': True
            },
            {
                'fields': ['languages'],
                'sparse': True
            },
            {
                'fields': ['directors'],
                'sparse': True
            },
            {
                'fields': ['writers'],
                'sparse': True
            },
            {
                'fields': ['year'],
                'sparse': True
            },
            {
                'fields': ['imdb'],
                'sparse': True
            },
            {
                'fields': ['tomatoes'],
                'sparse': True
            },
            {
                'fields': ['Douban'],
                'sparse': True
            },
        ],
    }

    def __str__(self):
        return '{0}({1})'.format(self._id, self.title)

    def get_absolute_url(self):
        _id = dumps(self._id)['_id']['$oid']
        return reverse('result_detail', args=[_id])