Пример #1
0
def create(request):
    if request.method == 'POST':
        form = EmployeeForm(request.POST)
        if form.is_valid():
            obj = form.save(commit=False)

            # create user and set permissions
            obj.user = User.objects.create_user(
                username=form.cleaned_data['phone'],
                password=form.cleaned_data['password1'])
            obj.user.groups.add(*form.cleaned_data['roles'].all())

            # set default info of work profile
            obj.is_active = True
            obj.is_group_admin = False

            # save employee and many_to_many relationships
            obj.save()
            form.save_m2m()
            return HttpResponseRedirect(reverse('employee_list'))
    else:
        form = EmployeeForm()

    # print form.errors
    return render_to_response('employee-add.html',
                              RequestContext(request, {
                                  'form': form,
                                  }))
Пример #2
0
def emp(request):
    if request.method == "POST":
        form = EmployeeForm(request.POST)
        if form.is_valid():
            employee = form.save()
            return redirect('employee/show.html')
        else:
            print("Form unsaved")

    else:
        form = EmployeeForm()
    return render(request, 'index.html', {'form': form})
Пример #3
0
def emp(request):  
    pdb.set_trace()
    if request.method == "POST":  
        #pdb.set_trace()
        form = EmployeeForm(request.POST)  
        if form.is_valid():  
            try:  
                form.save()  
                #return True
                return redirect('/show')  
            except:  
                pass  
    else:
        #pdb.set_trace()
        form = EmployeeForm()  
    return render(request,'index.html',{'form':form})  
Пример #4
0
 def post(self, request):
     if request.method == "POST":
         form = EmployeeForm(request.POST)
         if form.is_valid():
             user = form.save()
             user.set_password(user.password)
             user.save()
         return HttpResponseRedirect('/attendence/login')
     else:
         form = EmployeeForm()
         my_dict = {'form': form}
     return render(request,
                   'employee/employee_attendence_registration.html')
def upload(request):
    if request.method == 'POST':
        form = EmployeeForm(request.POST, request.FILES)
        if form.is_valid():
            post = form.save(commit=False)
            post.save()
            return redirect('Employee_List')
        else:
            return HttpResponse('Error Saving Details.')
    else:
        form = EmployeeForm()
        context = {'form': form}
        return render(request, 'employee/upload.html', context)
Пример #6
0
def emp(request):
	if request.method=="POST":
		form = EmployeeForm(request.POST)
		if form.is_valid():

			

			form.save()
			return redirect('/show')
			

				

	else:

		form = EmployeeForm()
	return render(request,'index.html',{'form':form})
Пример #7
0
def emp(request):

    if request.method == "POST":
        form = EmployeeForm(request.POST)
        breakpoint()
        if form.is_valid:
            try:
                form.save()
                return redirect('/show')
            except:
                pass
    else:
        form = EmployeeForm()
    return render(request, 'index.html', {'form': form})
Пример #8
0
def editempdetails(request, id):
    try:
        employee = Employee.objects.get(emp_id=id)
        employee = Employee.objects.get(emp_id=id)
        myobject.projectname = employee.emp_project_id.project_name
        myobject.managername = employee.emp_manager_id.emp_first_name + " " + employee.emp_manager_id.emp_last_name
        myobject.employeetype = employee.emp_type
        myobject.employeedesignation = employee.emp_designation
        myobject.employeecountry = employee.emp_country
        myobject.employeemeritalstatus = employee.emp_marital_status
        myobject.employeehiredate = employee.emp_hire_date
        form = EmployeeForm(request.POST, instance=employee)
        return render(request, "editempdetails.html", {
            'employee': employee,
            'form': form,
            'myobject': myobject
        })
    except Exception as e:
        db_logger.exception(e)
        return redirect("/error")
Пример #9
0
def update(request, id):
    try:
        if request.method == "POST":
            employee = Employee.objects.get(emp_id=id)
            form = EmployeeForm(request.POST, instance=employee)
            print(form.is_valid())
            if form.is_valid():
                save_data = form.save(commit=False)
                save_data.user_id_id = request.session.get('id')
                save_data.save()
                message = "Data Updated Successfully"
                employees = Employee.objects.filter(
                    user_id_id=request.session.get('id'))
                return render(request, "show.html", {
                    'employees': employees,
                    'message': message
                })
            else:
                employee = Employee.objects.get(emp_id=id)

                return render(request, "editempdetails.html", {
                    'employee': employee,
                    'form': form,
                    'myobject': myobject
                })

        else:
            employee = Employee.objects.get(emp_id=id)
            form = EmployeeForm()
        return render(request, "editempdetails.html", {
            'employee': employee,
            'form': form
        })
    except Exception as e:
        db_logger.exception(e)
        return redirect("/error")
Пример #10
0
def employee_detail(request, pk=None):
    employee = Employee.objects.get(id=pk)
    user = User.objects.get(id=employee.user_id)
    if request.method == 'POST':
        # form = EmployeeForm(request.POST, request.FILES)
        employee_form = EmployeeForm(request.POST, instance=employee)
        user_form = UserForm(request.POST, instance=user)
        if user_form.is_valid() and employee_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()
            employee = employee_form.save(commit=False)
            employee.user = user
            if request.FILES:
                employee.image = request.FILES['image']
            employee.save()

            # return HttpResponseRedirect('/employee/')
            return redirect('employee_detail', pk)
        else:
            print(request.POST.get('password'))
            print(user_form.errors)
    else:
        print('not')
        user_form = UserForm(instance=user)
        employee_form = EmployeeForm(instance=employee)
    user_image = 'https://www.w3schools.com/howto/img_avatar.png'
    if employee.image:
        user_image = employee.image.url

    context = {
        "add": False,
        "employee": employee,
        "form": employee_form,
        'user_form': user_form,
        "user_image": user_image,
    }
    return render(request, "employee_detail.html", context)
Пример #11
0
def employee_add(request):
    if request.method == 'POST':
        user_form = UserForm(data=request.POST)
        employee_form = EmployeeForm(data=request.POST)
        if user_form.is_valid() and employee_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()
            employee = employee_form.save(commit=False)
            employee.user = user
            if request.FILES:
                employee.image = request.FILES['image']
            employee.save()
            return redirect('employee_index')
    else:
        user_form = UserForm()
        employee_form = EmployeeForm()
    context = {
        "add": True,
        'user_form': user_form,
        "form": employee_form,
        'user_image': 'https://www.w3schools.com/howto/img_avatar.png'
    }
    return render(request, "employee_add.html", context)
Пример #12
0
def createEmployeeView(request):
    emp_form = EmployeeForm()
    emp_form.fields['user'].queryset = User.objects.filter(
        company=request.user.company)
    jobroll_form = JobRollForm(user_v=request.user)
    payment_form = Employee_Payment_formset(queryset=Payment.objects.none())
    files_formset = Employee_Files_inline()
    depandance_formset = Employee_depandance_inline()
    for payment in payment_form:
        payment.fields[
            'payment_method'].queryset = Payment_Method.objects.filter(
                payment_type__enterprise=request.user.company).filter(
                    Q(end_date__gte=date.today()) | Q(end_date__isnull=True))
    emp_element_form = Employee_Element_Inline(
        queryset=Employee_Element.objects.none())
    for element in emp_element_form:
        element.fields['element_id'].queryset = Element_Master.objects.none()
    if request.method == 'POST':
        emp_form = EmployeeForm(request.POST, request.FILES)
        jobroll_form = JobRollForm(request.user, request.POST)
        payment_form = Employee_Payment_formset(request.POST)
        files_formset = Employee_Files_inline(request.POST, request.FILES)
        depandance_formset = Employee_depandance_inline(request.POST)

        if emp_form.is_valid() and jobroll_form.is_valid(
        ) and payment_form.is_valid() and files_formset.is_valid(
        ) and depandance_formset.is_valid():
            emp_obj = emp_form.save(commit=False)
            emp_obj.enterprise = request.user.company
            emp_obj.created_by = request.user
            emp_obj.last_update_by = request.user
            emp_obj.save()
            job_obj = jobroll_form.save(commit=False)
            job_obj.emp_id_id = emp_obj.id
            job_obj.created_by = request.user
            job_obj.last_update_by = request.user
            job_obj.save()
            payment_form = Employee_Payment_formset(request.POST,
                                                    instance=emp_obj)
            if payment_form.is_valid():
                emp_payment_obj = payment_form.save(commit=False)
                for x in emp_payment_obj:
                    x.created_by = request.user
                    x.last_update_by = request.user
                    x.save()
            else:
                user_lang = user_lang = to_locale(get_language())
                if user_lang == 'ar':
                    error_msg = '{}, لم يتم التسجيل'.format(emp_payment_obj)
                else:
                    error_msg = '{}, has somthig wrong'.format(emp_payment_obj)
                # error_msg = '{}, has somthig wrong'.format(emp_payment_obj)
                messages.success(request, success_msg)

                user_lang = to_locale(get_language())
                if user_lang == 'ar':
                    error_msg = '{}, لم يتم التسجيل'.format(element_obj)
                    success_msg = ' {},تم تسجيل الموظف'.format(
                        emp_obj.emp_name)
                else:
                    error_msg = '{}, has somthig wrong'.format(element_obj)
                    success_msg = 'Employee {}, has been created successfully'.format(
                        emp_obj.emp_name)

                    messages.success(request, success_msg)

            files_obj = files_formset.save(commit=False)
            for file_obj in files_obj:
                file_obj.created_by = request.user
                file_obj.last_update_by = request.user
                file_obj.emp_id = emp_obj
                file_obj.save()

            # add depandances
            depandances_obj = depandance_formset.save(commit=False)
            for depandance_obj in depandances_obj:
                depandance_obj.created_by = request.user
                depandance_obj.last_update_by = request.user
                depandance_obj.emp_id = emp_obj
                depandance_obj.save()

            return redirect('employee:correct-employee', pk=job_obj.id)
        else:
            if emp_form.errors:
                messages.error(request,
                               "Employee Form has the following errors")
                messages.error(request, emp_form.errors)
            elif jobroll_form.errors:
                messages.error(request,
                               "Employee Job Form has the following errors")
                messages.error(request, jobroll_form.errors)
            elif files_formset.errors:
                messages.error(request,
                               "Employee Files Form has the following errors")
                messages.error(request, files_formset.errors)
            elif payment_form.errors:
                messages.error(
                    request, "Employee Payment Form has the following errors")
                messages.error(request, payment_form.errors)
            else:
                messages.error(
                    request,
                    "Employee depandance Form has the following errors")
                messages.error(request, depandance_formset.errors)

    myContext = {
        "page_title": _("create employee"),
        "emp_form": emp_form,
        "jobroll_form": jobroll_form,
        "payment_form": payment_form,
        "files_formset": files_formset,
        "depandance_formset": depandance_formset,
        "create_employee": True,
        "flage": 0,
    }
    return render(request, 'create-employee.html', myContext)
Пример #13
0
def updateEmployeeView(request, pk):
    required_jobRoll = JobRoll.objects.get(id=pk)
    required_employee = get_object_or_404(Employee,
                                          pk=required_jobRoll.emp_id.id)
    emp_form = EmployeeForm(instance=required_employee)
    files_formset = Employee_Files_inline(instance=required_employee)
    depandance_formset = Employee_depandance_inline(instance=required_employee)
    # filter the user fk list to show the company users only.
    emp_form.fields['user'].queryset = User.objects.filter(
        company=request.user.company)
    jobroll_form = JobRollForm(user_v=request.user, instance=required_jobRoll)

    payment_form = Employee_Payment_formset(instance=required_employee)
    get_employee_salary_structure = ""
    employee_element_qs = Employee_Element.objects.filter(
        emp_id=required_employee, end_date__isnull=True)
    employee_has_structure = False
    files = Employee_File.objects.filter(emp_id=required_employee)

    try:
        employee_salary_structure = EmployeeStructureLink.objects.get(
            employee=required_employee, end_date__isnull=True)
        employee_has_structure = True
        get_employee_salary_structure = employee_salary_structure.salary_structure
    except EmployeeStructureLink.DoesNotExist:
        employee_has_structure = False

    employee_element_form = EmployeeElementForm()

    if request.method == 'POST':
        jobroll_form = JobRollForm(request.user,
                                   request.POST,
                                   instance=required_jobRoll)
        emp_form = EmployeeForm(request.POST,
                                request.FILES,
                                instance=required_employee)
        payment_form = Employee_Payment_formset(request.POST,
                                                instance=required_employee)
        files_formset = Employee_Files_inline(request.POST,
                                              request.FILES,
                                              instance=required_employee)
        depandance_formset = Employee_depandance_inline(
            request.POST, instance=required_employee)

        if EmployeeStructureLink.DoesNotExist:
            emp_link_structure_form = EmployeeStructureLinkForm(request.POST)
        else:
            emp_link_structure_form = EmployeeStructureLinkForm(
                request.POST, instance=employee_salary_structure)

        employee_element_form = EmployeeElementForm(request.POST)
        old_obj = Employee(
            emp_number=required_employee.emp_number,
            emp_name=required_employee.emp_name,
            address1=required_employee.address1,
            address2=required_employee.address2,
            phone=required_employee.phone,
            mobile=required_employee.mobile,
            date_of_birth=required_employee.date_of_birth,
            hiredate=required_employee.hiredate,
            email=required_employee.email,
            picture=required_employee.picture,
            is_active=required_employee.is_active,
            identification_type=required_employee.identification_type,
            id_number=required_employee.id_number,
            place_of_birth=required_employee.place_of_birth,
            nationality=required_employee.nationality,
            field_of_study=required_employee.field_of_study,
            education_degree=required_employee.education_degree,
            gender=required_employee.gender,
            social_status=required_employee.social_status,
            military_status=required_employee.military_status,
            religion=required_employee.religion,
            insured=required_employee.insured,
            insurance_number=required_employee.insurance_number,
            insurance_date=required_employee.insurance_date,
            insurance_salary=required_employee.insurance_salary,
            has_medical=required_employee.has_medical,
            medical_number=required_employee.medical_number,
            medical_date=required_employee.medical_date,
            emp_start_date=required_employee.emp_start_date,
            emp_end_date=date.today(),
            created_by=required_employee.created_by,
            creation_date=required_employee.creation_date,
            last_update_by=required_employee.last_update_by,
            last_update_date=required_employee.last_update_date,
            enterprise_id=required_employee.enterprise_id,
            user_id=required_employee.user_id,
            emp_type=required_employee.emp_type,
            terminationdate=required_employee.terminationdate,
        )
        old_obj.save()
        if emp_form.is_valid() and jobroll_form.is_valid(
        ) and payment_form.is_valid() and files_formset.is_valid(
        ) and depandance_formset.is_valid():
            emp_obj = emp_form.save(commit=False)
            print(emp_form)
            emp_obj.created_by = request.user
            emp_obj.last_update_by = request.user
            emp_obj.save()
            #
            job_obj = jobroll_form.save(commit=False)
            job_obj.emp_id_id = emp_obj.id
            job_obj.created_by = request.user
            job_obj.last_update_by = request.user
            job_obj.save()
            #
            payment_form = Employee_Payment_formset(request.POST,
                                                    instance=emp_obj)
            emp_payment_obj = payment_form.save(commit=False)
            for x in emp_payment_obj:
                x.created_by = request.user
                x.last_update_by = request.user
                x.save()
            #
            files_obj = files_formset.save(commit=False)
            for file_obj in files_obj:
                file_obj.created_by = request.user
                file_obj.last_update_by = request.user
                file_obj.emp_id = emp_obj
                file_obj.save()
            #
            depandances_obj = depandance_formset.save(commit=False)
            for depandance_obj in depandances_obj:
                depandance_obj.created_by = request.user
                depandance_obj.last_update_by = request.user
                depandance_obj.emp_id = emp_obj
                depandance_obj.save()
            #
            """
            emp_element_obj = employee_element_form.save(commit=False)
            emp_element_obj.emp_id = required_employee
            emp_element_obj.created_by = request.user
            emp_element_obj.last_update_by = request.user
            emp_element_obj.save()
            """
            user_lang = to_locale(get_language())

            if user_lang == 'ar':
                success_msg = ' {},تم تسجيل الموظف'.format(required_employee)
            else:
                success_msg = 'Employee {}, has been created successfully'.format(
                    required_employee)
            return redirect('employee:list-employee')

        elif not emp_form.is_valid():
            messages.error(request, emp_form.errors)
        elif not jobroll_form.is_valid():
            messages.error(request, jobroll_form.errors)
        elif not payment_form.is_valid():
            messages.error(request, payment_form.errors)
        elif not files_formset.is_valid():
            messages.error(request, files_formset.errors)
        elif not depandance_formset.is_valid():
            messages.error(request, depandance_formset.errors)

    myContext = {
        "page_title": _("update employee"),
        "emp_form": emp_form,
        "jobroll_form": jobroll_form,
        "payment_form": payment_form,
        "required_employee": required_employee,
        "employee_element_qs": employee_element_qs,
        "employee_has_structure": employee_has_structure,
        "employee_element_form": employee_element_form,
        "get_employee_salary_structure": get_employee_salary_structure,
        "emp": pk,
        "required_jobRoll": required_jobRoll,
        "flage": 1,
        "files_formset": files_formset,
        "depandance_formset": depandance_formset,
    }
    return render(request, 'create-employee.html', myContext)
Пример #14
0
def edit(request, id):
    employee = Employee.objects.get(id=id)
    form = EmployeeForm()
    context = {'form': form, 'employee': employee}
    return render(request, 'edit.html', context)
Пример #15
0
def show(request):
    employees = Employee.objects.all()
    form = EmployeeForm()
    return render(request,'empInfo.html',{'empList' : employees,'form' : form})
Пример #16
0
def persist_or_update_emp(request):
    if request.method == "POST":
        form = EmployeeForm(request.POST)
        form.save()
    return redirect('/emp')
Пример #17
0
def show(request):
    employees = Emodel.objects.all()
    form = EmployeeForm()
    return render(request, "empinfo.html", {'employees': employees,'form':form})
Пример #18
0
def correctEmployeeView(request, pk):
    required_jobRoll = JobRoll.objects.get(id=pk)
    required_employee = get_object_or_404(Employee,
                                          pk=required_jobRoll.emp_id.id)
    emp_form = EmployeeForm(instance=required_employee)
    files_formset = Employee_Files_inline(instance=required_employee)
    depandance_formset = Employee_depandance_inline(instance=required_employee)
    # filter the user fk list to show the company users only.
    emp_form.fields['user'].queryset = User.objects.filter(
        company=request.user.company)
    jobroll_form = JobRollForm(user_v=request.user, instance=required_jobRoll)

    payment_form = Employee_Payment_formset(instance=required_employee)
    get_employee_salary_structure = ""
    '''
        updateing employee element part to show the elements & values for that Employee
        (removing the formset) and adding a button to link salary structure to that employee.
        By: Ahd Hozayen
        Date: 29-12-2020
    '''
    employee_element_qs = Employee_Element.objects.filter(
        emp_id=required_employee, end_date__isnull=True)
    employee_has_structure = False
    files = Employee_File.objects.filter(emp_id=required_employee)

    try:
        employee_salary_structure = EmployeeStructureLink.objects.get(
            employee=required_employee, end_date__isnull=True)
        employee_has_structure = True
        get_employee_salary_structure = employee_salary_structure.salary_structure
        # emp_form.fields['salary_structure'].initial = employee_salary_structure.salary_structure
    except EmployeeStructureLink.DoesNotExist:
        employee_has_structure = False

    employee_element_form = EmployeeElementForm()

    if request.method == 'POST':
        jobroll_form = JobRollForm(request.user,
                                   request.POST,
                                   instance=required_jobRoll)
        emp_form = EmployeeForm(request.POST,
                                request.FILES,
                                instance=required_employee)
        payment_form = Employee_Payment_formset(request.POST,
                                                instance=required_employee)
        files_formset = Employee_Files_inline(request.POST,
                                              request.FILES,
                                              instance=required_employee)
        depandance_formset = Employee_depandance_inline(
            request.POST, instance=required_employee)

        if EmployeeStructureLink.DoesNotExist:
            emp_link_structure_form = EmployeeStructureLinkForm(request.POST)
        else:
            emp_link_structure_form = EmployeeStructureLinkForm(
                request.POST, instance=employee_salary_structure)

        employee_element_form = EmployeeElementForm(request.POST)

        if emp_form.is_valid() and jobroll_form.is_valid(
        ) and payment_form.is_valid() and files_formset.is_valid(
        ) and depandance_formset.is_valid():
            emp_obj = emp_form.save(commit=False)
            emp_obj.created_by = request.user
            emp_obj.last_update_by = request.user
            emp_obj.save()
            #
            job_obj = jobroll_form.save(commit=False)
            job_obj.emp_id_id = emp_obj.id
            job_obj.created_by = request.user
            job_obj.last_update_by = request.user
            job_obj.save()
            #
            payment_form = Employee_Payment_formset(request.POST,
                                                    instance=emp_obj)
            emp_payment_obj = payment_form.save(commit=False)
            for x in emp_payment_obj:
                x.created_by = request.user
                x.last_update_by = request.user
                x.save()
            #
            files_formset = Employee_Files_inline(request.POST,
                                                  request.FILES,
                                                  instance=emp_obj)
            if files_formset.is_valid():
                files_obj = files_formset.save(commit=False)
                for file_obj in files_obj:
                    file_obj.created_by = request.user
                    file_obj.last_update_by = request.user
                    file_obj.save()
            #
            depandances_obj = depandance_formset.save(commit=False)
            for depandance_obj in depandances_obj:
                depandance_obj.created_by = request.user
                depandance_obj.last_update_by = request.user
                depandance_obj.emp_id = emp_obj
                depandance_obj.save()
            #

            user_lang = to_locale(get_language())

            if user_lang == 'ar':
                success_msg = ' {},تم تسجيل الموظف'.format(required_employee)
            else:
                success_msg = 'Employee {}, has been created successfully'.format(
                    required_employee)
            return redirect('employee:list-employee')

        elif not emp_form.is_valid():
            messages.error(request, "Employee Form has the following errors")
            messages.error(request, emp_form.errors)
        elif not jobroll_form.is_valid():
            messages.error(request, "Job Form has the following errors")
            messages.error(request, jobroll_form.errors)
        elif not payment_form.is_valid():
            messages.error(request, "Payment Form has the following errors")
            messages.error(request, payment_form.errors)
        elif not files_formset.is_valid():
            messages.error(request, "File Form has the following errors")
            messages.error(request, files_formset.errors)
        elif not depandance_formset.is_valid():
            messages.error(request, "Depandance Form has the following errors")
            messages.error(request, depandance_formset.errors)

    myContext = {
        "page_title": _("correct employee"),
        "emp_form": emp_form,
        "jobroll_form": jobroll_form,
        "payment_form": payment_form,
        "required_employee": required_employee,
        "employee_element_qs": employee_element_qs,
        "employee_has_structure": employee_has_structure,
        "employee_element_form": employee_element_form,
        "get_employee_salary_structure": get_employee_salary_structure,
        "emp": pk,
        "required_jobRoll": required_jobRoll,
        "flage": 1,
        "files_formset": files_formset,
        "depandance_formset": depandance_formset,
    }
    return render(request, 'create-employee.html', myContext)