Ejemplo n.º 1
0
def acceptOfferByEmployee(project):

	

	#print("acceptOfferByEmployee project.id = "+ str(project.id) + " " + str(datetime.datetime.now().replace(tzinfo=utc)) )


	#admin=UserProfile.objects.get(is_admin=True)
	offer=Offering.objects.get(id=project.choosedOffer_id)

	if offer.is_accepted_by_employee:
		address = '/project/'+str(project.id)
		return render_to_response('alert.html', {'error':"خطایی رخ داده است لطفا با عوامل سایت تماس حاصل فرمایید",'address':address})

	if offer.offerer.account.money < int(offer.bayane) :
		address = '/project/'+str(project.id)
		return render_to_response('alert.html', {'error':"شما اعتبار کافی در حساب مالی خود ندارید",'address':address})
	
		#string="<script type='text/javascript '> window.alert ('your account does not have enough money ' );window.location.href= '/project/"+str(project.id)+"'; </script>"
		#return HttpResponse(string)
	else:

		employee=Employee(userprofile=offer.offerer,gainedMoney=0,cashedMoney=offer.bayane)
		employee.save()

		project.employee=employee
		project.is_wait_for_employee=False
		offer.is_accepted_by_employee=True

		offer.offerer.account.money=str (int(offer.offerer.account.money) - int (offer.bayane) )

		activity=AccountActivity(activityType="W",transmitedMoney=str(offer.bayane),transferTime=datetime.datetime.now().replace(tzinfo=utc),description="بیعانه باقیمانده برای انجام پروژه")
		activity.save()
		offer.offerer.account.accountActivity.add(activity)
		offer.offerer.account.save()
		offer.offerer.save()
		offer.save()



		project.endDate=datetime.datetime.now().replace(tzinfo=utc)+datetime.timedelta(days=offer.offerDay)
		project.startDate=datetime.datetime.now().replace(tzinfo=utc)
		project.is_crowd=False
		project.is_running=True
		project.is_active=True
		project.save()

		address = '/project/'+str(project.id)
		#mail(userId=1,kind="contact",text='acceptOfferByEmployee Project.id='+str(project.id))	

		return render_to_response('alert.html', {'error':"با موفقیت انجام شد",'address':address})
Ejemplo n.º 2
0
def populate_employees(limit: int = 10) -> None:
    """
    Populates 'Employees' Table

    Parameters:
        limit (int): Max number of employees per department

    Returns:
        None
    """
    logger.info('Populating Employees Database')

    random.seed(42)
    Faker.seed(42)
    faker = Faker()

    departments = Department.query.all()
    for department in departments:
        for _ in range(random.randint(1, limit)):
            employee = Employee(department_id=department.id,
                                name=faker.name(),
                                birthdate=faker.date_between(
                                    start_date='-50y',
                                    end_date='-18y').strftime('%m.%d.%Y'),
                                salary=random.randint(700, 2000))
            db.session.add(employee)
    db.session.commit()

    logger.info('Successfully populated Employees Database')
def create_rc_hr_accounts():
    dept_names = Department.query.all()
    department_list = [x.name for x in dept_names]

    if request.method == 'POST':
        email = request.form.get('email', None)
        name = request.form.get('username', None)
        password = request.form.get('password', None)
        type = request.form.get('gridRadios', None)
        department = request.form.get('department', None)
        repeat_password = request.form.get('repeat_password', None)

        dept_obj = Department.query.filter_by(name=department).first()

        if name == None:
            return render_template('hr_recruiter_account_create.html',
                                   warning='Username cannot be None')

        if email == None:
            return render_template('hr_recruiter_account_create.html',
                                   warning='Email cannot be None')

        if type == None:
            return render_template('hr_recruiter_account_create.html',
                                   warning='Type cannot be None')

        if password == None:
            return render_template('hr_recruiter_account_create.html',
                                   warning='Password cannot be None')

        if repeat_password == None:
            return render_template('hr_recruiter_account_create.html',
                                   warning='Repeat Password cannot be None')

        if password != repeat_password:
            return render_template('hr_recruiter_account_create.html',
                                   warning='Both passwords should be same')

        new_emp_obj = Employee(name=name,
                               email=email,
                               salary=10000,
                               status='Active',
                               deptid=dept_obj.deptid,
                               hire_dt=datetime.date.today())
        db.session.add(new_emp_obj)
        db.session.commit()
        logging.debug('New employee {name} created'.format(name=name))

        emp_obj = Employee.query.filter_by(email=email).first()
        emp_user_obj = Users(emplid=emp_obj.emplid,
                             deptid=dept_obj.deptid,
                             type=type,
                             psw=generate_password_hash(password))
        db.session.add(emp_user_obj)
        db.session.commit()
        return redirect(url_for('admin.create_rc_hr_accounts'))
    return render_template('hr_recruiter_account_create.html',
                           department_list=department_list)
Ejemplo n.º 4
0
def index():
    if request.method == 'POST':
        form = NewEmployeeForm(request.form)
        form.set_choices()
        if form.validate_on_submit():
            new_employee = Employee(form.name.data, form.years_at_company.data)
            for department in form.departments.data:
                new_employee.departments.append(Department.query.get(department))
            db.session.add(new_employee)
            db.session.commit()
        else:
            return render_template('employees/new.html', form=form)
    return render_template('employees/index.html', employees=Employee.query.all())
Ejemplo n.º 5
0
def new_employee():
    form = NewEmployeeForm(request.form)
    form.set_choices()
    if form.validate():
        employee = Employee(request.form["name"],
                            request.form["years_at_company"])
        db.session.add(employee)
        for department in form.departments.data:
            d = Department.query.get(department)
            d.employees.extend([employee])
        db.session.commit()
        return redirect(url_for("employees.index"))
    return redirect(url_for("employees.new"))
Ejemplo n.º 6
0
    def post(self):

        json_data = request.data
        data = json.loads(json_data)
        print("JSON FOR REGISTER : {}".format(data))
        is_exist = bool(
            db.session.query(Employee.employeeId).filter(
                Employee.email == data['email']).first())
        print("DATA is exist {}".format(is_exist))
        if not is_exist:
            employee = Employee(data)
            print(str(employee))
            db.session.add(employee)
            db.session.commit()
            return {'status': 'True'}
        else:
            return {'status': 'False'}
Ejemplo n.º 7
0
    def post(self) -> Tuple[dict, int]:
        """ create new user """
        data = EmployeeAPI.parser.parse_args()
        message, status_code = EmployeeAPI.validate_args(data)
        if status_code != 200:
            return {'message': message}, status_code

        department = Department.query.filter_by(
            name=data['department']).first()
        employee = Employee(department_id=department.id,
                            name=data['name'],
                            birthdate=data['birthdate'],
                            salary=data['salary'])
        db.session.add(employee)
        db.session.commit()

        data['id'] = employee.id
        logger.debug('New Employee created')
        return data, 201
Ejemplo n.º 8
0
def add_employee():
    form = AddEmployeeForm(request.form)
    if request.method == 'POST':
         if form.validate_on_submit():
            new_employee = Employee(form.first_name.data,
                                    form.last_name.data,
                                    form.email_address.data,
                                    form.activity.data,
                                    form.comments.data)
            db.session.add(new_employee)
            db.session.commit()
            flash('New Employee, {} {}, added!'.format(new_employee.first_name, new_employee.last_name), 'success')
            return redirect(url_for('activity_signup.list'))
         else:
             flash_errors(form)
             flash('ERROR! Employee was not added.', 'error')

    # If Method == GET
    return render_template('add_employee.html', form=form)
Ejemplo n.º 9
0
def add():

    form= AddForm()

    if form.validate_on_submit():

        name= form.name.data
        department= form.department.data
        username= form.username.data
        password= form.password.data
        new_emp= Employee(name, department, username, password)

        #new_dep= Employee(department)
        db.session.add(new_emp)
        #db.session.add(new_dep)
        db.session.commit()

        return redirect(url_for('employee.list'))

    return render_template('add.html', form=form)
Ejemplo n.º 10
0
from werkzeug.security import generate_password_hash

########################################################################################################################
import logging
logging.basicConfig(
    format='[%(asctime)s] %(levelname)s in %(module)s: %(message)s',
    filename=app.config['LOG_PATH'],
    datefmt='%d-%b-%y %H:%M:%S',
    level=logging.DEBUG,
    filemode='a')
########################################################################################################################

########################################################################################################################
new_emp_obj = Employee(name='Hiring Manager 1',
                       email='*****@*****.**',
                       salary=60000,
                       status='Active',
                       deptid=1,
                       hire_dt=datetime.date.today())
db.session.add(new_emp_obj)
db.session.commit()
logging.info('Hiring Manager 1 Created')

emp_obj = Employee.query.filter_by(email='*****@*****.**').first()
emp_user_obj = Users(emplid=emp_obj.emplid,
                     deptid=1,
                     type='Hiring Manager',
                     psw=generate_password_hash('hr1'))
db.session.add(emp_user_obj)
db.session.commit()

new_emp_obj = Employee(name='Hiring Manager 2',
########################################################################################################################

########################################################################################################################
dept_obj = Department(name='Engineering')
dept_obj1 = Department(name='Finance')
db.session.add(dept_obj)
db.session.add(dept_obj1)
db.session.commit()
logging.info('Engineering Department Created')
logging.info('Finance Department Created')

########################################################################################################################
emp_obj = Employee(salary=100000,
                   hire_dt=datetime.datetime.strptime('2019-03-13',
                                                      '%Y-%m-%d'),
                   name='Farhaan Patel',
                   email='*****@*****.**',
                   status='Active',
                   deptid=1)
db.session.add(emp_obj)
db.session.commit()
logging.info('First Admin User Created')

emp_obj2 = Employee(salary=150000,
                    hire_dt=datetime.datetime.strptime('2019-03-13',
                                                       '%Y-%m-%d'),
                    name='Marianne Paulson',
                    email='*****@*****.**',
                    status='Active',
                    deptid=1)
db.session.add(emp_obj2)
Ejemplo n.º 12
0
from project import db
from project.models import Employee

# create the database
db.create_all()

person1 = Employee('Nathan', 'Grimberg', '*****@*****.**',
                   'Basketball', '')
db.session.add(person1)

db.session.commit()
Ejemplo n.º 13
0
def create_employee(**kw) -> Employee:
    return Employee.save(user_id=kw['id'],
                         charge=kw['charge'],
                         department_id=kw['department_id'])