Skip to content

Commit

Permalink
new release
Browse files Browse the repository at this point in the history
  • Loading branch information
KingCSharp committed Feb 2, 2022
1 parent 44c898f commit 05bc051
Show file tree
Hide file tree
Showing 9 changed files with 226 additions and 80 deletions.
69 changes: 69 additions & 0 deletions common/migrations/0038_auto_20220120_1318.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Generated by Django 3.2.8 on 2022-01-20 07:48

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
('common', '0037_alter_profile_org'),
]

operations = [
migrations.RemoveField(
model_name='google',
name='profile',
),
migrations.AddField(
model_name='google',
name='user',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='google_user', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='google',
name='dob',
field=models.CharField(default='', max_length=50),
),
migrations.AlterField(
model_name='google',
name='email',
field=models.CharField(db_index=True, default='', max_length=200),
),
migrations.AlterField(
model_name='google',
name='family_name',
field=models.CharField(default='', max_length=200),
),
migrations.AlterField(
model_name='google',
name='gender',
field=models.CharField(default='', max_length=10),
),
migrations.AlterField(
model_name='google',
name='given_name',
field=models.CharField(default='', max_length=200),
),
migrations.AlterField(
model_name='google',
name='google_id',
field=models.CharField(default='', max_length=200),
),
migrations.AlterField(
model_name='google',
name='google_url',
field=models.TextField(default=''),
),
migrations.AlterField(
model_name='google',
name='name',
field=models.CharField(default='', max_length=200),
),
migrations.AlterField(
model_name='google',
name='verified_email',
field=models.CharField(default='', max_length=200),
),
]
64 changes: 64 additions & 0 deletions common/migrations/0039_auto_20220202_2023.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Generated by Django 3.2.11 on 2022-02-02 14:53

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
('common', '0038_auto_20220120_1318'),
]

operations = [
migrations.AlterField(
model_name='address',
name='address_line',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='Address'),
),
migrations.AlterField(
model_name='address',
name='city',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='City'),
),
migrations.AlterField(
model_name='address',
name='country',
field=models.CharField(blank=True, choices=[('GB', 'United Kingdom'), ('AF', 'Afghanistan'), ('AX', 'Aland Islands'), ('AL', 'Albania'), ('DZ', 'Algeria'), ('AS', 'American Samoa'), ('AD', 'Andorra'), ('AO', 'Angola'), ('AI', 'Anguilla'), ('AQ', 'Antarctica'), ('AG', 'Antigua and Barbuda'), ('AR', 'Argentina'), ('AM', 'Armenia'), ('AW', 'Aruba'), ('AU', 'Australia'), ('AT', 'Austria'), ('AZ', 'Azerbaijan'), ('BS', 'Bahamas'), ('BH', 'Bahrain'), ('BD', 'Bangladesh'), ('BB', 'Barbados'), ('BY', 'Belarus'), ('BE', 'Belgium'), ('BZ', 'Belize'), ('BJ', 'Benin'), ('BM', 'Bermuda'), ('BT', 'Bhutan'), ('BO', 'Bolivia'), ('BA', 'Bosnia and Herzegovina'), ('BW', 'Botswana'), ('BV', 'Bouvet Island'), ('BR', 'Brazil'), ('IO', 'British Indian Ocean Territory'), ('BN', 'Brunei Darussalam'), ('BG', 'Bulgaria'), ('BF', 'Burkina Faso'), ('BI', 'Burundi'), ('KH', 'Cambodia'), ('CM', 'Cameroon'), ('CA', 'Canada'), ('CV', 'Cape Verde'), ('KY', 'Cayman Islands'), ('CF', 'Central African Republic'), ('TD', 'Chad'), ('CL', 'Chile'), ('CN', 'China'), ('CX', 'Christmas Island'), ('CC', 'Cocos (Keeling) Islands'), ('CO', 'Colombia'), ('KM', 'Comoros'), ('CG', 'Congo'), ('CD', 'Congo, The Democratic Republic of the'), ('CK', 'Cook Islands'), ('CR', 'Costa Rica'), ('CI', "Cote d'Ivoire"), ('HR', 'Croatia'), ('CU', 'Cuba'), ('CY', 'Cyprus'), ('CZ', 'Czech Republic'), ('DK', 'Denmark'), ('DJ', 'Djibouti'), ('DM', 'Dominica'), ('DO', 'Dominican Republic'), ('EC', 'Ecuador'), ('EG', 'Egypt'), ('SV', 'El Salvador'), ('GQ', 'Equatorial Guinea'), ('ER', 'Eritrea'), ('EE', 'Estonia'), ('ET', 'Ethiopia'), ('FK', 'Falkland Islands (Malvinas)'), ('FO', 'Faroe Islands'), ('FJ', 'Fiji'), ('FI', 'Finland'), ('FR', 'France'), ('GF', 'French Guiana'), ('PF', 'French Polynesia'), ('TF', 'French Southern Territories'), ('GA', 'Gabon'), ('GM', 'Gambia'), ('GE', 'Georgia'), ('DE', 'Germany'), ('GH', 'Ghana'), ('GI', 'Gibraltar'), ('GR', 'Greece'), ('GL', 'Greenland'), ('GD', 'Grenada'), ('GP', 'Guadeloupe'), ('GU', 'Guam'), ('GT', 'Guatemala'), ('GG', 'Guernsey'), ('GN', 'Guinea'), ('GW', 'Guinea-Bissau'), ('GY', 'Guyana'), ('HT', 'Haiti'), ('HM', 'Heard Island and McDonald Islands'), ('VA', 'Holy See (Vatican City State)'), ('HN', 'Honduras'), ('HK', 'Hong Kong'), ('HU', 'Hungary'), ('IS', 'Iceland'), ('IN', 'India'), ('ID', 'Indonesia'), ('IR', 'Iran, Islamic Republic of'), ('IQ', 'Iraq'), ('IE', 'Ireland'), ('IM', 'Isle of Man'), ('IL', 'Israel'), ('IT', 'Italy'), ('JM', 'Jamaica'), ('JP', 'Japan'), ('JE', 'Jersey'), ('JO', 'Jordan'), ('KZ', 'Kazakhstan'), ('KE', 'Kenya'), ('KI', 'Kiribati'), ('KP', "Korea, Democratic People's Republic of"), ('KR', 'Korea, Republic of'), ('KW', 'Kuwait'), ('KG', 'Kyrgyzstan'), ('LA', "Lao People's Democratic Republic"), ('LV', 'Latvia'), ('LB', 'Lebanon'), ('LS', 'Lesotho'), ('LR', 'Liberia'), ('LY', 'Libyan Arab Jamahiriya'), ('LI', 'Liechtenstein'), ('LT', 'Lithuania'), ('LU', 'Luxembourg'), ('MO', 'Macao'), ('MK', 'Macedonia, The Former Yugoslav Republic of'), ('MG', 'Madagascar'), ('MW', 'Malawi'), ('MY', 'Malaysia'), ('MV', 'Maldives'), ('ML', 'Mali'), ('MT', 'Malta'), ('MH', 'Marshall Islands'), ('MQ', 'Martinique'), ('MR', 'Mauritania'), ('MU', 'Mauritius'), ('YT', 'Mayotte'), ('MX', 'Mexico'), ('FM', 'Micronesia, Federated States of'), ('MD', 'Moldova'), ('MC', 'Monaco'), ('MN', 'Mongolia'), ('ME', 'Montenegro'), ('MS', 'Montserrat'), ('MA', 'Morocco'), ('MZ', 'Mozambique'), ('MM', 'Myanmar'), ('NA', 'Namibia'), ('NR', 'Nauru'), ('NP', 'Nepal'), ('NL', 'Netherlands'), ('AN', 'Netherlands Antilles'), ('NC', 'New Caledonia'), ('NZ', 'New Zealand'), ('NI', 'Nicaragua'), ('NE', 'Niger'), ('NG', 'Nigeria'), ('NU', 'Niue'), ('NF', 'Norfolk Island'), ('MP', 'Northern Mariana Islands'), ('NO', 'Norway'), ('OM', 'Oman'), ('PK', 'Pakistan'), ('PW', 'Palau'), ('PS', 'Palestinian Territory, Occupied'), ('PA', 'Panama'), ('PG', 'Papua New Guinea'), ('PY', 'Paraguay'), ('PE', 'Peru'), ('PH', 'Philippines'), ('PN', 'Pitcairn'), ('PL', 'Poland'), ('PT', 'Portugal'), ('PR', 'Puerto Rico'), ('QA', 'Qatar'), ('RE', 'Reunion'), ('RO', 'Romania'), ('RU', 'Russian Federation'), ('RW', 'Rwanda'), ('BL', 'Saint Barthelemy'), ('SH', 'Saint Helena'), ('KN', 'Saint Kitts and Nevis'), ('LC', 'Saint Lucia'), ('MF', 'Saint Martin'), ('PM', 'Saint Pierre and Miquelon'), ('VC', 'Saint Vincent and the Grenadines'), ('WS', 'Samoa'), ('SM', 'San Marino'), ('ST', 'Sao Tome and Principe'), ('SA', 'Saudi Arabia'), ('SN', 'Senegal'), ('RS', 'Serbia'), ('SC', 'Seychelles'), ('SL', 'Sierra Leone'), ('SG', 'Singapore'), ('SK', 'Slovakia'), ('SI', 'Slovenia'), ('SB', 'Solomon Islands'), ('SO', 'Somalia'), ('ZA', 'South Africa'), ('GS', 'South Georgia and the South Sandwich Islands'), ('ES', 'Spain'), ('LK', 'Sri Lanka'), ('SD', 'Sudan'), ('SR', 'Suriname'), ('SJ', 'Svalbard and Jan Mayen'), ('SZ', 'Swaziland'), ('SE', 'Sweden'), ('CH', 'Switzerland'), ('SY', 'Syrian Arab Republic'), ('TW', 'Taiwan, Province of China'), ('TJ', 'Tajikistan'), ('TZ', 'Tanzania, United Republic of'), ('TH', 'Thailand'), ('TL', 'Timor-Leste'), ('TG', 'Togo'), ('TK', 'Tokelau'), ('TO', 'Tonga'), ('TT', 'Trinidad and Tobago'), ('TN', 'Tunisia'), ('TR', 'Turkey'), ('TM', 'Turkmenistan'), ('TC', 'Turks and Caicos Islands'), ('TV', 'Tuvalu'), ('UG', 'Uganda'), ('UA', 'Ukraine'), ('AE', 'United Arab Emirates'), ('US', 'United States'), ('UM', 'United States Minor Outlying Islands'), ('UY', 'Uruguay'), ('UZ', 'Uzbekistan'), ('VU', 'Vanuatu'), ('VE', 'Venezuela'), ('VN', 'Viet Nam'), ('VG', 'Virgin Islands, British'), ('VI', 'Virgin Islands, U.S.'), ('WF', 'Wallis and Futuna'), ('EH', 'Western Sahara'), ('YE', 'Yemen'), ('ZM', 'Zambia'), ('ZW', 'Zimbabwe')], default='', max_length=3),
),
migrations.AlterField(
model_name='address',
name='postcode',
field=models.CharField(blank=True, default='', max_length=64, verbose_name='Post/Zip-code'),
),
migrations.AlterField(
model_name='address',
name='state',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='State'),
),
migrations.AlterField(
model_name='address',
name='street',
field=models.CharField(blank=True, default='', max_length=55, verbose_name='Street'),
),
migrations.AlterField(
model_name='apisettings',
name='org',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='org_api_settings', to='common.org'),
),
migrations.AlterField(
model_name='comment_files',
name='comment_file',
field=models.FileField(blank=True, null=True, upload_to='comment_files', verbose_name='File'),
),
migrations.AlterField(
model_name='document',
name='org',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='document_org', to='common.org'),
),
migrations.AlterField(
model_name='profile',
name='org',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_org', to='common.org'),
),
]
75 changes: 41 additions & 34 deletions common/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,15 @@ def img_url(self, filename):

class Address(models.Model):
address_line = models.CharField(
_("Address"), max_length=255, blank=True, null=True
_("Address"), max_length=255, blank=True, default=""
)
street = models.CharField(
_("Street"), max_length=55, blank=True, null=True)
city = models.CharField(_("City"), max_length=255, blank=True, null=True)
state = models.CharField(_("State"), max_length=255, blank=True, null=True)
street = models.CharField(_("Street"), max_length=55, blank=True, default="")
city = models.CharField(_("City"), max_length=255, blank=True, default="")
state = models.CharField(_("State"), max_length=255, blank=True, default="")
postcode = models.CharField(
_("Post/Zip-code"), max_length=64, blank=True, null=True
_("Post/Zip-code"), max_length=64, blank=True, default=""
)
country = models.CharField(
max_length=3, choices=COUNTRIES, blank=True, null=True)
country = models.CharField(max_length=3, choices=COUNTRIES, blank=True, default="")

def __str__(self):
return self.city if self.city else ""
Expand Down Expand Up @@ -79,8 +77,7 @@ class Org(models.Model):
name = models.CharField(max_length=100, blank=True, null=True)
address = models.TextField(blank=True, null=True)
user_limit = models.IntegerField(default=5)
country = models.CharField(
max_length=3, choices=COUNTRIES, blank=True, null=True)
country = models.CharField(max_length=3, choices=COUNTRIES, blank=True, null=True)


class User(AbstractBaseUser, PermissionsMixin):
Expand All @@ -100,7 +97,7 @@ class User(AbstractBaseUser, PermissionsMixin):
description = models.TextField(blank=True, null=True)

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

objects = UserManager()

Expand Down Expand Up @@ -134,7 +131,8 @@ def __str__(self):
class Profile(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
org = models.ForeignKey(
Org, null=True, on_delete=models.CASCADE, blank=True)
Org, null=True, on_delete=models.CASCADE, blank=True, related_name="user_org"
)
phone = PhoneNumberField(null=True, unique=True)
alternate_phone = PhoneNumberField(null=True)
address = models.ForeignKey(
Expand All @@ -157,7 +155,7 @@ class Meta:
unique_together = (("user", "org"),)

def save(self, *args, **kwargs):
""" by default the expiration time is set to 2 hours """
"""by default the expiration time is set to 2 hours"""
self.key_expires = timezone.now() + datetime.timedelta(hours=2)
super().save(*args, **kwargs)

Expand Down Expand Up @@ -251,7 +249,8 @@ class Comment_Files(models.Model):
comment = models.ForeignKey(Comment, on_delete=models.CASCADE)
updated_on = models.DateTimeField(auto_now_add=True)
comment_file = models.FileField(
"File", upload_to="comment_files", null=True)
"File", upload_to="comment_files", null=True, blank=True
)

def get_file_name(self):
if self.comment_file:
Expand All @@ -270,8 +269,7 @@ class Attachments(models.Model):
)
file_name = models.CharField(max_length=60)
created_on = models.DateTimeField(_("Created on"), auto_now_add=True)
attachment = models.FileField(
max_length=1001, upload_to="attachments/%Y/%m/")
attachment = models.FileField(max_length=1001, upload_to="attachments/%Y/%m/")
lead = models.ForeignKey(
"leads.Lead",
null=True,
Expand Down Expand Up @@ -386,12 +384,14 @@ class Document(models.Model):
status = models.CharField(
choices=DOCUMENT_STATUS_CHOICE, max_length=64, default="active"
)
shared_to = models.ManyToManyField(
Profile, related_name="document_shared_to")
teams = models.ManyToManyField(
"teams.Teams", related_name="document_teams")
shared_to = models.ManyToManyField(Profile, related_name="document_shared_to")
teams = models.ManyToManyField("teams.Teams", related_name="document_teams")
org = models.ForeignKey(
Org, on_delete=models.SET_NULL, null=True, blank=True
Org,
on_delete=models.SET_NULL,
null=True,
blank=True,
related_name="document_org",
)

class Meta:
Expand Down Expand Up @@ -456,7 +456,8 @@ class APISettings(models.Model):
apikey = models.CharField(max_length=16, blank=True)
website = models.URLField(max_length=255, null=True)
lead_assigned_to = models.ManyToManyField(
Profile, related_name="lead_assignee_users")
Profile, related_name="lead_assignee_users"
)
tags = models.ManyToManyField("accounts.Tags", blank=True)
created_by = models.ForeignKey(
Profile,
Expand All @@ -466,7 +467,12 @@ class APISettings(models.Model):
blank=True,
)
org = models.ForeignKey(
Org, blank=True, on_delete=models.SET_NULL, null=True)
Org,
blank=True,
on_delete=models.SET_NULL,
null=True,
related_name="org_api_settings",
)
created_on = models.DateTimeField(auto_now_add=True)

class Meta:
Expand All @@ -482,17 +488,18 @@ def save(self, *args, **kwargs):


class Google(models.Model):
profile = models.ForeignKey(
Profile, related_name="google", null=True, on_delete=models.CASCADE)
google_id = models.CharField(max_length=200, null=True)
google_url = models.TextField(null=True)
verified_email = models.CharField(max_length=200, null=True)
family_name = models.CharField(max_length=200, null=True)
name = models.CharField(max_length=200, null=True)
gender = models.CharField(max_length=10, null=True)
dob = models.CharField(max_length=50, null=True)
given_name = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True, db_index=True)
user = models.ForeignKey(
User, related_name="google_user", on_delete=models.CASCADE, null=True
)
google_id = models.CharField(max_length=200, default="")
google_url = models.TextField(default="")
verified_email = models.CharField(max_length=200, default="")
family_name = models.CharField(max_length=200, default="")
name = models.CharField(max_length=200, default="")
gender = models.CharField(max_length=10, default="")
dob = models.CharField(max_length=50, default="")
given_name = models.CharField(max_length=200, default="")
email = models.CharField(max_length=200, default="", db_index=True)

def __str__(self):
return self.email
2 changes: 1 addition & 1 deletion common/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
def send_email_to_new_user(
profile_id, org_id
):

""" Send Mail To Users When their account is created """

profile_obj = Profile.objects.filter(id=profile_id, org_id=org_id).last()
user_obj = profile_obj.user

Expand Down
4 changes: 1 addition & 3 deletions common/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ def delete(self, request, pk, format=None):
return Response({"status": "success"}, status=status.HTTP_200_OK)



class ChangePasswordView(APIView):
authentication_classes = (JSONWebTokenAuthentication,)
permission_classes = (IsAuthenticated,)
Expand Down Expand Up @@ -969,9 +970,6 @@ class DomainDetailView(APIView):
authentication_classes = (JSONWebTokenAuthentication,)
permission_classes = (IsAuthenticated,)

def get_object(self, pk):
return self.model.objects.get(pk=pk)

@swagger_auto_schema(
tags=["Settings"], manual_parameters=swagger_params.organization_params
)
Expand Down
5 changes: 3 additions & 2 deletions contacts/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ def put(self, request, pk, format=None):
status=status.HTTP_403_FORBIDDEN
)
contact_serializer = CreateContactSerializer(
data=params, instance=contact_obj, request_obj=request, contact=True
data=params, instance=contact_obj, request_obj=request
)
address_serializer = BillingAddressSerializer(
data=params, instance=address_obj)
Expand Down Expand Up @@ -206,6 +206,7 @@ def put(self, request, pk, format=None):
},
status=status.HTTP_403_FORBIDDEN,
)

address_obj = address_serializer.save()
contact_obj = contact_serializer.save(
date_of_birth=params.get("date_of_birth")
Expand Down Expand Up @@ -299,7 +300,7 @@ def get(self, request, pk, format=None):
{"username": contact_obj.created_by.user.username}]
else:
users_mention = list(
contact_obj.assigned_to.all().values("username"))
contact_obj.assigned_to.all().values("user__username"))

if request.profile == contact_obj.created_by:
user_assgn_list.append(self.request.profile.id)
Expand Down
Loading

0 comments on commit 05bc051

Please sign in to comment.