コード例 #1
0
def dateid(datetime):
    return utilities.format_dateid(datetime)
コード例 #2
0
def dateid(datetime):
    return utilities.format_dateid(datetime)
コード例 #3
0
ファイル: views.py プロジェクト: panuta/thaihealthsms_report
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})
コード例 #4
0
ファイル: views.py プロジェクト: panuta/thaihealthsms_report
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
コード例 #5
0
ファイル: views.py プロジェクト: panuta/thaihealthsms_report
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
コード例 #6
0
ファイル: views.py プロジェクト: panuta/thaihealthsms_report
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