From 4975582b68ad41d1090da443b4ad8c2d4e3a67bc Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Sun, 1 Feb 2026 17:18:59 +0000 Subject: [PATCH] Autosave: 20260201-171858 --- assets/pasted-20260201-154837-60ba680b.png | Bin 0 -> 80141 bytes core/__pycache__/admin.cpython-311.pyc | Bin 24772 -> 24900 bytes core/__pycache__/forms.cpython-311.pyc | Bin 33759 -> 33914 bytes core/__pycache__/models.cpython-311.pyc | Bin 40902 -> 42140 bytes core/__pycache__/pricing.cpython-311.pyc | Bin 2741 -> 2895 bytes core/__pycache__/urls.cpython-311.pyc | Bin 5379 -> 5589 bytes core/admin.py | 7 +- core/forms.py | 7 +- .../0032_parceltype_parcel_parcel_type.py | 31 ++++++ ...celtype_parcel_parcel_type.cpython-311.pyc | Bin 0 -> 1609 bytes core/models.py | 20 +++- core/pricing.py | 2 +- core/templates/core/shipment_request.html | 93 ++++++++++++++++-- core/urls.py | 2 +- 14 files changed, 148 insertions(+), 14 deletions(-) create mode 100644 assets/pasted-20260201-154837-60ba680b.png create mode 100644 core/migrations/0032_parceltype_parcel_parcel_type.py create mode 100644 core/migrations/__pycache__/0032_parceltype_parcel_parcel_type.cpython-311.pyc diff --git a/assets/pasted-20260201-154837-60ba680b.png b/assets/pasted-20260201-154837-60ba680b.png new file mode 100644 index 0000000000000000000000000000000000000000..59b519325895cf505624f4a5c45da3e327a4a411 GIT binary patch literal 80141 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 aYPG8Nk^co^`Ce@R literal 0 HcmV?d00001 diff --git a/core/__pycache__/admin.cpython-311.pyc b/core/__pycache__/admin.cpython-311.pyc index f06e27f67e60eacb9849a8b1f63002b72e8b08b2..a41ab6620e9b44a8b72304ee3dd79e1febe8bf62 100644 GIT binary patch delta 4976 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 delta 5795 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 diff --git a/core/__pycache__/urls.cpython-311.pyc b/core/__pycache__/urls.cpython-311.pyc index 28a9da429be780728a5dedd9760d190cd0a86284..c75b3ce4799f0c749b8ddeeb7be8ce4342eeb628 100644 GIT binary patch delta 236 zcmZqHx~k2)oR^o20SK11*Jox-+o=A7jZuHH0=vV+0#?T8$ujJQ(lKk;mN7Fh ztOjBTn8+Aqm=YVzpc%J0gZ(k9u6SZWrhb{BesW??a%oOtNvdu^QD$AoUqDm@({~V+ q!1M`1eFRZS5V<5Kpvp|9IuI4jSkDBM15rSIAZqea5i1rapd|pIH9;u= delta 78 zcmcbr-K@pCoR^o20SN5E>ob`q@=7w=Y*hcj#%M5Ef!%>4$}lB5m_ajU^CtGkteX$> e-e%->2C8KQ;^Nb+n^*GBW}Q4w)R@H)C;$K=>l88o diff --git a/core/admin.py b/core/admin.py index 3ac0780..e1dab42 100644 --- a/core/admin.py +++ b/core/admin.py @@ -1,7 +1,7 @@ from django.contrib import admin from django.contrib.auth.admin import UserAdmin from django.contrib.auth.models import User -from .models import Profile, Parcel, Country, Governate, City, PlatformProfile, Testimonial, DriverRating, NotificationTemplate, PricingRule, DriverReport, DriverRejection +from .models import Profile, Parcel, Country, Governate, City, PlatformProfile, Testimonial, DriverRating, NotificationTemplate, PricingRule, DriverReport, DriverRejection, ParcelType from django.utils.translation import gettext_lazy as _ from django.urls import path, reverse from django.shortcuts import render, redirect @@ -109,7 +109,7 @@ class CustomUserAdmin(UserAdmin): class ParcelAdmin(admin.ModelAdmin): change_list_template = 'admin/core/parcel/change_list.html' - list_display = ('tracking_number', 'shipper', 'carrier', 'price', 'driver_amount', 'platform_fee', 'distance_km', 'status', 'payment_status', 'created_at') + list_display = ('tracking_number', 'shipper', 'carrier', 'parcel_type', 'price', 'driver_amount', 'platform_fee', 'distance_km', 'status', 'payment_status', 'created_at') list_filter = ( 'status', 'payment_status', @@ -123,7 +123,7 @@ class ParcelAdmin(admin.ModelAdmin): fieldsets = ( (None, { - 'fields': ('tracking_number', 'shipper', 'carrier', 'status', 'payment_status', 'thawani_session_id') + 'fields': ('tracking_number', 'shipper', 'carrier', 'parcel_type', 'status', 'payment_status', 'thawani_session_id') }), (_('Description'), { 'fields': ('description', 'receiver_name', 'receiver_phone') @@ -402,3 +402,4 @@ class NotificationTemplateAdmin(admin.ModelAdmin): return False admin.site.register(NotificationTemplate, NotificationTemplateAdmin) +admin.site.register(ParcelType) diff --git a/core/forms.py b/core/forms.py index 05ff5b3..57cc2dd 100644 --- a/core/forms.py +++ b/core/forms.py @@ -2,7 +2,7 @@ from django import forms from django.contrib.auth.models import User from django.utils.translation import gettext_lazy as _ from django.utils.translation import get_language -from .models import Profile, Parcel, Country, Governate, City, DriverRating, DriverReport +from .models import Profile, Parcel, Country, Governate, City, DriverRating, DriverReport, ParcelType class ContactForm(forms.Form): name = forms.CharField(max_length=100, label=_("Name"), widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': _('Your Name')})) @@ -240,6 +240,7 @@ class ParcelForm(forms.ModelForm): class Meta: model = Parcel fields = [ + 'parcel_type', 'description', 'weight', 'price', 'pickup_country', 'pickup_governate', 'pickup_city', 'pickup_address', 'pickup_lat', 'pickup_lng', @@ -249,6 +250,7 @@ class ParcelForm(forms.ModelForm): 'receiver_name', 'receiver_phone' ] widgets = { + 'parcel_type': forms.Select(attrs={'class': 'form-control'}), 'description': forms.Textarea(attrs={'rows': 3, 'class': 'form-control', 'placeholder': _('What are you sending?')}), 'weight': forms.NumberInput(attrs={'class': 'form-control', 'step': '0.1'}), 'price': forms.TextInput(attrs={'class': 'form-control', 'readonly': 'readonly'}), @@ -276,6 +278,7 @@ class ParcelForm(forms.ModelForm): 'receiver_phone': forms.TextInput(attrs={'class': 'form-control'}), } labels = { + 'parcel_type': _('Parcel Type'), 'description': _('Package Description'), 'weight': _('Weight (kg)'), 'price': _('Calculated Price (OMR)'), @@ -406,4 +409,4 @@ class DriverReportForm(forms.ModelForm): labels = { 'reason': _('Reason for Reporting'), 'description': _('Details'), - } + } \ No newline at end of file diff --git a/core/migrations/0032_parceltype_parcel_parcel_type.py b/core/migrations/0032_parceltype_parcel_parcel_type.py new file mode 100644 index 0000000..7005078 --- /dev/null +++ b/core/migrations/0032_parceltype_parcel_parcel_type.py @@ -0,0 +1,31 @@ +# Generated by Django 5.2.7 on 2026-02-01 17:10 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0031_platformprofile_ticker_bg_color_and_more'), + ] + + operations = [ + migrations.CreateModel( + name='ParcelType', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name_en', models.CharField(max_length=100, verbose_name='Name (English)')), + ('name_ar', models.CharField(max_length=100, verbose_name='Name (Arabic)')), + ], + options={ + 'verbose_name': 'Parcel Type', + 'verbose_name_plural': 'Parcel Types', + }, + ), + migrations.AddField( + model_name='parcel', + name='parcel_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.parceltype', verbose_name='Parcel Type'), + ), + ] diff --git a/core/migrations/__pycache__/0032_parceltype_parcel_parcel_type.cpython-311.pyc b/core/migrations/__pycache__/0032_parceltype_parcel_parcel_type.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7344599fcb0d9c6248b924f56195870f9cd03085 GIT binary patch literal 1609 zcmZuxJ#5=X6h8il7AaYl|0=gp69+Nc&`2e>LARoSlh{R5+b9sbK1#N z(%3*z4;?akYlqHm3w!98u|tQ948TFSDL|)eH0&u;?~bA!!?`2hy?6KS{d|0ne~gYA zfQ_@KKf5a`0RM3zAB7=v`hYRN0tArc0ZU@5?8#llQo5?8NA5{LfhL7Lfi&Oc@!?V@&k=OAT(>iN&Q)>_O`*#1^dUp`=p5bS zcP@K$WNQr77{W7DU(JzaFsto=VEWO*!rhNy&$FYgfOLB#*m6A#Be%VS32ZsA9e4qO zwvS+!s~cb2q>a7x-5#d0i`JK^{N)2vrDeMx1+Y!99brUEJ>qt4vI}?cF4aR!T-$T^ zFfBjEq!ol1`gRx75l$iYUm=#xUS*9*v$vOg$8*DNQ`CX|1bWzaqHQw9RE8I9vNxLP zE)u)tw#~g#7St?{YOnl;5Sns!bMj5cEZaV@JyW5oh(p_Qv4=uB67+^e*Aq#yG{g!c zZg-5s)yQ`EhFPG6mS_7r%u3($s2=!`l`4)HFi{}fG7pBRUy(1F<~bCEvo*6yi%@Js zNDauqMSX@lq-6+y=-ZxvhDiwbu#d3cc5z5}%h1w&0rD#E3&P8nmhZXFB7=XKr$P1m z+cwGA;vzyBXDqYeUB~~5eGd(FY~Kl}j9RoPB4(XNi;tGp;o8Q^3N?Zr9=6|K;FLK4 zuQ!_8K^Hgst-c@ioA?QCGk2uUWpUo;TyV^`dSibt|rJrX%W9 zB`t%SjlqYXrUhlXk^)Y~O1g0Z7&+r4odJ5ChjMLDyD=EQKA5<5@If+h>(9Br*Z=wE z-*1zpjb!QjWXXxWpHcu;WlLtu zP^*#s1{?Y3A|_L#`uVvi4N(mls10sKm|9@m>*8lweSJ>uGLhj7!WJW`B1sYhTDlp7 g+3XpB+wt3;RGX2s6kH_-MpB(S;Rk1LITbPd53AO`wg3PC literal 0 HcmV?d00001 diff --git a/core/models.py b/core/models.py index baee9fb..c6156d8 100644 --- a/core/models.py +++ b/core/models.py @@ -63,6 +63,23 @@ class City(models.Model): verbose_name = _('City') verbose_name_plural = _('Cities') +class ParcelType(models.Model): + name_en = models.CharField(_('Name (English)'), max_length=100) + name_ar = models.CharField(_('Name (Arabic)'), max_length=100) + + @property + def name(self): + if get_language() == 'ar': + return self.name_ar + return self.name_en + + def __str__(self): + return self.name + + class Meta: + verbose_name = _('Parcel Type') + verbose_name_plural = _('Parcel Types') + class Profile(models.Model): ROLE_CHOICES = ( ("shipper", _("Shipper")), @@ -257,6 +274,7 @@ class Parcel(models.Model): shipper = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sent_parcels', verbose_name=_('Shipper')) carrier = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name='carried_parcels', verbose_name=_('Carrier')) + parcel_type = models.ForeignKey(ParcelType, on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_('Parcel Type')) description = models.TextField(_('Description')) weight = models.DecimalField(_('Weight (kg)'), max_digits=5, decimal_places=2, help_text=_("Weight in kg")) price = models.DecimalField(_('Total Price (OMR)'), max_digits=10, decimal_places=3, default=Decimal('0.000')) @@ -505,4 +523,4 @@ class DriverRejection(models.Model): class Meta: verbose_name = _('Driver Rejection') verbose_name_plural = _('Driver Rejections') - ordering = ['-created_at'] + ordering = ['-created_at'] \ No newline at end of file diff --git a/core/pricing.py b/core/pricing.py index cebedb5..a33fddc 100644 --- a/core/pricing.py +++ b/core/pricing.py @@ -11,7 +11,7 @@ def calculate_haversine_distance(lat1, lon1, lat2, lon2): return Decimal('0.00') # Convert decimal degrees to radians - lat1, lon1, lat2, lon2 = map(float, [lat1, lon1, lat2, lon2]) + lat1, lon1, lat2, lon2 = map(math.radians, [float(lat1), float(lon1), float(lat2), float(lon2)]) # Haversine formula dlon = lon2 - lon1 diff --git a/core/templates/core/shipment_request.html b/core/templates/core/shipment_request.html index 5ceca8c..3b94464 100644 --- a/core/templates/core/shipment_request.html +++ b/core/templates/core/shipment_request.html @@ -40,6 +40,13 @@
{% trans "Shipment Information" %}
+
+ + {{ form.parcel_type }} + {% if form.parcel_type.errors %} +
{{ form.parcel_type.errors }}
+ {% endif %} +
{{ form.description }} @@ -166,6 +173,32 @@
+ +
+
+
+
+
+ +
+
+

{% trans "Estimated Distance" %}

+

0 km

+
+
+
+
+
+

{% trans "Total Price" %}

+

0.000 OMR

+
+
+
+
+ +
+
+
{% trans "Cancel" %} @@ -372,8 +405,12 @@ const deliveryLng = document.getElementById('id_delivery_lng').value; const weight = document.getElementById('id_weight').value; + const summaryDiv = document.getElementById('pricingSummary'); + const errorDiv = document.getElementById('pricingError'); + const errorMessage = document.getElementById('pricingErrorMessage'); + if (pickupLat && pickupLng && deliveryLat && deliveryLng && weight) { - fetch('{% url "api_calculate_price" %}', { + fetch('{% url "api_pricing" %}', { method: 'POST', headers: { 'Content-Type': 'application/json', @@ -391,12 +428,26 @@ .then(data => { if (data.error) { console.error(data.error); + summaryDiv.classList.remove('d-none'); + errorDiv.classList.remove('d-none'); + errorMessage.textContent = data.error; + document.getElementById('summaryPrice').textContent = "0.000"; + document.getElementById('summaryDistance').textContent = "0"; } else { - document.getElementById('id_price').value = data.price; + // Update hidden and readonly fields + document.getElementById('id_price').value = data.price.toFixed(3); document.getElementById('id_distance_km').value = data.distance_km; document.getElementById('id_platform_fee').value = data.platform_fee; document.getElementById('id_driver_amount').value = data.driver_amount; document.getElementById('id_platform_fee_percentage').value = data.platform_fee_percentage; + + // Update visual summary + document.getElementById('summaryDistance').textContent = data.distance_km; + document.getElementById('summaryPrice').textContent = data.price.toFixed(3); + + // Show the summary, hide error + summaryDiv.classList.remove('d-none'); + errorDiv.classList.add('d-none'); } }) .catch(error => console.error('Error:', error)); @@ -411,13 +462,36 @@ } window.initMap = initMap; + + // Helper to geocode from dropdown selection + function geocodeFromDropdown(mode) { + const city = getSelectedText(`id_${mode}_city`); + const governate = getSelectedText(`id_${mode}_governate`); + const country = getSelectedText(`id_${mode}_country`); + + if (city && typeof google !== 'undefined' && google.maps && google.maps.Geocoder) { + let addressQuery = city; + if (governate) addressQuery += `, ${governate}`; + if (country) addressQuery += `, ${country}`; + + const geocoder = new google.maps.Geocoder(); + geocoder.geocode({ address: addressQuery }, (results, status) => { + if (status === "OK" && results[0]) { + const location = results[0].geometry.location; + document.getElementById(`id_${mode}_lat`).value = location.lat(); + document.getElementById(`id_${mode}_lng`).value = location.lng(); + calculatePrice(); + } + }); + } + } {% endif %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/core/urls.py b/core/urls.py index 7bd8771..6e4d483 100644 --- a/core/urls.py +++ b/core/urls.py @@ -61,6 +61,6 @@ urlpatterns = [ # API Endpoints (for Mobile App) path('api/v1/parcels/', api_views.ParcelListCreateView.as_view(), name='api_parcel_list'), path('api/v1/parcels//', api_views.ParcelDetailView.as_view(), name='api_parcel_detail'), - path('api/v1/pricing/', api_views.PriceCalculatorView.as_view(), name='api_pricing'), + path('api/v1/pricing/', api_views.PriceCalculatorView.as_view(), name='api_pricing'), path('api/v1/calculate-price/', api_views.PriceCalculatorView.as_view(), name='api_calculate_price'), path('api/v1/profile/', api_views.UserProfileView.as_view(), name='api_profile'), ]