Example #1
0
def create_report(request):
    if request.method == 'POST':

        form = ReportForm(request.POST)
        if form.is_valid():  #check rules in forms.py
            report_name = request.POST.get('report_name')  #from html
            report_obj = Report(name=report_name)  #get data into Report Model
            report_obj.user_id = request.user  #from user that login
            report_obj.save()  #save data intp database

            item_stage1_name = request.POST.getlist('stage1')
            for item in item_stage1_name:
                if item != '':
                    item_obj = Items(name=item, stage=1, report_id=report_obj)
                    item_obj.save()

            item_stage2_name = request.POST.getlist('stage2')
            for item in item_stage2_name:
                if item != '':
                    item_obj = Items(name=item, stage=2, report_id=report_obj)
                    item_obj.save()

            item_stage3_name = request.POST.getlist('stage3')
            for item in item_stage3_name:
                if item != '':
                    item_obj = Items(name=item, stage=3, report_id=report_obj)
                    item_obj.save()

            if request.POST.get("check_default", False):
                Items.objects.bulk_create([
                    Items(name="Do I know what topic I would like to write?",
                          stage=1,
                          report_id=report_obj),
                    Items(name="Do I have enough information to write?",
                          stage=1,
                          report_id=report_obj),
                    Items(name="Does the report have the title?",
                          stage=2,
                          report_id=report_obj),
                    Items(name="Does the report have the table of content?",
                          stage=2,
                          report_id=report_obj),
                    Items(name="Does the report have the content?",
                          stage=2,
                          report_id=report_obj),
                    Items(name="Does the report have the references?",
                          stage=2,
                          report_id=report_obj),
                    Items(
                        name=
                        "Do I send an email to my lecturer that I complete the report?",
                        stage=3,
                        report_id=report_obj),
                    Items(name="Do I post it on my Facebook?",
                          stage=3,
                          report_id=report_obj),
                ])

            return HttpResponseRedirect(
                reverse('report.views.create_report'))  #redirect after POST
    else:
        form = ReportForm()
    return render(request, 'create_report.html', {})
Example #2
0
def add_item(request, report_id):
    if request.method == 'POST':
        form_1 = Item1Form(request.POST)
        form_2 = Item2Form(request.POST)
        form_3 = Item3Form(request.POST)

        if form_1.is_valid():
            item_stage1 = request.POST.getlist('item_stage1_name')
            for item in item_stage1:
                if item != '':
                    report_obj = Report(pk=report_id)
                    item_obj = Items(name=item, stage=1, report_id=report_obj)
                    item_obj.save()

        elif form_2.is_valid():
            item_stage2 = request.POST.getlist('item_stage2_name')
            for item in item_stage2:
                if item != '':
                    report_obj = Report(pk=report_id)
                    item_obj = Items(name=item, stage=2, report_id=report_obj)
                    item_obj.save()

        elif form_3.is_valid():
            item_stage3 = request.POST.getlist('item_stage3_name')
            for item in item_stage3:
                if item != '':
                    report_obj = Report(pk=report_id)
                    item_obj = Items(name=item, stage=3, report_id=report_obj)
                    item_obj.save()

        return HttpResponseRedirect(
            reverse("report.views.edit_report",
                    args=(),
                    kwargs={'pk': report_id}))