update
This commit is contained in:
@ -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:
|
||||
|
||||
Reference in New Issue
Block a user