Exemple #1
0
def index(request):
    # index.htmlをリクエスト
    # GETメソッド
    if request.method == 'GET':
        return render(request, 'index.html',
                      {"emp": __get__emp(),
                       "form": EmpForm})

    # POSTメソッド
    if request.method == 'POST':
        form = EmpForm(request.POST)

        if form.is_valid():
            emp_name = form.clean_data['emp_name'].strip()

            try:
                EmpData.objects.create(emp_name=emp_name)
                message = "Employee '{}' is added successfully.".format(emp_name)
            except IntegrityError:
                message = "Employee '{}' is already exists.".format(emp_name)
        else:
            message = "Please correct all the validation error below"

        # htmlへ結果をreturnする
        return render(request, "index.html",
                      {"message": message,
                       "emp": __get__emp(),
                       "form": EmpForm})

    return "Invalid Request"
Exemple #2
0
def edit_emp(request, emp_id):

    # GETリクエスト / edit.html
    if request.method == 'GET':
        try:
             emp = EmpData.objects.get(id=emp_id)
             form = EmpForm(initial={'emp_name': emp.emp_name})
             return render(request, "edit.html",
                           {"form": form})
        except EmpData.DoesNotExist:
            message = "Given employee does not exists."
            return render(request, "index.html",
                          {"message": message,
                           "emp": __get__emp(),
                           "form": EmpForm})
    # POST リクエスト
    if request.method == 'POST':
        form = EmpForm(request.POST)

        if form.is_valid():
            emp_name = form.cleaned_data['emp_name'].strip()
            empid = form.cleaned_data['emp_id'].strip()
            emp_role = form.cleaned_data['emp_role'].strip()
            # int は strip いらない
            emp_age = form.cleaned_data['emp_age']
            emp_date = form.cleaned_data['emp_date']

            # edit.html 編集画面 / データベース保存
            try:
                emp = EmpData.objects.get(id=emp_id)
                emp.emp_name = emp_name
                emp.emp_id = empid
                emp.emp_role = emp_role
                emp.emp_age = emp_age
                emp.emp_date = emp_date
                emp.save()
                message = "Employee '{}', '{}', '{}', '{}', '{}' is successfully." .format(empid,emp_name,emp_role,emp_age,emp_date)
                form = EmpForm()

            except IntegrityError:
                message = "Employee '{}', '{}', '{}', '{}', '{}' is successfully." .format(empid,emp_name,emp_role,emp_age,emp_date)

            except EmpData.DoesNotExist as e:
                message = "Given employee does not exists."

        else:
            message = "Please correct all the validation error below."
            return render(request, "edit.html",
                          {'form': form})

        # index.htmlをリクエスト
        return render(request, "index.html",
                      {"message": message,
                       "emp": __get__emp(),
                       "form": form})
    return "Invalid Request"
Exemple #3
0
def update(request):
    if request.method == 'GET':
        emp_form = EmpForm()
    else:
        try:
            emp = Employees.objects.get(
                employee_id=request.POST['employee_id'])
            # from emp.forms import EmpForm
        except ObjectDoesNotExist:
            # from django.core.exceptions import ObjectDoesNotExist
            emp_form = EmpForm(request.POST)
        else:
            emp_form = EmpForm(request.POST, instance=emp)

        if emp_form.is_valid():
            print("form is valid")
            emp_form.save()
            return redirect("/emp/list")
        else:
            print("form is not valid")

    return render(request, 'emp/details.html', {'emp': emp_form})
Exemple #4
0
def details(request, employee_id):
    emp = get_object_or_404(Employees, pk=employee_id)
    # context = {'emp': emp}
    context = {'emp': EmpForm(instance=emp)}
    return render(request, "emp/details.html", context)