def setUp(self):
        """Setup the test driver and create test users."""
        self.driver = webdriver.Chrome()
        self.driver.get(self.get_server_url())

        db.session.commit()
        db.drop_all()
        db.create_all()

        self.admin = Employee(username=test_admin_username,
                              email=test_admin_email,
                              password=test_admin_password,
                              is_admin=True)

        self.employee = Employee(username=test_employee1_username,
                                 first_name=test_employee1_first_name,
                                 last_name=test_employee1_last_name,
                                 email=test_employee1_email,
                                 password=test_employee1_password)

        self.department = Department(name=test_department1_name,
                                     description=test_department1_description)

        self.role = Role(name=test_role1_name,
                         description=test_role1_description)

        db.session.add(self.admin)
        db.session.add(self.employee)
        db.session.add(self.department)
        db.session.add(self.role)
        db.session.commit()
Beispiel #2
0
def register():
    title = "Register Organization"
    formRegister = RegisterForm()
    if formRegister.validate_on_submit():
        organization = Organization(
            name=formRegister.name_company.data,
            email=formRegister.email.data,
            typeofbusiness=formRegister.type_company.data,
            address=formRegister.address.data,
            phone_number=formRegister.business_phone_number.data)
        db.session.add(organization)
        db.session.commit()

        employee = Employee(
            fname=formRegister.manager_namef.data,
            lname=formRegister.manager_namel.data,
            email=formRegister.email.data,
            phone_number=formRegister.manager_phone_number.data,
            manager=True,
            organization_id=organization.id,
            firsttimelogin=False,
            question1=formRegister.question1.data,
            answer1=formRegister.answer1.data,
            question2=formRegister.question2.data,
            answer2=formRegister.answer2.data,
        )
        employee.set_password(formRegister.enter_password.data)
        db.session.add(employee)
        db.session.commit()
        flash('New Organization has been added')
        return redirect(url_for('login'))
    return render_template("register.html",
                           title=title,
                           formRegister=formRegister)
Beispiel #3
0
    def test_01_department_pages(self):
        #Test Registering a user
        testuser = Employee(first_name="testfirst",
                            last_name="testlast",
                            email="*****@*****.**",
                            username="******",
                            password="******",
                            is_admin=False)
        testadmin = Employee(first_name="adminfirst",
                             last_name="adminsecond",
                             email="*****@*****.**",
                             username="******",
                             password="******",
                             is_admin=True)
        db.session.add(testuser)
        db.session.add(testadmin)

        #Test going to departments with non-admin user
        target_url = url_for('admin.list_departments')
        redirect_url = url_for('auth.login')
        response = self.client.get(target_url)
        self.assertEqual(302, response.status_code,
                         "###Test depertment pages: without logging in")
        #self.assertRedirects(response, redirect_url)
        #self.assertTrue(b"302 Error" in response.data)

        #TODO
        assert False, "Tests are not finished"
        self.login("testuser", "testpassword")
        response = self.client.get(url_for('admin.list_departments'),
                                   follow_redirects=True)
        #rv=list_departments()
        print("Response:", response.data)
Beispiel #4
0
def employee_create(request):
    if request.method == 'GET':
        employee_form = EmployeeForm()

    if request.method == 'POST':
        try:
            first_name = request.POST.get('first_name')
            email = request.POST.get('first_name')
            password = request.POST.get('password')

            print('first_name: {}, email: {}, password: {}'.format(
                first_name, email, password))

            user = User.objects.create_user(username=first_name,
                                            first_name=first_name,
                                            email=email,
                                            password=password)

            employee = Employee(
                user=user,
                salary=request.POST.get('salary'),
                role=Role.objects.get(pk=request.POST.get('role')))

            employee.save()

            messages.success(request,
                             '{}'.format('Usuario guardado exitosamente'))
            return redirect('employee_list')

        except Exception as e:
            print(e)

    return render(request, 'app/employee_create.html',
                  {'employee_form': employee_form})
Beispiel #5
0
def index():
    emp = Employee().query.get(0)
    template = 'index.html'

    def get_subords(i):
        subords = Employee().query.filter(Employee.manager_id == i).all()
        return subords

    if request.method == 'GET':
        if 'emp_id' in request.args:
            try:
                emp_id = int(request.args['emp_id'])
            except ValueError:
                pass
            emp = Employee().query.get(emp_id)
            template = 'subords.html'
    if request.method=='POST':
        '''drag'n'drop changing manager directly in org-tree'''
        employee_id = int(request.form['set_manager_id[employee]'])
        new_manager = int(request.form['set_manager_id[manager]'])
        if employee_id != new_manager:
            empl = Employee().query.get(employee_id)
            empl.manager_id = new_manager
            db.session.add(empl)
            db.session.commit()

    return render_template(
        template,
        e=emp,
        Employee=Employee,
        get_subords=get_subords
        )
Beispiel #6
0
def register():
    """
    View function for the registration page.
    :return: HTTPResponse in the form of register.html template
    """

    #If user is already logged in then redirect to homepage
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = RegistrationForm()

    if form.validate_on_submit():
        #Create a new employee instance and add it to database
        employee = Employee(username=form.username.data,
                            email=form.email.data,
                            name=form.name.data,
                            contact=form.contact.data,
                            address=form.address.data,
                            manager=form.manager.data)
        employee.set_password(form.password.data)
        db.session.add(employee)
        db.session.commit()
        flash('Congratulations! You are now a registered user')
        return redirect(url_for('login'))

    return render_template('register.html', title='Register', form=form)
    def test_company_membership(self):
        # create companies
        c1 = Company(company_name='test', email='*****@*****.**')
        c2 = Company(company_name='test2', email='*****@*****.**')

        # create employees with memberships
        e1 = Employee(email='*****@*****.**',
                      first_name='thomas',
                      last_name='mcdonnell',
                      is_admin=True,
                      member_of=c1)
        e2 = Employee(email='*****@*****.**',
                      first_name='tom',
                      last_name='jones',
                      member_of=c2)

        # commit to database
        db.session.add(c1)
        db.session.add(c2)
        db.session.add(e1)
        db.session.add(e2)
        db.session.commit()

        # test memberships
        self.assertEqual(c1.employees.count(), 1)
        self.assertEqual(c2.employees.count(), 1)

        # test memberships
        self.assertEqual(c1.employees.all(), [e1])
        self.assertNotEqual(c1.employees.all(), [e2])
        self.assertEqual(c2.employees.all(), [e2])
        self.assertNotEqual(c2.employees.all(), [e1])
Beispiel #8
0
def init_db():
    db.drop_all()
    db.create_all()
    Role.insert_roles()
    Employee.create_admin()
    dept_fake()
    employee_fake()
    cost_fake()
Beispiel #9
0
def init_db():
    db.drop_all()
    db.create_all()
    Role.insert_roles()
    Employee.create_admin()
    dept_fake()
    label_fake()
    employee_fake()
    cost_fake()
Beispiel #10
0
    def test_employee_model_verifyPasswordIfTrue(self):
        # create test non-admin user
        employee = Employee(username="******",
                            email="*****@*****.**",
                            first_name="firstname",
                            last_name="lastname",
                            password="******")

        self.assertTrue(employee.verify_password("test2016"))
Beispiel #11
0
    def setUp(self):

        db.create_all()

        admin = Employee(username="******", password="******", is_admin=True)

        employee = Employee(username="******", password="******")

        db.session.add(admin)
        db.session.add(employee)
        db.session.commit()
Beispiel #12
0
 def setUp(self):
     db.create_all()
     admin = Employee(username="******",
                      email="*****@*****.**",
                      password="******",
                      is_admin=True)
     employee = Employee(username="******",
                         email="*****@*****.**",
                         password="******")
     db.session.add_all([admin, employee])
     db.session.commit()
Beispiel #13
0
 def setUp(self):
     """Will be called before every test"""
     db.create_all()
     # create test admin user
     admin = Employee(username="******", password="******", is_admin=True)
     # create test non-admin user
     employee = Employee(username="******", password="******")
     # save users to database
     db.session.add(admin)
     db.session.add(employee)
     db.session.commit()
Beispiel #14
0
	def setUp(self):
		db.create_all()

		#create test admin user
		admin = Employee(username="******", password="******", is_admin=True)

		#create a test non-admin user
		employee = Employee(username="******", password="******")

		db.session.add(admin)
		db.session.add(employee)
		db.session.commit()
Beispiel #15
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Employee(ename=form.name.data, emp_id=form.emp_id.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template('Login/register.html', title='Register', form=form)
 def setUp(self):
     """
     Call this before every test
     :return:
     """
     db.create_all()
     # create test admin user
     admin = Employee(username='******', password='******', is_admin=True)
     employee = Employee(username="******", password="******")
     db.session.add(admin)
     db.session.add(employee)
     db.session.commit()
Beispiel #17
0
def create_employee():
    data = request.get_json() or {}
    if 'name' not in data:
        return bad_request('name is required')
    if Employee.query.filter_by(name=data['name']).first():
        return bad_request('use a different name')
    item = Employee()
    item.from_dict(data)
    db.session.add(item)
    db.session.commit()
    response = jsonify(item.to_dict())
    response.status_code = 201
    return response
Beispiel #18
0
    def setUp(self):
        """Set up the testing environment."""
        db.session.commit()
        db.drop_all()
        db.create_all()

        admin = Employee(username='******', password='******', is_admin=True)

        employee = Employee(username='******', password='******')

        db.session.add(admin)
        db.session.add(employee)
        db.session.commit()
Beispiel #19
0
    def setUp(self):
        # Will be called before every test

        db.create_all()

        # create test admin user
        admin = Employee(username='******', password='******', is_admin=True)

        # create test non-admin user
        employee = Employee(username='******', password='******')

        # save users to database
        db.session.add(admin)
        db.session.add(employee)
        db.session.commit()
Beispiel #20
0
    def setUp(self):

        # creating the database and the table
        db.create_all()

        # create test admin user
        admin = Employee(username='******', password='******', is_admin=True)

        # create non-admin user
        employee = Employee(username='******', password='******')

        # save the users to the database
        db.session.add(admin)
        db.session.add(employee)
        db.session.commit()
Beispiel #21
0
def add_employee(data):
    try:
        new_employee = Employee(employee_username=data['employee_username'],
                                employee_email=data['employee_email'],
                                employee_status=data['employee_status'])
        new_employee._set_password = data['employee_password']
        db_session.add(new_employee)
        db_session.commit()
        db_session.refresh(new_employee)
        flash(
            'Employee {} added successfully .'.format(
                data['employee_username']), 'success')
    except exc.SQLAlchemyError as e:
        db_session.rollback()
        flash('there was an error committing your data.', 'danger')
Beispiel #22
0
def register():
    if current_user.is_authenticated:
        return redirect('/index')
    form = RegistrationForm()
    if form.validate_on_submit():
        employee = Employee(employee_id=form.userid.data,
                            employee_name=form.name.data,
                            phone=form.phone.data,
                            password=form.password.data)
        employee.set_password(form.password.data)
        db.session.add(employee)
        db.session.commit()
        flash('Registration successful.')
        return redirect('/login')
    return render_template('register.html', title='Register', form=form)
Beispiel #23
0
    def setUp(self):
        """
        Will be called before every test
        """
        db.create_all()

        # create test admin user
        admin = Employee(username='******', password='******', is_admin=True)

        # create test non-admin user
        employee = Employee(username='******', password='******')

        # save users to database
        db.session.add(admin)
        db.session.add(employee)
        db.session.commit()
def mock_employee():
    employee = Employee(first_name='John', last_name='Doe')
    db.session.add(employee)
    db.session.commit()
    yield employee
    db.session.delete(employee)
    db.session.commit()
Beispiel #25
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('menu'))
    form = RegisterForm()
    if form.validate_on_submit():
        work_days = ""
        if form.work_monday.data:
            work_days = 'monday,'
        if form.work_tuesday.data:
            work_days = 'tuesday,'
        if form.work_wednesday.data:
            work_days = 'wednesday,'
        if form.work_thursday.data:
            work_days = 'thursday,'
        if form.work_friday.data:
            work_days = 'friday,'
        if form.work_saturday.data:
            work_days = 'saturday,'
        if form.work_sunday.data:
            work_days = 'sunday,'
        employee = Employee(id=form.bartender_id.data,
                            Wages=6,
                            Shift=work_days,
                            Name=form.first_name.data + " " + form.middle_name.data + " " + form.last_name.data)
        db.session.add(employee)
        db.session.commit()
        flash('You are now registered!')
        return redirect(url_for('login'))
    return render_template('newuser.html', title='register', form=form)
Beispiel #26
0
def employees_id_put(id,body,jwt = None):
    try:
        if not Employee.check_valid({'id':id,'login_user':body.get('login_user')}):
            raise Exception('登录用户(%s)已被使用,请重新指定!'% body.get('login_user'))
        if type(id)!='int':
            id=int(id)
        Employee.check_dateformat(body)
        Employee.query.filter(Employee.id == id).update(body)
    except Exception as e:
        db.session.rollback()
        return {"error":str(e)}, 422, {"content-type": "chatset=utf8"}
    data = Employee.query.filter_by(id=id).first_or_404()
    # data.cids = ','
    # for auth in data.company_auths:
    #     data.cids += str(auth.companyid) + ','
    return data.to_json(), 201, {"content-type": "chatset=utf8"}
Beispiel #27
0
def create_employees(count=10, manager=False):
    for _ in range(count):
        email = fk.email()
        password = fk.password()
        confirmed = True
        firstname = fk.first_name()
        lastname = fk.last_name()
        salary = random.randint(MIN_SALARY, MAX_SALARY)
        user = User(email=email,
                    password=password,
                    confirmed=True,
                    is_manager=manager)
        db.session.add(user)
        try:
            db.session.commit()
        except IntegrityError:
            db.session.rollback()

        employee = Employee(user=user,
                            firstname=firstname,
                            lastname=lastname,
                            salary=salary)
        db.session.add(employee)
        try:
            db.session.commit()
        except IntegrityError:
            db.session.rollback()
Beispiel #28
0
def employees(department_id, vacancy_id):
    vacancy = Vacancy.query.filter_by(id=vacancy_id).first()
    if not vacancy:
        abort(404)
    form = EmployeeForm(obj=request.form)

    if form.validate_on_submit():
        employee = Employee(
            name=form.name.data,
            surname=form.surname.data,
            position_id=form.position_id.data,
            email=form.email.data,
            phone_number=form.phone_number.data,
            birth_date=form.birth_date.data,
            department_id=form.department_id.data,
            vacancy=vacancy
        )

        if form.director.data:
            update_director(department_id, employee, True)
        db.session.add(employee)

        vacancy.is_open = False
        vacancy.employee = employee
        vacancy.closing_date = form.start_date.data

        db.session.commit()

        update_position(employee, form.position_id.data, form.department_id.data, form.start_date.data)
        db.session.commit()

    flash_errors(form)
    return redirect(url_for('department', department_id=department_id))
Beispiel #29
0
def Register(request):
    name = request.POST.get("name")
    age = request.POST.get("age")
    cno = request.POST.get("cno")
    email = request.POST.get("email")
    image = request.FILES["file"]
    password = str(name[0]) + str(name[-1]) + str(len(cno))
    if Employee.objects.filter(email=email):
        return render(request, "index.html",
                      {"message": "Email already registred"})
    else:
        Employee(name=name,
                 age=age,
                 contactno=cno,
                 email=email,
                 password=password,
                 image=image).save()
        #for mail sending
        send_mail(
            "New Account Password:"******"hello mr/miss: " + name +
            "Your new account pasword is autogenerated \n the new password is "
            + password, settings.EMAIL_HOST_USER, [email])
        #For message sending to mobile number
        accountSid = "ACaa3347d26965e518ac905c4b7199095e"
        authToken = "48d134d5473e93b558aabde8d4df8a18"
        twilioClient = Client(accountSid, authToken)
        myTwilioNumber = "+12512201736"
        destCellPhone = "+918639142835"
        myMessage = twilioClient.messages.create(
            body=
            "Thank you for register,Your account is created\n your temporary password is ---"
            + password,
            from_=myTwilioNumber,
            to=destCellPhone)
        return render(request, "index.html", {"message": "successs"})
    def post(self):
        json_data = request.get_json()

        if not json_data:
            response = {'error': 'No Input Data Provided'}
            return jsonify(response), 400

        employee = Employee.query.filter(
            Employee.email == json_data['email']).first()
        if employee:
            return {'message': 'Employee with that email already exists'}
        employee = Employee(
            date_of_first_appointment=json_data['date_of_first_appointment'],
            email=json_data['email'],
            first_name=json_data['first_name'],
            last_name=json_data['last_name'],
            password=json_data['password'],
            date_of_birth=json_data['date_of_birth'],
            next_of_kin=json_data['next_of_kin'],
            educational_qualification=json_data['educational_qualification'],
            address=json_data['address'],
            phone_number=json_data['phone_number'],
            marital_status=json_data['marital_status'])
        db.session.add(employee)
        db.session.commit()

        result = employee_schema.dump(employee)
        return {'status': 'success', 'data': result}, 201
Beispiel #31
0
def setup():
    print('setup()')

    print('drop_all')
    db.drop_all()

    print('create_all')
    db.create_all()
    
    emp = Employee(name="Bobby", age=24, date=datetime.now())
    db.session.add(emp)
    emp = Employee(name="Sue", age=43, date=datetime.now())
    db.session.add(emp)

    print('commit')
    db.session.commit()
def employees():
    current_company = Company.query.filter(Company.user_id == current_user.id).first()
    # send subsidiary item
    subsidiaries = current_company.subsidiaries
    # send new employee form
    newempform = NewEmployeeForm(request.form)
    sub_choices = [ (c.id, c.name) for c in Subsidiary.query.\
                    filter(Subsidiary.company_id == current_company.id).\
                    order_by(Subsidiary.name).all()]  
    newempform.subsidiary_id.choices = sub_choices
    if request.method == "POST":
        # validate form
        if newempform.validate():
            new_emp = Employee(newempform.email.data, newempform.password.data)
            if new_emp:
                new_emp.name = newempform.name.data
                new_emp.lastname = newempform.lastname.data
                if new_emp.second_name is not None:
                    new_emp.second_name = newempform.second_name.data
                new_emp.lastname = newempform.lastname.data
                if new_emp.second_lastname is not None:
                    new_emp.second_lastname = newempform.second_lastname.data 
                new_emp.rfc = newempform.rfc.data
                new_emp.job_name = newempform.job_name.data
                new_emp.subsidiary_id = newempform.subsidiary_id.data
                # add new employee
                db.session.add(new_emp)
                try:
                    # commit new employee to database
                    db.session.commit()
                except IntegrityError:
                    db.session.rollback()
                    mess = "Either Email or the RFC exist in the database"
                    return jsonify({"error":mess}), 400
            else:
                abort(404)
        else:
            return jsonify(newempform.errors), 400
    return render_template('admin/employee.html',
                            newempform=newempform,
                            current_company=current_company,
                            subsidiaries=subsidiaries)
Beispiel #33
0
 def form_valid(self, form):
     employee = Employee.get_by_id(self.kwargs['pk'])
     form.instance.person = employee
     return super(CalendarCreate, self).form_valid(form)