Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .env
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
DB_NAME=school_interface_db
DB_USER=db_username
DB_PASSWORD=db_password
SECRET_KEY=django_project_secret_key
DB_NAME = 'iitb'
DB_USER = 'root'
DB_PASSWORD = '12Athmikha@'
SECRET_KEY = django_project_secret_key
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"python.analysis.typeCheckingMode": "basic"
}
1 change: 1 addition & 0 deletions accounts.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"model": "accounts.user", "pk": 112, "fields": {"password": "ab", "last_login": "2023-03-03T15:30:45Z", "is_superuser": true, "username": "athmikha", "is_staff": true, "is_active": true, "date_joined": "2023-03-03T15:30:45Z", "email": "ath@gmail.com", "first_name": "athmika", "last_name": "cds", "phone": "9876543023", "groups": [], "user_permissions": []}}, {"model": "accounts.user", "pk": 113, "fields": {"password": "ab", "last_login": "2023-03-03T15:30:45Z", "is_superuser": true, "username": "barath", "is_staff": true, "is_active": true, "date_joined": "2023-03-03T15:30:45Z", "email": "bat@gmail.com", "first_name": "athmika", "last_name": "cds", "phone": "9876543023", "groups": [], "user_permissions": []}}, {"model": "accounts.location", "pk": 1, "fields": {"address": "cbe", "state": 1, "district": 1, "city": 1, "pincode": "cbe", "updated": "2023-03-03"}}, {"model": "accounts.profile", "pk": 1, "fields": {"user": 112, "dob": "2023-02-02", "gender": "f", "location": 1, "updated": "2023-03-03"}}, {"model": "accounts.organisation", "pk": 112, "fields": {"added_by": 112, "name_of_association": "Association Name", "date_of_association": "2022-01-01", "type": "NGO", "updated": "2023-03-03", "is_active": true, "location": 1}}, {"model": "accounts.school", "pk": 1, "fields": {"added_by": 112, "name_of_association": "kendriya vidyalaya 10", "date_of_association": "2023-02-02", "type": "Central Government Funded", "organisation": 112, "updated": "2023-03-03", "is_active": true, "location": 1}}, {"model": "accounts.teacher", "pk": 112, "fields": {"profile": 1, "school": 1, "unique_id": "20230202"}}, {"model": "accounts.parent", "pk": 113, "fields": {}}, {"model": "accounts.condition", "pk": 1, "fields": {"sender": 5, "receiver": 7, "single_msg": true, "bulk_msg": false}}, {"model": "accounts.messagetype", "pk": 1, "fields": {"messagetype": "single"}}, {"model": "accounts.message", "pk": 1, "fields": {"message": "Hello ", "sender": 112, "sender_role": 5, "receiver": 113, "receiver_role": 7, "message_type": 1}}, {"model": "accounts.message", "pk": 2, "fields": {"message": "Hello ", "sender": 112, "sender_role": 5, "receiver": 113, "receiver_role": 7, "message_type": 1}}, {"model": "accounts.message", "pk": 3, "fields": {"message": "Hello ", "sender": 112, "sender_role": 5, "receiver": 113, "receiver_role": 7, "message_type": 1}}, {"model": "accounts.message", "pk": 4, "fields": {"message": "Hello ", "sender": 112, "sender_role": 5, "receiver": 113, "receiver_role": 7, "message_type": 1}}, {"model": "accounts.message", "pk": 5, "fields": {"message": "Hello janthuuu ", "sender": 112, "sender_role": 5, "receiver": 113, "receiver_role": 7, "message_type": 1}}]
49 changes: 45 additions & 4 deletions accounts/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by Django 4.2.1 on 2023-05-25 12:14
# Generated by Django 4.2.1 on 2023-08-31 15:35

from django.conf import settings
import django.contrib.auth.models
Expand Down Expand Up @@ -35,7 +35,6 @@ class Migration(migrations.Migration):
('last_name', models.CharField(max_length=150, verbose_name='last name')),
('phone', models.CharField(max_length=20, validators=[django.core.validators.RegexValidator(message='Enter a valid phone/mobile number', regex='^\\+?[0-9]+-?[0-9]{6,}$')])),
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
],
options={
'verbose_name': 'user',
Expand All @@ -58,6 +57,13 @@ class Migration(migrations.Migration):
('state', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='common.state')),
],
),
migrations.CreateModel(
name='MessageType',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('messagetype', models.CharField(choices=[('Single Message', 'Single Message'), ('Bulk Message', 'Bulk Message')], max_length=100)),
],
),
migrations.CreateModel(
name='Organisation',
fields=[
Expand Down Expand Up @@ -133,6 +139,28 @@ class Migration(migrations.Migration):
'ordering': ['date_of_payment'],
},
),
migrations.CreateModel(
name='Message',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('message', models.CharField(max_length=500)),
('message_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='message_type', to='accounts.messagetype')),
('receiver', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='received_messages', to=settings.AUTH_USER_MODEL)),
('receiver_role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='receiver_role', to='auth.group')),
('sender', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sent_messages', to=settings.AUTH_USER_MODEL)),
('sender_role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sender_role', to='auth.group')),
],
),
migrations.AddField(
model_name='user',
name='location',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='accounts.location'),
),
migrations.AddField(
model_name='user',
name='user_permissions',
field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions'),
),
migrations.CreateModel(
name='TrainingTeam',
fields=[
Expand Down Expand Up @@ -170,7 +198,7 @@ class Migration(migrations.Migration):
fields=[
('user_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)),
('unique_id', models.CharField(max_length=50)),
('current_class', models.IntegerField(choices=[(1, 'Class 1'), (2, 'Class 2'), (3, 'Class 3'), (4, 'Class 4'), (5, 'Class 5'), (6, 'Class 6'), (7, 'Class 7'), (8, 'Class 8'), (9, 'Class 9'), (10, 'Class 10')])),
('current_class', models.IntegerField(choices=[(1, 'Class 1'), (2, 'Class 2'), (3, 'Class 3'), (4, 'Class 4'), (5, 'Class 5'), (6, 'Class 6'), (7, 'Class 7'), (8, 'Class 8'), (9, 'Class 9'), (10, 'Class 10'), (11, 'Class 11'), (12, 'Class 12')])),
('division', models.CharField(max_length=50)),
('_parent', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='children', to='accounts.parent')),
('_teacher', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='students', to='accounts.teacher')),
Expand Down Expand Up @@ -203,11 +231,24 @@ class Migration(migrations.Migration):
('objects', django.contrib.auth.models.UserManager()),
],
),
migrations.CreateModel(
name='Condition',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('single_msg', models.BooleanField(default=False)),
('bulk_msg', models.BooleanField(default=False)),
('receiver', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='receiver', to='auth.group')),
('sender', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sender', to='auth.group')),
],
options={
'unique_together': {('sender', 'receiver')},
},
),
migrations.CreateModel(
name='ClassCoordinator',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('classVal', models.IntegerField(choices=[(1, 'Class 1'), (2, 'Class 2'), (3, 'Class 3'), (4, 'Class 4'), (5, 'Class 5'), (6, 'Class 6'), (7, 'Class 7'), (8, 'Class 8'), (9, 'Class 9'), (10, 'Class 10')])),
('classVal', models.IntegerField(choices=[(1, 'Class 1'), (2, 'Class 2'), (3, 'Class 3'), (4, 'Class 4'), (5, 'Class 5'), (6, 'Class 6'), (7, 'Class 7'), (8, 'Class 8'), (9, 'Class 9'), (10, 'Class 10'), (11, 'Class 11'), (12, 'Class 12')])),
('teacher', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='accounts.teacher')),
],
options={
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by Django 4.2.1 on 2023-07-10 06:41
# Generated by Django 4.2.1 on 2023-12-06 07:33

import django.core.validators
from django.db import migrations, models
Expand All @@ -7,7 +7,7 @@
class Migration(migrations.Migration):

dependencies = [
('accounts', '0003_messagetype_message_condition'),
('accounts', '0001_initial'),
]

operations = [
Expand Down
48 changes: 0 additions & 48 deletions accounts/migrations/0003_messagetype_message_condition.py

This file was deleted.

23 changes: 12 additions & 11 deletions accounts/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,12 @@
from django.core.validators import RegexValidator
from django.utils.translation import gettext_lazy as _
from django.contrib.auth.models import Group

from common.models import State, District, City, Language

MAX_CLASS = 12
CLASS_CHOICES = [(i, f"Class {i}") for i in range(1, MAX_CLASS+1)]


class User(AbstractUser):
phone_regex = RegexValidator(regex=r'^(\+[1-9][0-9]*-)?[1-9][0-9]{6,}$',
message='Enter a valid phone/mobile number')

email = models.EmailField(unique=True, null=True)
first_name = models.CharField(_("first name"), max_length=150, blank=False,
null=False)
last_name = models.CharField(_("last name"), max_length=150, blank=False,
null=False)
phone = models.CharField(max_length=20, null=True, validators=[phone_regex])


class Location(models.Model):
Expand All @@ -40,6 +29,18 @@ def __str__(self) -> str:
return (f"{self.address}, {self.city}, {self.district}, {self.state} - "
f"{self.pincode}")

class User(AbstractUser):
phone_regex = RegexValidator(regex=r'^(\+[1-9][0-9]*-)?[1-9][0-9]{6,}$',
message='Enter a valid phone/mobile number')

email = models.EmailField(unique=True, null=True)
first_name = models.CharField(_("first name"), max_length=150, blank=False,
null=False)
last_name = models.CharField(_("last name"), max_length=150, blank=False,
null=False)
phone = models.CharField(max_length=20, null=True, validators=[phone_regex])
location = models.ForeignKey(Location,on_delete=models.PROTECT)


class Profile(models.Model):
"""
Expand Down
1 change: 1 addition & 0 deletions accounts/serializers/common_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,4 @@ class ConditionSerializer(serializers.ModelSerializer):
class Meta:
model = Condition
fields = '__all__'

Loading