|
|
|
@ -6,8 +6,10 @@ from django.contrib.auth.decorators import login_required |
|
|
|
|
from django.contrib import messages |
|
|
|
|
from .models import User,Service,ServiceRequest |
|
|
|
|
from .forms import UserRegistrationForm |
|
|
|
|
from django.urls import reverse |
|
|
|
|
import logging |
|
|
|
|
import json |
|
|
|
|
from django.utils import timezone |
|
|
|
|
from django.http import JsonResponse |
|
|
|
|
from django.views.decorators.csrf import csrf_protect |
|
|
|
|
|
|
|
|
@ -105,7 +107,7 @@ def user_login(request): |
|
|
|
|
form = None # Optionally, you can replace this with your login form |
|
|
|
|
return render(request, 'main/login.html', {'form': form}) |
|
|
|
|
|
|
|
|
|
@login_required |
|
|
|
|
@login_required(login_url='login') |
|
|
|
|
def user_logout(request): |
|
|
|
|
logout(request) |
|
|
|
|
messages.success(request, 'You have been logged out.') |
|
|
|
@ -114,7 +116,7 @@ def user_logout(request): |
|
|
|
|
def services(request): |
|
|
|
|
return render(request,'main/services1.html') |
|
|
|
|
|
|
|
|
|
@login_required |
|
|
|
|
@login_required(login_url='login') |
|
|
|
|
@csrf_protect |
|
|
|
|
def hire_view(request): |
|
|
|
|
if request.method == 'POST': |
|
|
|
@ -167,14 +169,44 @@ def hire_view(request): |
|
|
|
|
messages.error(request, 'Invalid request method') |
|
|
|
|
return JsonResponse({'error': 'Invalid request method'}, status=405) |
|
|
|
|
|
|
|
|
|
@login_required(login_url='login') |
|
|
|
|
def profie_View(request,pk): |
|
|
|
|
if request.method == "GET": |
|
|
|
|
user = get_object_or_404(User,id=pk) |
|
|
|
|
pending_requests = ServiceRequest.objects.filter(service_provider=user, is_approved=False) |
|
|
|
|
current = ServiceRequest.objects.filter(service_provider=user, is_approved=True) |
|
|
|
|
current = ServiceRequest.objects.filter(service_provider=user, is_approved=True, is_completed=False) |
|
|
|
|
completed = ServiceRequest.objects.filter(service_provider=user, is_completed=True) |
|
|
|
|
context = {'user':user, |
|
|
|
|
'pending_requests':pending_requests, |
|
|
|
|
'completed_orders' : completed |
|
|
|
|
'completed_orders' : completed, |
|
|
|
|
'current':current, |
|
|
|
|
} |
|
|
|
|
return render(request,'main/profile.html', context) |
|
|
|
|
|
|
|
|
|
login_required(login_url='login') |
|
|
|
|
def approve(request, pk): |
|
|
|
|
try: |
|
|
|
|
instance = ServiceRequest.objects.get(id=pk) |
|
|
|
|
except ServiceRequest.DoesNotExist: |
|
|
|
|
return redirect('error_page') |
|
|
|
|
instance.is_approved = True |
|
|
|
|
instance.agreed_on = timezone.now() |
|
|
|
|
instance.save() |
|
|
|
|
profile_url = reverse('profiles', kwargs={'pk': request.user.id}) |
|
|
|
|
return redirect(profile_url) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def complete(request, pk): |
|
|
|
|
print(pk) |
|
|
|
|
try: |
|
|
|
|
instance = ServiceRequest.objects.get(id=pk) |
|
|
|
|
except ServiceRequest.DoesNotExist: |
|
|
|
|
return redirect('error_page') |
|
|
|
|
instance.completed_date = timezone.now() |
|
|
|
|
instance.is_completed = True |
|
|
|
|
instance.save() |
|
|
|
|
print(instance.is_completed) |
|
|
|
|
profile_url = reverse('profiles', kwargs={'pk': request.user.id}) |
|
|
|
|
print(profile_url) |
|
|
|
|
return redirect(profile_url) |
|
|
|
|
|
|
|
|
|