This commit is contained in:
Mohamed Nouffer
2022-05-12 02:15:36 +05:30
parent 11037587df
commit c230cf4781
15 changed files with 356 additions and 358 deletions

View File

@ -19,6 +19,7 @@ from .choices import LAYER_CHOICES
from django.contrib.gis.utils import LayerMapping
from django.apps import apps
from django.db import transaction
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager
import csv
import codecs
@ -32,6 +33,33 @@ environ.Env.read_env(env_file=".env")
db = Db(dbname=env("POSTGRES_DBNAME"), user=env("POSTGRES_USER"), password=env("POSTGRES_PASS"), host="postgres-db", port=env("PG_PORT"))
class CustomUserManager(BaseUserManager):
def create_user(self, email, password, **other_fields):
if not email:
raise ValueError(_("You must provide an email address"))
email = self.normalize_email(email)
user=self.model(email=email, **other_fields)
user.set_password(password)
user.save()
return user
def create_superuser(self, email, password, **other_fields):
other_fields.setdefault('is_staff', True)
other_fields.setdefault('is_superuser', True)
other_fields.setdefault('is_active', True)
if other_fields.get('is_staff') is not True:
raise ValueError(_('Supperuser must assigned to staff'))
if other_fields.get('is_superuser') is not True:
raise ValueError(_('Supperuser must assigned to superuser=True'))
return self.create_user(email, password, **other_fields)
class JpnAdminMainPerf(models.Model):
@ -82,9 +110,20 @@ class JpnSubPerf(models.Model):
managed = False
db_table = 'jpn_sub_perf'
class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_("email address"), unique=True)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
USERNAME_FIELD = 'email'
objects = CustomUserManager()
def __str__(self):
return self.email
class RogUser(models.Model):
user=models.OneToOneField(User, on_delete=models.CASCADE)
user=models.OneToOneField(CustomUser, on_delete=models.CASCADE)
email=models.EmailField(_('Email'))
phone=models.CharField(_('Phone Number'), max_length=55)
first_name=models.CharField(_('First Name'), max_length=255)
@ -97,14 +136,15 @@ class RogUser(models.Model):
sex=models.CharField(_('Sex'), max_length=255, default='unknown', blank=True, null=True)
birthyear=models.IntegerField(_('Birth year'), blank=True, null=True)
family_structure =models.IntegerField(_('Family Structure'), blank=True, null=True)
introducer = models.ForeignKey(User, related_name='introduced_uesr', on_delete=models.DO_NOTHING)
introducer = models.ForeignKey(CustomUser, related_name='introduced_uesr', on_delete=models.DO_NOTHING)
level= models.IntegerField(_('Level'), blank=True, null=True, default=0)
parammeters=models.CharField(_('Parameters'), max_length=512)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="roguser_updated_user", on_delete=models.DO_NOTHING)
last_updated_user=models.ForeignKey(CustomUser, related_name="roguser_updated_user", on_delete=models.DO_NOTHING)
last_updated_at=models.DateTimeField(auto_now=True)
class SystemSettings(models.Model):
setting_name=models.CharField(_('Settings Name'), max_length=255)
version=models.CharField(_('Version'), max_length=10, blank=True, null=True)
@ -112,7 +152,7 @@ class SystemSettings(models.Model):
end_date=models.DateTimeField()
parammeters=models.CharField(_('Parameters'), max_length=512)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="system_setting_updated_user", on_delete=models.DO_NOTHING)
last_updated_user=models.ForeignKey(CustomUser, related_name="system_setting_updated_user", on_delete=models.DO_NOTHING)
last_updated_at=models.DateTimeField(auto_now=True)
class Location(models.Model):
@ -140,7 +180,7 @@ class Location(models.Model):
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="location_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
last_updated_user=models.ForeignKey(CustomUser, related_name="location_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
last_updated_at=models.DateTimeField(auto_now=True)
geom=models.MultiPointField(srid=4326)
@ -171,7 +211,7 @@ class Location_line(models.Model):
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="location_line_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
last_updated_user=models.ForeignKey(CustomUser, related_name="location_line_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
last_updated_at=models.DateTimeField(auto_now=True)
geom=models.MultiLineStringField(srid=4326, blank=True, null=True)
@ -203,7 +243,7 @@ class Location_polygon(models.Model):
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="location_polygon_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
last_updated_user=models.ForeignKey(CustomUser, related_name="location_polygon_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
last_updated_at=models.DateTimeField(auto_now=True)
geom=models.MultiPolygonField(srid=4326, blank=True, null=True)
@ -231,7 +271,7 @@ class Event(models.Model):
remark=models.CharField(max_length=256, blank=True, null=True)
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="event_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
last_updated_user=models.ForeignKey(CustomUser, related_name="event_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
last_updated_at=models.DateTimeField(auto_now=True)
@ -244,7 +284,7 @@ ROG_STATUS = (
)
class JoinedEvent(models.Model):
user=models.ForeignKey(User, on_delete=models.DO_NOTHING)
user=models.ForeignKey(CustomUser, on_delete=models.DO_NOTHING)
tagname=models.CharField(_('Tag Name'), max_length=255, blank=True, null=True)
status=models.CharField(max_length=256, choices=ROG_STATUS)
registrationid=models.CharField(_('Registration Id'), max_length=56)
@ -253,13 +293,13 @@ class JoinedEvent(models.Model):
remark=models.CharField(_('Remark'), max_length=255, blank=True, null=True)
parammeters=models.CharField(_('Parameters'), max_length=512)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="joined_event_updated_user", on_delete=models.DO_NOTHING)
last_updated_user=models.ForeignKey(CustomUser, related_name="joined_event_updated_user", on_delete=models.DO_NOTHING)
last_updated_at=models.DateTimeField(auto_now=True)
class Favorite(models.Model):
user=models.ForeignKey(User, on_delete=models.DO_NOTHING)
user=models.ForeignKey(CustomUser, on_delete=models.DO_NOTHING)
location=models.ForeignKey(Location, on_delete=models.CASCADE)
good=models.IntegerField(_('Good'), default=0)
favorite=models.IntegerField(_('Favorite'), default=0)
@ -268,7 +308,7 @@ class Favorite(models.Model):
last_visited=models.DateTimeField(_('Last Visited'), blank=True, null=True)
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="favorite_updated_user", on_delete=models.DO_NOTHING)
last_updated_user=models.ForeignKey(CustomUser, related_name="favorite_updated_user", on_delete=models.DO_NOTHING)
last_updated_at=models.DateTimeField(auto_now=True)
@ -284,7 +324,7 @@ TRAVEL_CATEGORY = (
class TravelList(models.Model):
travel_id= models.IntegerField(_('Travel Id'))
user=models.ForeignKey(User, on_delete=models.DO_NOTHING)
user=models.ForeignKey(CustomUser, on_delete=models.DO_NOTHING)
start_date=models.DateTimeField(_('Start date') ,blank=True, null=True)
finish_date=models.DateTimeField(_('End date') ,blank=True, null=True)
category=models.CharField(max_length=256, choices=TRAVEL_CATEGORY)
@ -295,7 +335,7 @@ class TravelList(models.Model):
eta=models.DateTimeField(blank=True, null=True)
parammeters=models.CharField(_('Parameters'), max_length=512 ,blank=True, null=True)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="travel_list_updated_user", on_delete=models.DO_NOTHING)
last_updated_user=models.ForeignKey(CustomUser, related_name="travel_list_updated_user", on_delete=models.DO_NOTHING)
last_updated_at=models.DateTimeField(auto_now=True)
@ -308,12 +348,29 @@ class TravelPoint(models.Model):
order_number=models.IntegerField(blank=True, null=True)
parammeters=models.CharField(_('Parameters'), max_length=512 ,blank=True, null=True)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(User, related_name="travelpoint_updated_user", on_delete=models.DO_NOTHING)
last_updated_user=models.ForeignKey(CustomUser, related_name="travelpoint_updated_user", on_delete=models.DO_NOTHING)
last_updated_at=models.DateTimeField(auto_now=True)
class Useractions(models.Model):
user=models.ForeignKey(CustomUser, related_name="action_user", on_delete=models.CASCADE)
location=models.ForeignKey(Location, related_name="action_location", on_delete=models.CASCADE)
wanttogo=models.BooleanField(default=False)
like=models.BooleanField(default=False)
checkin=models.BooleanField(default=False)
order =models.IntegerField(default=0)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_at=models.DateTimeField(auto_now=True)
class TestModel(models.Model):
testbane=models.CharField(_("test field"), max_length=355)
wanttogo=models.BooleanField(default=False)
like=models.BooleanField(default=False)
checkin=models.BooleanField(default=False)
created_at=models.DateTimeField(auto_now_add=True)
last_updated_at=models.DateTimeField(auto_now=True)
def getTableForModel(tbl):
if tbl == 1: