Add IntelliJ IDEA project configuration files
This commit adds IntelliJ IDEA-specific configuration files for the project, including module setup, version control integration, inspection profiles, and workspace settings. These files facilitate development environment configuration for contributors using IntelliJ IDEA.
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
from django.contrib.auth.models import AbstractUser
|
||||
from django.db import models
|
||||
|
||||
class ClientPermission(models.Model):
|
||||
class Meta:
|
||||
managed = True
|
||||
default_permissions = ()
|
||||
permissions = (
|
||||
('can_book_container', 'Can book container'),
|
||||
('can_view_bookings', 'Can view bookings'),
|
||||
('can_manage_company_users', 'Can manage company users'),
|
||||
)
|
||||
|
||||
|
||||
class DepotUser(AbstractUser):
|
||||
|
||||
phone_number = models.CharField(max_length=15, blank=True, null=True)
|
||||
email = models.EmailField(unique=True, blank=False, null=False)
|
||||
company = models.ForeignKey(
|
||||
'common.CompanyModel',
|
||||
on_delete=models.CASCADE,
|
||||
related_name='user_lines',
|
||||
blank=True,
|
||||
null=True
|
||||
)
|
||||
line = models.ForeignKey(
|
||||
'common.LinesModel',
|
||||
on_delete=models.CASCADE,
|
||||
related_name='user_lines',
|
||||
blank=True,
|
||||
null=True
|
||||
)
|
||||
|
||||
company_permissions = models.ManyToManyField('ClientPermission')
|
||||
new_field1 = models.BooleanField(default=False)
|
||||
is_company_admin = models.BooleanField(default=False)
|
||||
|
||||
def has_company_perm(self, perm_codename):
|
||||
if self.is_superuser:
|
||||
return True
|
||||
return self.company_permissions.filter(
|
||||
codename=perm_codename,
|
||||
is_client_permission=self.company
|
||||
).exists()
|
||||
Reference in New Issue
Block a user