diff --git a/sahara/db.sqlite3 b/sahara/db.sqlite3 index 39db227..08c69f9 100644 Binary files a/sahara/db.sqlite3 and b/sahara/db.sqlite3 differ diff --git a/sahara/main/__pycache__/admin.cpython-312.pyc b/sahara/main/__pycache__/admin.cpython-312.pyc index bf855af..125b2d4 100644 Binary files a/sahara/main/__pycache__/admin.cpython-312.pyc and b/sahara/main/__pycache__/admin.cpython-312.pyc differ diff --git a/sahara/main/__pycache__/models.cpython-312.pyc b/sahara/main/__pycache__/models.cpython-312.pyc index 250731b..1aff89d 100644 Binary files a/sahara/main/__pycache__/models.cpython-312.pyc and b/sahara/main/__pycache__/models.cpython-312.pyc differ diff --git a/sahara/main/admin.py b/sahara/main/admin.py index bab3cf1..9e6ec17 100644 --- a/sahara/main/admin.py +++ b/sahara/main/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin from django.contrib.auth.admin import UserAdmin -from .models import User # Import your custom User model +from .models import User,ServiceRequest # Import your custom User model class CustomUserAdmin(UserAdmin): model = User @@ -34,4 +34,5 @@ class CustomUserAdmin(UserAdmin): list_filter = ('is_staff', 'is_superuser', 'is_active') # Register your custom User model with the custom UserAdmin class -admin.site.register(User, CustomUserAdmin) \ No newline at end of file +admin.site.register(User, CustomUserAdmin) +admin.site.register(ServiceRequest) \ No newline at end of file diff --git a/sahara/main/migrations/0003_service_alter_user_bio_alter_user_price_and_more.py b/sahara/main/migrations/0003_service_alter_user_bio_alter_user_price_and_more.py new file mode 100644 index 0000000..13d182e --- /dev/null +++ b/sahara/main/migrations/0003_service_alter_user_bio_alter_user_price_and_more.py @@ -0,0 +1,49 @@ +# Generated by Django 5.1.4 on 2025-01-11 19:54 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0002_user_bio_user_member_since_user_price_user_profile_and_more'), + ] + + operations = [ + migrations.CreateModel( + name='Service', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=20)), + ('description', models.CharField(blank=True, max_length=100, null=True)), + ], + ), + migrations.AlterField( + model_name='user', + name='bio', + field=models.CharField(blank=True, max_length=200, null=True), + ), + migrations.AlterField( + model_name='user', + name='price', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.CreateModel( + name='ServiceRequest', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('agreed_price', models.DecimalField(decimal_places=2, default=0, max_digits=999)), + ('service_hour', models.PositiveIntegerField(default=1)), + ('agreed_on', models.DateField(auto_now_add=True)), + ('is_approved', models.DateTimeField(blank=True, null=True)), + ('remarks', models.TextField(blank=True, null=True)), + ('is_completed', models.BooleanField(default=False)), + ('completed_date', models.DateTimeField(blank=True, null=True)), + ('client', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='client', to=settings.AUTH_USER_MODEL)), + ('service', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='service', to='main.service')), + ('service_provider', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='service_provider', to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/sahara/main/migrations/__pycache__/0003_service_alter_user_bio_alter_user_price_and_more.cpython-312.pyc b/sahara/main/migrations/__pycache__/0003_service_alter_user_bio_alter_user_price_and_more.cpython-312.pyc new file mode 100644 index 0000000..2fcfeeb Binary files /dev/null and b/sahara/main/migrations/__pycache__/0003_service_alter_user_bio_alter_user_price_and_more.cpython-312.pyc differ diff --git a/sahara/main/models.py b/sahara/main/models.py index fb77b44..fe61cac 100644 --- a/sahara/main/models.py +++ b/sahara/main/models.py @@ -104,7 +104,19 @@ class User(AbstractBaseUser, PermissionsMixin): class ServiceRequest(models.Model): client = models.ForeignKey(User,on_delete=models.CASCADE,related_name="client") - service_provider = models.ForeignKey(User,on_delete=models.CASCADE,related_name="client") + service_provider = models.ForeignKey(User,on_delete=models.CASCADE,related_name="service_provider") agreed_price = models.DecimalField(max_digits=999,decimal_places=2 , default=0) + service_hour = models.PositiveIntegerField(default=1) agreed_on = models.DateField(auto_now_add=True) + is_approved = models.DateTimeField(blank=True, null=True) + remarks = models.TextField(blank=True, null=True) is_completed = models.BooleanField(default=False) + completed_date = models.DateTimeField(null=True,blank=True) + service = models.ForeignKey(Service, on_delete=models.CASCADE, related_name="service") + + def __str__(self): + return self.service.name + + @property + def get_full_price(self): + return self.agreed_price * self.service_hour \ No newline at end of file