def staff_edit_staff_member_view(request, pk): if request.method == 'GET': obj = StaffObject(request.user) context = { 'user': obj.get_user(), 'profile': obj.get_user_profile(), 'counts': obj.get_counts(), 'edit_user': obj.get_user(pk), 'edit_profile': obj.get_user_profile(), 'messages': [ get_status_message(get_message_info(request), obj.language), { 'message': obj.get_error_message(), 'code': 'danger' } ], } return render(request, 'home/shared_templates/staff_edit_staff_member.html', context) raise Http404
def staff_new_project_view(request): if request.method == 'GET': obj = StaffObject(request.user) context = { 'user': obj.get_user(), 'profile': obj.get_user_profile(), 'counts': obj.get_counts(), 'clients': obj.get_clients(), 'staff': obj.get_staff_members(), 'messages': [ get_status_message(get_message_info(request), obj.language), { 'message': obj.get_error_message(), 'code': 'danger' } ], 'dictionary': get_language_dictionary(obj.language), } return render(request, 'project/staff_new_project.html', context) raise Http404
def staff_edit_event_view(request, pk): if request.method == 'GET': t = request.GET.get('type', '') obj = StaffObject(request.user) context = { 'user': obj.get_user(), 'profile': obj.get_user_profile(), 'counts': obj.get_counts(), 'type': t, 'event': obj.get_event(pk, t.lower() if t else ''), 'messages': [ get_status_message(get_message_info(request), obj.language), { 'message': obj.get_error_message(), 'code': 'danger' } ] } return render(request, 'home/shared_templates/staff_edit_event.html', context) raise Http404
def staff_index_view(request): if request.method == 'GET': page = request.GET.get('page', 1) obj = StaffObject(request.user) context = { 'user': obj.get_user(), 'profile': obj.get_user_profile(), 'counts': obj.get_counts(), 'projects': Pagination(obj.get_active_projects(), 10).get_page(page), 'messages': [ get_status_message(get_message_info(request), obj.language), { 'message': obj.get_error_message(), 'code': 'danger' } ], 'dictionary': get_language_dictionary(obj.language), } return render(request, 'project/staff_index.html', context) raise Http404
def staff_change_message_client(request, pk): if request.method == 'GET': obj = StaffObject(request.user) try: with transaction.atomic(): if obj.change_message_client(pk, request.POST.copy()): return JsonResponse(SUCCESS_DICT) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e) }, status=200) raise Http404
def staff_clear_consult_required_action(request, pk): if request.method == 'GET': obj = StaffObject(request.user) try: with transaction.atomic(): if obj.clear_consult_required_action(pk): return JsonResponse(SUCCESS_DICT, status=200) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e) }, status=200) raise Http404
def staff_delete_project_timeline_section(request, pk): if request.method == 'GET': obj = StaffObject(request.user) try: with transaction.atomic(): if obj.delete_project_timeline_section(pk): return JsonResponse(SUCCESS_DICT, status=200) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e), }, status=200) raise Http404
def staff_remove_project_bill_reported(request, pk): if request.method == 'GET': obj = StaffObject(request.user) try: with transaction.atomic(): if obj.remove_project_bill_reported(pk): return JsonResponse(SUCCESS_DICT) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e) }, status=200) raise Http404
def staff_new_email(request): if request.method == 'POST': obj = StaffObject(request.user) email = EmailUtil(obj.get_user(), obj.get_user_profile()) language = request.POST.get('language', 'en') try: with transaction.atomic(): if email.send_email( request, 'home/email_templates/standard_message_french.html' if language == 'fr' else 'home/email_templates/standard_message.html'): return JsonResponse(SUCCESS_DICT, status=200) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + ('\n' if obj.get_error_message() else '') + email.get_error_message() + ('\n' if email.get_error_message() else '') + str(e), }, status=200) raise Http404
def staff_upload_project_receipt_file(request, pk): if request.method == 'POST': obj = StaffObject(request.user) rq = RequestUtil() try: with transaction.atomic(): if obj.upload_project_receipt_file( pk, rq.get_receipt_file_info(request), request.FILES): return JsonResponse(SUCCESS_DICT) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e) }, status=200) raise Http404
def staff_add_project_bill_confirmation(request, pk): if request.method == 'POST': obj = StaffObject(request.user) try: with transaction.atomic(): if obj.add_project_bill_confirmation_id( pk, request.POST.copy()): return JsonResponse(SUCCESS_DICT) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e) }, status=200) raise Http404
def staff_new_project_chat_message(request, pk): if request.method == 'POST': obj = StaffObject(request.user) try: with transaction.atomic(): if obj.new_project_chat_message(pk, request.POST.copy()): return JsonResponse(SUCCESS_DICT, status=200) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e), 'errors': obj.get_form_errors() }, status=200) raise Http404
def staff_new_staff_member(request): if request.method == 'POST': obj = StaffObject(request.user) rq = RequestUtil() try: with transaction.atomic(): if obj.new_staff_member(rq.get_staff_profile_info(request)): return JsonResponse(SUCCESS_DICT, status=200) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e), 'errors': obj.get_form_errors() }, status=200) raise Http404
def staff_new_hosting_access_key(request, pk): if request.method == 'POST': obj = StaffObject(request.user) rq = RequestUtil() try: with transaction.atomic(): if obj.new_hosting_access_key(pk, rq.get_access_key_info(request), request.FILES): return JsonResponse(SUCCESS_DICT, status=200) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e), }, status=200) raise Http404
def staff_change_password(request): if request.method == 'POST': obj = StaffObject(request.user) try: with transaction.atomic(): if obj.change_password(request.POST.copy()): login(request, obj.get_user()) return JsonResponse(SUCCESS_DICT, status=200) else: raise IntegrityError except IntegrityError as e: return JsonResponse( { 'status': 'error', 'error': obj.get_error_message() + '\n' + str(e), 'errors': obj.get_form_errors() }, status=200) raise Http404
def staff_hosting_view(request, pk): if request.method == 'GET': tab = request.GET.get('tab', '') pages = get_page_numbers(request) obj = StaffObject(request.user) context = { 'user': obj.get_user(), 'profile': obj.get_user_profile(), 'counts': obj.get_counts(), 'hosting': obj.get_hosting(pk), 'access_key': obj.get_hosting_access_key(), 'events': Pagination(obj.get_hosting_events(), 5).get_page(pages['event_page']), 'bills': Pagination(obj.get_hosting_bills(), 5).get_page(pages['bill_page']), 'chat': obj.get_hosting_chat(), 'messages': [ get_status_message(get_message_info(request), obj.language), { 'message': obj.get_error_message(), 'code': 'danger' } ], 'dictionary': get_language_dictionary(obj.language), 'tab': tab, } return render(request, 'hosting/staff_hosting.html', context) raise Http404
def staff_project_view(request, pk): if request.method == 'GET': tab = request.GET.get('tab', '') pages = get_page_numbers(request) obj = StaffObject(request.user) context = { 'user': obj.get_user(), 'profile': obj.get_user_profile(), 'counts': obj.get_counts(), 'staff': obj.get_staff_members(), 'project': obj.get_project(pk), 'timeline': obj.get_project_timeline(), 'timeline_sections': Pagination(obj.get_project_timeline_sections(), 5).get_page(pages['section_page']), 'timeline_items': Pagination(obj.get_project_timeline_items(), 5).get_page(pages['item_page']), 'required_actions': Pagination(obj.get_project_required_actions(), 5).get_page(pages['action_page']), 'hosting': Pagination(obj.get_project_hosting(), 5).get_page(pages['hosting_page']), 'bills': Pagination(obj.get_project_bills(), 5).get_page(pages['bill_page']), 'files': Pagination(obj.get_project_files(), 5).get_page(pages['file_page']), 'chat': obj.get_project_chat(), 'messages': [ get_status_message(get_message_info(request), obj.language), { 'message': obj.get_error_message(), 'code': 'danger' } ], 'dictionary': get_language_dictionary(obj.language), 'tab': tab, } return render(request, 'project/staff_project.html', context) raise Http404
def staff_index_view(request): if request.method == 'GET': pages = get_page_numbers(request) obj = StaffObject(request.user) context = { 'user': obj.get_user(), 'profile': obj.get_user_profile(), 'counts': obj.get_counts(), 'projects': Pagination(obj.get_notified_projects(), 10).get_page(pages['project_page']), 'hosting': Pagination(obj.get_notified_hosting(), 10).get_page(pages['hosting_page']), 'consults': Pagination(obj.get_notified_consults(), 10).get_page(pages['consult_page']), 'contact_messages': Pagination(obj.get_new_messages(), 10).get_page(pages['message_page']), 'bills': obj.get_reported_bills(), 'requests': Pagination(obj.get_consult_requests(), 10).get_page(pages['request_page']), 'messages': [ get_status_message(get_message_info(request), obj.language), { 'message': obj.get_error_message(), 'code': 'danger' } ], 'dictionary': get_language_dictionary(obj.language), } return render(request, 'home/staff_index.html', context) raise Http404
def staff_client_view(request, pk): if request.method == 'GET': tab = request.GET.get('tab', '') pages = get_page_numbers(request) obj = StaffObject(request.user) client = obj.get_client(pk) bills = obj.get_client_bills() if obj.get_client(pk): context = { 'user': obj.get_user(), 'profile': obj.get_user_profile(), 'counts': obj.get_counts(), 'client': client, 'projects': Pagination(obj.get_client_projects(), 5).get_page(pages['project_page']), 'consults': Pagination(obj.get_client_consults(), 5).get_page(pages['consult_page']), 'hosting': Pagination(obj.get_client_hosting(), 5).get_page(pages['hosting_page']), 'bills': { 'project': Pagination(bills['project'], 10).get_page(['project_bill_page']), 'consult': Pagination(bills['consult'], 10).get_page(['consult_bill_page']), 'hosting': Pagination(bills['hosting'], 10).get_page(['hosting_bill_page']), }, 'users': Pagination(obj.get_client_users(), 5).get_page(pages['user_page']), 'messages': [ get_status_message(get_message_info(request), obj.language), { 'message': obj.get_error_message(), 'code': 'danger' } ], 'dictionary': get_language_dictionary(obj.language), 'tab': tab, } return render(request, 'home/staff_client.html', context) else: return render(request, 'home/staff_client.html') raise Http404