def dateid(datetime): return utilities.format_dateid(datetime)
def dateid(datetime): return utilities.format_dateid(datetime)
def delete_report_attachment(request, uid): attachment = get_object_or_404(ReportSubmissionAttachment, uid=uid) submission = attachment.submission report = submission.report project = submission.project if not request.user.get_profile().is_manage_project(attachment.submission.project): raise Http403 if request.method == 'POST': if 'submit-delete' in request.POST: attachment.attachment.delete() attachment.delete() messages.success(request, u'ลบไฟล์แนบเรียบร้อย') return redirect('view_report', project_ref_no=submission.project.ref_no, report_id=report.id, schedule_date=format_dateid(submission.schedule_date)) return render(request, 'report/report_delete_attachment.html', {'attachment':attachment, 'submission':submission, 'report':report, 'project':project})
def submit_project_report_attachment(request, project_ref_no, report_id, schedule_date): if request.method == 'POST': project = get_object_or_404(Project, ref_no=project_ref_no) report = get_object_or_404(Report, pk=report_id) schedule_date = convert_dateid_to_date(schedule_date) if not request.user.get_profile().is_manage_project(project): raise Http403 if not report.is_valid_schedule(schedule_date): raise Http404 try: submission = ReportSubmission.objects.get(project=project, report=report, schedule_date=schedule_date) except ReportSubmission.DoesNotExist: submission = ReportSubmission(project=project, report=report, schedule_date=schedule_date) form = SubmitReportAttachmentForm(request.POST, request.FILES) if form.is_valid(): file_attachment = form.cleaned_data['report_attachment'] if not submission.id: submission.created_by = request.user submission.save() (file_name, file_ext) = split_filename(file_attachment.name) attachment = ReportSubmissionAttachment.objects.create(submission=submission, file_name=file_name, file_ext=file_ext, attachment=file_attachment, uploaded_by=request.user) messages.success(request, u'เพิ่มไฟล์แนบเรียบร้อย') else: return render(request, 'report/report_overview.html', {'project':project, 'report':report, 'submission':submission, 'attachment_form':form}) return redirect('view_report', project_ref_no=project_ref_no, report_id=report_id, schedule_date=format_dateid(schedule_date)) else: raise Http404
def submit_project_report_text(request, project_ref_no, report_id, schedule_date): if request.method == 'POST': project = get_object_or_404(Project, ref_no=project_ref_no) report = get_object_or_404(Report, pk=report_id) schedule_date = convert_dateid_to_date(schedule_date) if not request.user.get_profile().is_manage_project(project): raise Http403 if not report.is_valid_schedule(schedule_date): raise Http404 form = SubmitReportTextForm(request.POST) if form.is_valid(): text = form.cleaned_data['report_text'] try: submission = ReportSubmission.objects.get(project=project, report=report, schedule_date=schedule_date) submission.report_text = text submission.save() except ReportSubmission.DoesNotExist: submission = ReportSubmission.objects.create(project=project, report=report, schedule_date=schedule_date, report_text=text, created_by=request.user) messages.success(request, u'แก้ไขเนื้อหารายงานเรียบร้อย') else: messages.error(request, u'เนื้อหารายงานไม่อยู่ในรูปแบบที่ถูกต้อง') return redirect('view_report', project_ref_no=project_ref_no, report_id=report_id, schedule_date=format_dateid(schedule_date)) else: raise Http404
def submit_project_report(request, project_ref_no, report_id, schedule_date): if request.method == 'POST': project = get_object_or_404(Project, ref_no=project_ref_no) report = get_object_or_404(Report, pk=report_id) schedule_date = convert_dateid_to_date(schedule_date) if not request.user.get_profile().is_manage_project(project): raise Http403 if not report.is_valid_schedule(schedule_date): raise Http404 try: submission = ReportSubmission.objects.get(project=project, report=report, schedule_date=schedule_date) submission.submitted_on = datetime.datetime.now() submission.save() messages.success(request, u'ส่งรายงานเรียบร้อย') except ReportSubmission.DoesNotExist: messages.error(request, u'รายงานยังไม่มีเนื้อหา ไม่สามารถส่งได้') return redirect('view_report', project_ref_no=project_ref_no, report_id=report_id, schedule_date=format_dateid(schedule_date)) else: raise Http404