def _view_sector_manager_assistant_homepage(request, roles, responsibilities): primary_role = roles[0] primary_sector = responsibilities[0].sectors.all()[0] primary_master_plans = [ smp.master_plan for smp in SectorMasterPlan.objects.filter( sector=responsibilities[0].sectors.all()[0]) ] responsible_programs = responsibilities[0].programs.all() # Report for program in responsible_programs: program.approving_submissions = ReportSubmission.objects.filter( program=program, report__need_checkup=True, state=SUBMITTED_ACTIVITY) (late_report_count, rejected_report_count ) = report_functions.get_program_warning_report_count(program) program.late_report_count = late_report_count program.rejected_report_count = rejected_report_count return render_response( request, 'page_user/user_sector_assistant_dashboard.html', { 'responsibilities': responsibilities, 'roles': roles, 'primary_role': primary_role, 'primary_sector': primary_sector, 'primary_master_plans': primary_master_plans, 'responsible_programs': responsible_programs })
def view_user_responsibility(request): if not permission.has_roles(request.user, 'sector_manager_assistant,sector_specialist'): raise Http404 responsibility = UserRoleResponsibility.objects.filter(user=request.user.get_profile())[0] primary_role = request.user.groups.all()[0] primary_sector = responsibility.sectors.all()[0] if request.method == 'POST': programs = request.POST.getlist('program') responsibility.programs.clear() for program_id in programs: program = Program.objects.get(pk=program_id) responsibility.programs.add(program) return redirect('view_user_homepage') else: master_plans = [sector_master_plan.master_plan for sector_master_plan in SectorMasterPlan.objects.filter(sector=primary_sector).order_by('master_plan__ref_no')] for master_plan in master_plans: plans = Plan.objects.filter(master_plan=master_plan) for plan in plans: programs = Program.objects.filter(plan=plan) for program in programs: program.responsible = _responsible_this_program(program, responsibility.programs.all()) plan.programs = programs master_plan.plans = plans return render_response(request, "page_user/user_sector_assistant_responsibility.html", {'primary_role':primary_role, 'master_plans':master_plans})
def view_first_time_login(request): if request.user.is_authenticated(): if request.user.is_superuser or ( not request.user.is_superuser and not request.user.get_profile().random_password): return redirect('/') if request.method == 'POST': form = ChangeFirstTimePasswordForm(request.POST) if form.is_valid(): password1 = form.cleaned_data['password1'] password2 = form.cleaned_data['password2'] user = request.user user.set_password(password1) user.save() user_account = user.get_profile() user_account.random_password = '' user_account.save() next = request.POST.get('next') if not next: next = '/' return redirect(next) else: form = ChangeFirstTimePasswordForm() next = request.GET.get('next', '') return render_response(request, "registration/first_time_login.html", { 'form': form, 'next': next })
def view_first_time_login(request): if request.user.is_authenticated(): if request.user.is_superuser or (not request.user.is_superuser and not request.user.get_profile().random_password): return redirect('/') if request.method == 'POST': form = ChangeFirstTimePasswordForm(request.POST) if form.is_valid(): password1 = form.cleaned_data['password1'] password2 =form.cleaned_data['password2'] user = request.user user.set_password(password1) user.save() user_account = user.get_profile() user_account.random_password = '' user_account.save() next = request.POST.get('next') if not next: next = '/' return redirect(next) else: form = ChangeFirstTimePasswordForm() next = request.GET.get('next', '') return render_response(request, "registration/first_time_login.html", {'form':form, 'next':next})
def view_user_settings(request): if request.method == 'POST': if 'profile_button' in request.POST and request.POST.get('profile_button'): form_profile = ChangeUserProfileForm(request.POST) if form_profile.is_valid(): firstname = form_profile.cleaned_data['firstname'] lastname =form_profile.cleaned_data['lastname'] user_account = request.user.get_profile() user_account.firstname = firstname user_account.lastname = lastname user_account.save() messages.success(request, 'แก้ไขข้อมูลผู้ใช้เรียบร้อย') return redirect('view_user_settings') if 'password_button' in request.POST and request.POST.get('password_button'): form_password = ChangeUserPasswordForm(request.POST) if form_password.is_valid(): password1 = form_password.cleaned_data['password1'] password2 =form_password.cleaned_data['password2'] user = request.user user.set_password(password1) user.save() messages.success(request, 'เปลี่ยนรหัสผ่านเรียบร้อย') return redirect('view_user_settings') else: form_profile = ChangeUserProfileForm(initial={'firstname':request.user.get_profile().firstname, 'lastname':request.user.get_profile().lastname}) form_password = ChangeUserPasswordForm() return render_response(request, "page_user/user_settings.html", {'form_profile':form_profile, 'form_password':form_password,})
def view_user_inbox(request): (object_comments, unread_count) = comment_functions.get_user_unread_comments( request.user.get_profile()) return render_response(request, "page_user/user_inbox.html", { 'object_comments': object_comments, 'unread_count': unread_count })
def view_user_workspace(request, workspace_id): workspace = get_object_or_404(Workspace, pk=workspace_id) layers = WorkspaceLayer.objects.filter(workspace=workspace).order_by("ordering") from helper.constants import SPATIAL_TYPE_STRING for layer in layers: layer.spatial_type = SPATIAL_TYPE_STRING[layer.table.spatial_type] return render_response(request, "workspace/workspace_view.html", {"workspace": workspace, "layers": layers})
def view_user_settings(request): if request.method == 'POST': if 'profile_button' in request.POST and request.POST.get( 'profile_button'): form_profile = ChangeUserProfileForm(request.POST) if form_profile.is_valid(): firstname = form_profile.cleaned_data['firstname'] lastname = form_profile.cleaned_data['lastname'] user_account = request.user.get_profile() user_account.firstname = firstname user_account.lastname = lastname user_account.save() messages.success(request, 'แก้ไขข้อมูลผู้ใช้เรียบร้อย') return redirect('view_user_settings') else: form_profile = ChangeUserProfileForm( initial={ 'firstname': request.user.get_profile().firstname, 'lastname': request.user.get_profile().lastname }) if 'password_button' in request.POST and request.POST.get( 'password_button'): form_password = ChangeUserPasswordForm(request.POST) if form_password.is_valid(): password1 = form_password.cleaned_data['password1'] password2 = form_password.cleaned_data['password2'] user = request.user user.set_password(password1) user.save() messages.success(request, 'เปลี่ยนรหัสผ่านเรียบร้อย') return redirect('view_user_settings') else: form_password = ChangeUserPasswordForm() else: form_profile = ChangeUserProfileForm( initial={ 'firstname': request.user.get_profile().firstname, 'lastname': request.user.get_profile().lastname }) form_password = ChangeUserPasswordForm() return render_response(request, "page_user/user_settings.html", { 'form_profile': form_profile, 'form_password': form_password, })
def _view_sector_manager_assistant_homepage(request, roles, responsibilities): primary_role = roles[0] primary_sector = responsibilities[0].sectors.all()[0] primary_master_plans = [smp.master_plan for smp in SectorMasterPlan.objects.filter(sector=responsibilities[0].sectors.all()[0])] responsible_programs = responsibilities[0].programs.all() # Report for program in responsible_programs: program.approving_submissions = ReportSubmission.objects.filter(program=program, report__need_checkup=True, state=SUBMITTED_ACTIVITY) (late_report_count, rejected_report_count) = report_functions.get_program_warning_report_count(program) program.late_report_count = late_report_count program.rejected_report_count = rejected_report_count return render_response(request, 'page_user/user_sector_assistant_dashboard.html', {'responsibilities':responsibilities, 'roles':roles, 'primary_role':primary_role, 'primary_sector':primary_sector, 'primary_master_plans':primary_master_plans, 'responsible_programs':responsible_programs})
def view_user_responsibility(request): if not permission.has_roles(request.user, 'sector_manager_assistant,sector_specialist'): raise Http404 responsibility = UserRoleResponsibility.objects.filter( user=request.user.get_profile())[0] primary_role = request.user.groups.all()[0] primary_sector = responsibility.sectors.all()[0] if request.method == 'POST': programs = request.POST.getlist('program') responsibility.programs.clear() for program_id in programs: program = Program.objects.get(pk=program_id) responsibility.programs.add(program) return redirect('view_user_homepage') else: master_plans = [ sector_master_plan.master_plan for sector_master_plan in SectorMasterPlan.objects.filter( sector=primary_sector).order_by('master_plan__ref_no') ] for master_plan in master_plans: plans = Plan.objects.filter(master_plan=master_plan) for plan in plans: programs = Program.objects.filter(plan=plan) for program in programs: program.responsible = _responsible_this_program( program, responsibility.programs.all()) plan.programs = programs master_plan.plans = plans return render_response( request, "page_user/user_sector_assistant_responsibility.html", { 'primary_role': primary_role, 'master_plans': master_plans })
def view_user_project_tables(request, project_id): project = get_object_or_404(Project, pk=project_id) tables = TableDescriptor.objects.filter(project=project) return render_response(request, 'project/project_tables.html', {'project':project, 'tables':tables})
def view_organization(request): master_plans = MasterPlan.objects.all().order_by('ref_no') sectors = Sector.objects.all().order_by('ref_no') return render_response(request, 'organization.html', {'sectors':sectors, 'master_plans':master_plans})
def view_homepage(request): if request.user.is_authenticated(): return redirect(settings.LOGIN_REDIRECT_URL) return render_response(request, 'homepage.html', {})
def view_user_inbox(request): (object_comments, unread_count) = comment_functions.get_user_unread_comments(request.user.get_profile()) return render_response(request, "page_user/user_inbox.html", {'object_comments':object_comments, 'unread_count':unread_count})
def view_activity_progress(request, activity_id): activity = get_object_or_404(Activity, pk=activity_id) if request.method == 'POST': activity_progress = request.POST['activity_progress'] if activity_progress == 'COMPLETED': progress = 100 elif activity_progress == 'ON_PROGRESS': progress = request.POST['activity_progress_on_progress_percentage'] if not progress.isdigit(): progress = 0 else: progress = 0 current_situation = request.POST['activity_progress_current_situation'] summary = request.POST['activity_progress_summary'] detail = request.POST['activity_progress_detail'] try: activity_progress = ActivityProgress.objects.get(activity=activity) activity_progress.progress = progress activity_progress.current_situation = current_situation activity_progress.summary = summary activity_progress.detail = detail activity_progress.save() except ObjectDoesNotExist: activity_progress = ActivityProgress(activity=activity, progress=progress, current_situation=current_situation, summary=summary, detail=detail) activity_progress.save() if request.FILES: document_name = request.FILES['activity_progress_file_attachment'] activity_doc = ActivityDocument(activity=activity, document_name=document_name, created_by=request.user.get_profile()) activity_doc.save() messages.success(request, 'The activity progress has been saved.') activity_docs = ActivityDocument.objects.filter(activity=activity) form = {'progress_percentage': activity_progress.progress, 'current_situation': activity_progress.current_situation, 'summary': activity_progress.summary, 'detail': activity_progress.detail, 'docs': activity_docs} else: try: activity_docs = ActivityDocument.objects.filter(activity=activity) activity_progress = ActivityProgress.objects.get(activity=activity) form = {'progress_percentage': activity_progress.progress, 'current_situation': activity_progress.current_situation, 'summary': activity_progress.summary, 'detail': activity_progress.detail, 'docs': activity_docs} except ObjectDoesNotExist: form = {'progress_percentage': 0} ctx = {'activity': activity, 'form': form} return render_response(request, 'page_program/activity_progress.html', ctx)
def _view_director_dashboard(request): return render_response(request, "page_dashboard/director_dashboard.html", {})
def _view_general_homepage(request, roles, responsibilities): return render_response(request, 'page_user/user_dashboard.html', {'responsibilities':responsibilities, 'roles':roles})
def _view_sector_manager_assistant_homepage(request): return render_response(request, "page_dashboard/sector_assistant_dashboard.html", {})
def view_user_workspaces(request): workspaces = Workspace.objects.filter(created_by=request.user.get_profile()) return render_response(request, "workspace/workspaces.html", {"workspaces": workspaces})
def _view_program_manager_homepage(request): return render_response(request, "page_dashboard/program_manager_dashboard.html", {})
def view_user_projects(request): projects = Project.objects.filter(created_by=request.user) return render_response(request, 'project/projects.html', {'projects':projects})
def _view_general_homepage(request, roles, responsibilities): return render_response(request, 'page_user/user_dashboard.html', { 'responsibilities': responsibilities, 'roles': roles })