final 1
This commit is contained in:
parent
c79ace1553
commit
d0b49e0c8a
Binary file not shown.
@ -299,7 +299,7 @@ def pos(request):
|
||||
|
||||
products = Product.objects.filter(is_active=True).select_related('category')
|
||||
categories = Category.objects.all()
|
||||
customers = Customer.objects.filter(is_active=True)
|
||||
customers = Customer.objects.all()
|
||||
payment_methods = PaymentMethod.objects.filter(is_active=True)
|
||||
settings = SystemSetting.objects.first()
|
||||
|
||||
@ -373,7 +373,7 @@ def invoice_detail(request, pk):
|
||||
|
||||
@login_required
|
||||
def invoice_create(request):
|
||||
customers = Customer.objects.filter(is_active=True)
|
||||
customers = Customer.objects.all()
|
||||
products = Product.objects.filter(is_active=True).select_related('category')
|
||||
payment_methods = PaymentMethod.objects.filter(is_active=True)
|
||||
site_settings = SystemSetting.objects.first()
|
||||
@ -551,7 +551,55 @@ def delete_sale(request, pk): return redirect('invoices')
|
||||
@login_required
|
||||
def supplier_payments(request): return redirect('purchases')
|
||||
@login_required
|
||||
def settings_view(request): return render(request, 'core/settings.html')
|
||||
def settings_view(request):
|
||||
settings, created = SystemSetting.objects.get_or_create(id=1)
|
||||
|
||||
if request.method == 'POST':
|
||||
# Business Profile
|
||||
settings.business_name = request.POST.get('business_name', '')
|
||||
settings.email = request.POST.get('email', '')
|
||||
settings.phone = request.POST.get('phone', '')
|
||||
settings.vat_number = request.POST.get('vat_number', '')
|
||||
settings.registration_number = request.POST.get('registration_number', '')
|
||||
settings.address = request.POST.get('address', '')
|
||||
|
||||
# Financial
|
||||
settings.currency_symbol = request.POST.get('currency_symbol', 'OMR')
|
||||
settings.tax_rate = request.POST.get('tax_rate', 0)
|
||||
settings.decimal_places = request.POST.get('decimal_places', 3)
|
||||
settings.allow_zero_stock_sales = request.POST.get('allow_zero_stock_sales') == 'on'
|
||||
|
||||
# Loyalty
|
||||
settings.loyalty_enabled = request.POST.get('loyalty_enabled') == 'on'
|
||||
settings.min_points_to_redeem = request.POST.get('min_points_to_redeem', 100)
|
||||
settings.points_per_currency = request.POST.get('points_per_currency', 1.0)
|
||||
settings.currency_per_point = request.POST.get('currency_per_point', 0.010)
|
||||
|
||||
# WhatsApp (Wablas)
|
||||
settings.wablas_enabled = request.POST.get('wablas_enabled') == 'on'
|
||||
settings.wablas_server_url = request.POST.get('wablas_server_url', '')
|
||||
settings.wablas_token = request.POST.get('wablas_token', '')
|
||||
settings.wablas_secret_key = request.POST.get('wablas_secret_key', '')
|
||||
|
||||
# Logo Upload
|
||||
if 'logo' in request.FILES:
|
||||
settings.logo = request.FILES['logo']
|
||||
|
||||
settings.save()
|
||||
messages.success(request, _('System settings updated successfully.'))
|
||||
return redirect('settings')
|
||||
|
||||
payment_methods = PaymentMethod.objects.all()
|
||||
devices = Device.objects.all()
|
||||
loyalty_tiers = LoyaltyTier.objects.all()
|
||||
|
||||
return render(request, 'core/settings.html', {
|
||||
'settings': settings,
|
||||
'payment_methods': payment_methods,
|
||||
'devices': devices,
|
||||
'loyalty_tiers': loyalty_tiers,
|
||||
})
|
||||
|
||||
@login_required
|
||||
def profile_view(request): return render(request, 'core/profile.html')
|
||||
@login_required
|
||||
@ -591,7 +639,7 @@ def create_sale_api(request):
|
||||
sale = Sale(
|
||||
customer=customer,
|
||||
created_by=request.user,
|
||||
payment_status='pending',
|
||||
status='unpaid',
|
||||
discount=discount,
|
||||
notes=notes,
|
||||
invoice_number=invoice_number
|
||||
@ -633,11 +681,11 @@ def create_sale_api(request):
|
||||
sale.total_amount = subtotal + vat_amount - discount
|
||||
|
||||
if payment_type == 'credit':
|
||||
sale.payment_status = 'unpaid'
|
||||
sale.status = 'unpaid'
|
||||
elif paid_amount >= sale.total_amount:
|
||||
sale.payment_status = 'paid'
|
||||
sale.status = 'paid'
|
||||
else:
|
||||
sale.payment_status = 'partial'
|
||||
sale.status = 'partial'
|
||||
|
||||
sale.save()
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user