def create_employee(request): """Create Employee""" username = request.POST['username'] password = request.POST['password'] confirm_password = request.POST['confirm_password'] first_name = request.POST['first_name'] last_name = request.POST['last_name'] # TODO: Add password verification u = User.objects.create_user(username=username, password=password, email=username, first_name=first_name, last_name=last_name) # Add the user ot the Employee group groupid, group = Group.objects.get_or_create(name="Employee") u.groups.add(groupid) # Create the Employee e = Employee(user=u) e.save() user = auth.authenticate(username=username, password=password) if user is not None: if user.is_active: auth.login(request, user) return HttpResponseRedirect(reverse('employee:home')) return HttpResponseRedirect(reverse('employee:home'))
def import_csv_data(request): """ Import csv data and save it to database """ csv.register_dialect('myDialect', quoting=csv.QUOTE_ALL, skipinitialspace=True) csv_file = request.POST['csv_file'] # read the line to edit with open(csv_file, 'r') as readFile: reader = csv.reader(readFile) lines = list(reader) size = len(lines) records_added = 0 # to exclude the headings, dont read the first line for i in range(1, size): # read data in each row for line in lines: record = Employee(first_name=line[0], last_name=line[1], email=line[2], phone=line[3], department=line[4], employee_id=line[5]) record.save() records_added += 1 #number of records saved readFile.close()
def getEmployee(request): employee = [] employeeObject = None status = 200 if(request.method.lower() == "get"): print("get method") employeeObject = Employee.objects.all() for o in employeeObject: employee.append({ "id": o.id, "name": o.name, "age": o.age, "address": o.address }) elif (request.method.lower() == "post"): print("post method") data = json.loads(request.body) employee = Employee(name=data["name"], age=data["age"], address=data["address"]) employee.save() employee = [{ "id": employee.id, "name": employee.name, "age": employee.age, "address": employee.address }] status = 201 else: print("don't know what's going on", request.method) return response.success(data=list(employee), status=status, hint=None)
def create(self, validated_data): """ Função para criar dados do usuário na API """ list_company = list() try: address = Address.objects.create(**validated_data['address']) del validated_data['address'] except KeyError: raise ParameterInvalid() try: for company in validated_data['company']: list_company.append(Company.objects.get(id=company['id'])) del validated_data['company'] except KeyError: raise ParameterInvalid() except Company.DoesNotExist: raise CompanyNonexistent() employee = Employee(**validated_data) employee.address = address employee.save() employee.company.set(list_company) return employee
def employee(request): # return HttpResponse("this is employee page") if request.method == 'POST': employee_id = request.POST.get('employee_id') name = request.POST.get('name') # date_of_birth = request.POST.get('date_of_birth') department = request.POST.get('department') # school = request.POST.get('school') university_mail = request.POST.get('university_mail') phone_no = request.POST.get('phone_no') # date_of_joining = request.POST.get('date_of_joining') photo = request.FILES.get('photo') # id_proof_no = request.POST.get('id_proof_no') # id_type = request.POST.get('id_type') # id_photo = request.POST.get('id_photo') employee = Employee( employee_id=employee_id, name=name, department=department, university_mail=university_mail, phone_no=phone_no, photo=photo, ) employee.save() messages.success(request, "Employee added to the database.") em = Employee.objects.all() return render(request, 'employee/employee.html', {'em': em})
def display(request): ename = request.POST.get("ename") eid = request.POST.get("eid") esal = request.POST.get("esal") design = request.POST.get("design") ob = Employee(ename=ename, eid=eid, esal=esal, design=design) ob.save() return getEmployee(request)
def emp_register(request): #saves reg detail to db fname = request.POST.get("first") email = request.POST.get("email") uname = request.POST.get("username") pwd = request.POST.get("pwd") sal = request.POST.get("salary") obj = Employee(first=fname, email=email, uname=uname, pwd=pwd, sal=sal) obj.save() print("object saved") return render(request, "login.html")
def EmployeAdd(request): data = { "added": False, "message":"", "employee":None } if request.method == "POST": input_data = request.POST print(input_data) if "id" in request.GET: if request.GET["id"] != "": # update emp = Employee.objects.get( id=request.GET["id"] ) emp.name = input_data["name"] emp.email = input_data["email"] emp.address = input_data["address"] emp.phone = input_data["phone"] emp.save() else: # Add emp = Employee.objects.filter( email=input_data["email"] ) if emp: data["message"] = "The email already exists" else: emp = Employee( name=input_data["name"], email=input_data["email"], address=input_data["address"], phone=input_data["phone"], ) emp.save() data["added"] = True if "id" in request.GET: try: data["employee"] = Employee.objects.get( id=request.GET["id"] ) except: pass return render(request, "employee-add.html", data)
def employeeInsert(request): emp = Employee() emp.ename = request.POST['ename'] emp.emailid = request.POST['emailid'] emp.password = request.POST['password'] emp.department_id = request.POST['dept'] emp.mobno = request.POST['mobno'] emp.save() return HttpResponse(render( request, 'employee/Login.html', ))
def handle(self, *args, **kwargs): """Create 'total' dummy employees in database.""" no_of_employees = kwargs['total'] if no_of_employees < 1: self.stdout.write( "Can not create -ive or zero number of employees.") else: name_set = self.get_n_unique_names(no_of_employees) existing_phones = Employee.objects.all().values_list( 'phone_number', flat=True) phone_set = self.get_n_unique_numbers( no_of_employees, existing_phones=existing_phones) employee_list = [] for i in range(no_of_employees): employee = Employee( **{ 'name': name_set[i], 'gender': 'M', 'phone_number': phone_set[i], 'address': DUMMY_ADDRESS_MARKER }) employee_list.append(employee) Employee.objects.bulk_create(employee_list) self.stdout.write("Dummy employees created successfully.")
def update_employee_from_from_csv(doc): employee = Employee.objects.filter( profile__hr_id=doc['hr_id']).order_by('id').first() if employee: employee.name = doc['name'] employee.profile['email'] = doc['email'] employee.profile['phone'] = doc.get('phone', '').replace('-', '') employee.profile['title'] = doc['title'] employee.save() return False, True, False employee = Employee.objects.filter( profile__email=doc['email']).order_by('id').first() if employee: employee.name = doc['name'] employee.profile['hr_id'] = doc['hr_id'] employee.profile['phone'] = doc.get('phone', '').replace('-', '') employee.profile['title'] = doc['title'] employee.save() return False, False, True employee = Employee(name=doc['name'], profile={ 'hr_id': doc['hr_id'], 'phone': doc['phone'], 'title': doc['title'] }, members=[]) employee.save() return True, False, False
def post(self, request): try: data = json.loads(request.body) if Employee.objects.filter(account=data['account']).exists(): return JsonResponse({"message": "ACCOUNT_EXISTS"}, status=400) # password encryption password = data['password'].encode('utf-8') password_crypt = bcrypt.hashpw(password, bcrypt.gensalt()).decode('utf-8') rrn_encrypted = encrypt_utils.encrypt( data['rrn'], my_settings.SECRET.get('random')).decode('utf-8') additional_infos = ['post_num', 'address', 'detailed_address'] for index in range(0, len(additional_infos)): if additional_infos[index] in data: additional_infos[index] = data[additional_infos[index]] else: additional_infos[index] = None # insert record new_employee = Employee( auth=Auth.objects.get(id=5), account=data['account'], password=password_crypt, name_kor=data['name_kor'], name_eng=data['name_eng'], rrn=rrn_encrypted, mobile=data['mobile'], post_num=additional_infos[0], address=additional_infos[1], detailed_address=additional_infos[2], profile_image= 'https://freepikpsd.com/wp-content/uploads/2019/10/default-profile-image-png-1-Transparent-Images.png' ) new_employee.save() EmployeeDetail(employee=Employee.objects.get( id=new_employee.id)).save() return JsonResponse({"message": "SIGNUP_SUCCESS"}, status=201) except KeyError as e: return JsonResponse({'message': f'KEY_ERROR:{e}'}, status=400) except ValueError as e: return JsonResponse({"message": f"VALUE_ERROR:{e}"}, status=400)
def schedule_week(sunday): saturday = sunday + timedelta(days=6) ssws = models.SSW.objects.filter(date__gte=sunday).filter( date__lte=saturday) schedule_sm_week(sunday, ssws) schedule_sunday(sunday) schedule_asm_week(sunday, ssws) reps = Employee.reps() for rep in reps: schedule_rep_week(rep, sunday, ssws)
def update_employee(doc): employee = Employee.objects.filter( profile__agilecrm=doc['id']).order_by('id').first() if not employee: employee = Employee(profile={'agilecrm': doc['id']}, members=[]) employee.name = doc['name'] employee.profile['email'] = doc.get('email') employee.profile['phone'] = doc.get('phone', '').replace('-', '') employee.save() return employee
def profiledata(request): if request.method == 'POST': if Employee.objects.filter(eid_id=request.user.id).exists(): print("already Exists") return redirect('/editprofile') else: phone = request.POST['phone'] address = request.POST['address'] dept = request.POST['dept'] upload_file = request.FILES['pic'] eid = request.user.id emp = Employee(eid_id=eid, dept=dept, phone=phone, address=address, pic=upload_file) emp.save() return redirect('/profile') else: return redirect('/edit_profile.html')
def mysqldb(request): #添加操作 employee = Employee(name='乔峰', sex='男', addr='契丹', age=30) employee.save() #删除操作 #第一种方式 employee1 = Employee.objects.get(id=1) employee1.delete() # 第二种方式 Employee.objects.filter(id=2).delete() #第三种方式 Employee.objects.all().delete() #更新操作 #第一种方式 employee2 = Employee.objects.get(id=2) employee2.name = "段誉" employee2.save() #第二种方式 Employee.objects.filter(id=3).update(name='虚竹') #修改所有的列 Employee.objects.all().update(name='乔峰') #获取操作 # employees = Employee.objects.all() for employee in employees: print('{0},{1},{2},{3}'.format(employee.name, employee.sex, employee.age, employee.addr)) #单个取出QuerySet emfilter = Employee.objects.filter(id=7) for em in emfilter: print(em.name) #单个取出object emget = Employee.objects.get(id=9) print(emget.name) return render(request, 'index.html')
def add_employee(request): ''' creating new employee ''' account = get_object_or_404(Account, user=request.user) company = get_object_or_404(Company, account=account) account_plan = get_object_or_404(Account_Plan, account=account, is_active=True) if request.method == 'GET': logger.info("new employee to be added") return render(request, 'account/new_employee.html') if request.method == 'POST': # verifying account plan before create a new object number_employee = Employee.objects.all().filter( company=company, is_active=True).count() if number_employee < account_plan.plan.employee: logger.info('adding new employee') username = request.POST['username'] password = request.POST['password'] # user info firstName = request.POST['first_name'] lastName = request.POST['last_name'] # picture = request.POST['picture'] email = request.POST['email'] phone = request.POST['phone'] # saving user info user = User.objects.create_user(username, email, password) user.last_name = lastName user.first_name = firstName user.save() employee = Employee(user=user, phone=phone, company=company) employee.save() return redirect(add_employee) else: context = { 'message': "You have reached the maximum number of employees. Contact support if you want to change your account plan" } return render(request, 'account/new_employee.html', context)
def index(request): employees_list = Employee.get_employees() page = request.GET.get('page', 1) paginator = Paginator(employees_list, 10) try: employees = paginator.page(page) except PageNotAnInteger: employees = paginator.page(1) except EmptyPage: employees = paginator.page(paginator.num_pages) return render(request, 'index.html', {"employees": employees})
def Register_Employee_View(request): if request.method =="POST": employee_first_name = request.POST['employee_first_name'] employee_last_name = request.POST['employee_last_name'] employee_email = request.POST['employee_email'] employee_joining_date = request.POST['employee_joining_date'] employee_department = request.POST['employee_department'] employee_password = request.POST['employee_password'] employee_confirm_password = request.POST['employee_confirm_password'] employee_id = request.POST['employee_id'] employee_phone = request.POST['employee_phone'] # employee_role = Group.objects.get(name=request.POST['employee_role']) try: if(employee_password==employee_confirm_password): user = User.objects.create_user(email=employee_email,password=employee_password) user.is_staff=False user.full_name = employee_first_name+' '+employee_last_name user.is_active=True user.is_employee=True user.save() register_employee = Employee(user=user,employee_first_name=employee_first_name,employee_last_name=employee_last_name,employee_email=employee_email,employee_joining_date=employee_joining_date,employee_department=employee_department,employee_id=employee_id,employee_phone=employee_phone) register_employee.save() # messages.success(request,"Employee Registered Successfully!") sweetify.success(request, 'Employee Registered Successfully!', button='Ok', timer=3000) else: messages.error(request," Confirm password and password does not match!") except IntegrityError as e: messages.error(request,"Email Already Registered!") return redirect('/administration/all_employee') else: groups=Group.objects.all() return render(request,'administration/employees.html',{'groups':groups})
def update(self, instance: Employee, validated_data): user_account: User = User.objects.get(pk=instance.user_id) user_account.first_name = validated_data['first_name'] user_account.last_name = validated_data['last_name'] user_account.save() instance.phone_number = validated_data['phone_number'] instance.job_position_id = validated_data['job_position_id'] instance.is_resource = validated_data['is_resource'] instance.status = validated_data['status'] instance.save() return instance
def sunday_list(sunday): order = list() employee_list = Employee.employee_list() employee_count = len(employee_list) delta = timedelta(days=7) day = sunday - delta sm = Position.store_manager() while len(order) < employee_count: qs = models.Shift.objects.filter(date=day) if qs.count() == 0: break for s in qs: if s.employee.position != sm: order.insert(0, s.employee) day = day - delta if len(order) < employee_count: if len(order) == 0: order = employee_list else: for emp in employee_list: if emp not in order: order.insert(0, emp) return order
def register(): form = RegisterForm() if form.validate_on_submit(): salt = bcrypt.gensalt() hashed_password = bcrypt.hashpw(form.password.data, salt) fullname = form.fullname.data ssn = form.ssn.data email = form.email.data DOB = form.DOB.data job_title = form.job_title.data username = form.username.data password = hashed_password if job_title == 'Maneger' or job_title == 'maneger': is_admin = True else: is_admin = False live = True employee = Employee(fullname,ssn,email,DOB,job_title,username,password,is_admin,live) db.session.add(employee) db.session.commit() flash ("Employee is added") return redirect('/addEmployees') return render_template('addEmployees.html', form=form)
def save_employee(request): files = request.FILES.getlist('photo', []) if len(files) > 0: file = files[0] path = os.path.join(MEDIA_ROOT, 'images', file.name) with open(path, 'wb+') as f: f.write(file.file.read()) params = request.POST if params.get('id', None) is None: employee = Employee() else: employee = Employee.objects.get(id=params.get('id')) if len(files) > 0: employee.photo = f"/media/images/{file.name}" elif params['photo'] != 'null': employee.photo = f"{params['photo']}" else: employee.photo = f'/media/images/default.png' employee.name = params['name'] employee.lastname = params['lastname'] employee.position = params['position'] employee.birthday = params['birthday'] if params[ 'birthday'] != '' and params['birthday'] != 'null' else None employee.remote = True if params['remote'] == 'true' else False employee.city = params['city'] employee.street = params['street'] employee.house = params['house'] employee.flat = params['flat'] employee.save() return JsonResponse({}, status=201)
def delete(self, request, pk, format=None): Employee = self.get_object(pk) Employee.delete() return Response(status=status.HTTP_204_NO_CONTENT)
def schedule_asm_week(sunday, ssws): asm = Employee.asm() year, week, weekday = sunday.isocalendar() delta_day = timedelta(days=1) monday = sunday + delta_day tuesday = monday + delta_day wednesday = tuesday + delta_day thursday = wednesday + delta_day friday = thursday + delta_day saturday = friday + delta_day works_sunday = models.Shift.objects.filter(date=sunday, employee=asm).exists() leaves = Leave.objects.filter(Q(employee=asm), Q(date__gte=sunday), Q(date__lte=saturday)) l_sun = leaves.filter(date=monday).exists() l_mon = leaves.filter(date=monday).exists() l_tues = leaves.filter(date=tuesday).exists() l_wed = leaves.filter(date=wednesday).exists() l_thur = leaves.filter(date=thursday).exists() l_fri = leaves.filter(date=friday).exists() l_sat = leaves.filter(date=saturday).exists() # monday if not l_mon: mon_shift = models.Shift.mid(monday, asm) # tuesday if not l_tues: tues_shift = models.Shift.open(tuesday, asm) # wednesday if not l_wed: wed_shift = models.Shift.open(wednesday, asm) # thursday if not l_thur: thur_shift = models.Shift.close(thursday, asm) # friday if not l_fri: fri_shift = models.Shift.close(friday, asm) if ssws.exists(): if ssws.filter(date=friday).exists(): tuesday_count = models.Shift.objects.filter(date=tuesday).count() if tuesday_count == 2 and not l_tues: tues_shift.delete() tues_shift = None else: if wed_shift: wed_shift.delete() wed_shift = None if not l_fri: if fri_shift: fri_shift.delete() fri_shift = None fri_shift = models.Shift.open(friday, asm) if not l_sat: sat_shift = models.Shift.close(saturday, asm) if works_sunday: if tues_shift: tues_shift.delete() tues_shift = None elif wed_shift: wed_shift.delete() wed_shift = None elif mon_shift: mon_shift.delete mon_shift = None else: sat_count = models.Shift.objects.filter(date=saturday).count() if sat_count == 0 and not l_sat: if randint(0, 100) % 2 == 0 and tues_shift: tues_shift.delete() tues_shift = None else: if wed_shift: wed_shift.delete() wed_shift = None sat_shift = models.Shift.open(saturday, asm) if works_sunday: if fri_shift: fri_shift.delete() fri_shift = None elif thur_shift: thur_shift.delete() thur_shift = None elif mon_shift: mon_shift.delete mon_shift = None
def _create_employees(self): grade_09 = Grade.objects.get(grade_no=9) grade_05 = Grade.objects.get(grade_no=5) grade_03 = Grade.objects.get(grade_no=3) lecturer = Designation.objects.get(name='Lecturer') associate_professor = Designation.objects.get(name='Associate Professor') professor = Designation.objects.get(name='Professor') dept_cse = Department.objects.get(acronym='CSE') group_admin = Group.objects.get(name='admin') group_accountant = Group.objects.get(name='accountant') today = date.today() employee_1 = Employee(first_name='Dr. Fazlul Hasan', last_name='Siddiqui', username='******',is_staff=True, is_superuser=True, email='*****@*****.**', category='t', grade=grade_05, designation=associate_professor, department=dept_cse, gender='m', dob=today) employee_1.set_password('1234') employee_1.save() employee_1.groups.add(group_admin) employee_1.groups.add(group_accountant) employee_2 = Employee(first_name='Sabah Binte', last_name='Noor', username='******', password='******', email='*****@*****.**', is_staff=True, is_superuser=True, category='t', grade=grade_09, designation=lecturer, department=dept_cse, gender='f', dob=today.replace(year=1991, month=6, day=30)) employee_2.set_password('1234') employee_2.save() employee_2.groups.add(group_admin) employee_2.groups.add(group_accountant) employee_3 = Employee(first_name='Dr. Mohammad Abul', last_name='Kashem', username='******', password='******', email='*****@*****.**', category='t', grade=grade_03, designation=professor, department=dept_cse, gender='m', dob=today) employee_3.set_password('1234') employee_3.save() employee_3 = Employee(first_name='Dr. Mohammad Nasim', last_name='Akhter', username='******', password='******', email='*****@*****.**', category='t', grade=grade_03, designation=professor, department=dept_cse, gender='m', dob=today) employee_3.set_password('1234') employee_3.save() employee_3 = Employee(first_name='Dr. Mohammad Abdur', last_name='Rouf', username='******', password='******', email='*****@*****.**', category='t', grade=grade_03, designation=professor, department=dept_cse, gender='m', dob=today) employee_3.set_password('1234') employee_3.save() employee_3 = Employee(first_name='Dr. Md. Obaidur', last_name='Rahman', username='******', password='******', email='*****@*****.**', category='t', grade=grade_05, designation=associate_professor, department=dept_cse, gender='m', dob=today) employee_3.set_password('1234') employee_3.save()
def schedule_sm_week(sunday, ssws): seed(datetime.now().microsecond) sm = Employee.store_manager() year, week, weekday = sunday.isocalendar() delta_day = timedelta(days=1) monday = sunday + delta_day tuesday = monday + delta_day wednesday = tuesday + delta_day thursday = wednesday + delta_day friday = thursday + delta_day saturday = friday + delta_day leaves = Leave.objects.filter(Q(employee=sm), Q(date__gte=sunday), Q(date__lte=saturday)) l_sun = leaves.filter(date=monday).exists() l_mon = leaves.filter(date=monday).exists() l_tues = leaves.filter(date=tuesday).exists() l_wed = leaves.filter(date=wednesday).exists() l_thur = leaves.filter(date=thursday).exists() l_fri = leaves.filter(date=friday).exists() l_sat = leaves.filter(date=saturday).exists() # monday if not l_mon: mon_shift = models.Shift.open(monday, sm) # tuesday if not l_tues: tues_shift = models.Shift.close(tuesday, sm) # wednesday if not l_wed: wed_shift = models.Shift.close(wednesday, sm) # thursday if not l_thur: thur_shift = models.Shift.mid(thursday, sm) #friday if not l_fri: fri_shift = models.Shift.open(friday, sm) if ssws.filter(date=friday).exists(): if week % 2 == 0 and not l_tues: if tues_shift: tues_shift.delete() tues_shift = None elif wed_shift: wed_shift.delete() wed_shift = None else: if wed_shift: wed_shift.delete() wed_shift = None elif tues_shift: tues_shift.delete() tues_shift = None if thur_shift: thur_shift.delete() thur_shift = None if fri_shift: fri_shift.delete() fri_shift = None if not l_thur: thur_shift = models.Shift.close(thursday, sm) if not l_fri: fri_shift = models.Shift.mid(friday, sm) if not l_sat: sat_shift = models.Shift.open(saturday, sm) else: # work every other saturday if not l_sat: if week % 2 == 0: if week % 4 == 0: if thur_shift: thur_shift.delete() thur_shift = None sat_shift = models.Shift.mid(saturday, sm) else: fri_shift.delete() fri_shift = None sat_shift = models.Shift.open(saturday, sm) if ssws.filter(date=sunday).exists(): if not l_sun: if week % 2 == 0: if tues_shift: tues_shift.delete() else: if wed_shift: wed_shift.delete() sun_shift = models.Shift.sunday(sunday, sm)
def seed(self): waiter = Employee() waiter.employee_role = "WAITER" waiter.email = "*****@*****.**" waiter.set_password("gazerocker") waiter.first_name = "Kristina" waiter.last_name = "Grujic" waiter.is_staff = False waiter.is_superuser = False waiter.is_confirmed = True waiter.works_in = Restaurant.objects.get(id=1) waiter.save()
def register(request): if request.method == 'POST': user_type = request.POST['user_type'] first_name = request.POST['first_name'] last_name = request.POST['last_name'] username = request.POST['username'] password = request.POST['password'] password2 = request.POST['password2'] email = request.POST['email'] apartment_no = request.POST['apartment_no'] street = request.POST['street'] city = request.POST['city'] zip_code = request.POST['zip_code'] age = request.POST['age'] if (password != password2): messages.error(request, 'Password did not match') return redirect('register') if user_type == 'JobSeeker': resume = request.POST['resume'] jobseekers = Jobseeker.objects.all() for jobseeker1 in jobseekers: if jobseeker1.username == username: messages.error( request, 'This jobseeker exist in the in the system. Choose another username' ) return redirect('register') jobseeker = Jobseeker() jobseeker.username = username jobseeker.password = password jobseeker.e_mail = email jobseeker.name = first_name + ' ' + last_name jobseeker.user_type = user_type jobseeker.password = password jobseeker.password2 = password2 jobseeker.e_mail = email jobseeker.apartment_no = apartment_no jobseeker.city = city jobseeker.street = street jobseeker.zip_code = zip_code jobseeker.age = age jobseeker.resume = resume jobseeker.save() if user_type == 'HR': company_name = request.POST['company_name'] hr = HR() hr.username = username hr.password = password hr.e_mail = email hr.name = first_name + ' ' + last_name hr.user_type = user_type hr.apartment_no = apartment_no hr.city = city hr.street = street hr.zip_code = zip_code hr.age = age hr.company_name = company_name hr.save() if user_type == 'Employee': position = request.POST['position'] salary = request.POST['salary'] resume = request.POST['resume'] employee = Employee() employee.username = username employee.password = password employee.e_mail = email employee.name = first_name + ' ' + last_name employee.user_type = user_type employee.apartment_no = apartment_no employee.city = city employee.street = street employee.zip_code = zip_code employee.age = age employee.position = position employee.salary = salary employee.resume = resume employee.save() messages.success(request, 'Registration Successfull!!') return redirect('login') else: return render(request, 'accounts/register.html')
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)
def get_order(self, obj: Employee): return obj.get_order()
def post(self, request): form = AddEmployeeForm(request.POST) data = dict(form=form) if form.is_valid(): data = form.cleaned_data employee = Employee() employee.email = data['email'] employee.first_name = data['first_name'] employee.last_name = data['last_name'] employee.shoe_size = data['shoe_size'] employee.clothes_size = data['clothes_size'] employee.role = data['role'] chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789" password = "".join([chars[ord(c) % len(chars)] for c in urandom(8)]) employee.set_password(password) employee.is_confirmed = True restaurant = Restaurant.objects.filter(manager=request.user)[0] employee.works_in = restaurant employee.save() employee.send_email("Login details - Restaurant booking online", "Your login details :\n E-mail : " + employee.email + "\n Password : "******"\n You can login now " + get_current_site(request).domain + "\n Restaurant booking online") employee.save() return render(request, self.template_name, dict(form=form))