def CreateEmployee(id, name, team_id, rect, des, fab, inst): with db_session: e = Employees(id=id, name=name, team_id=team_id) if rect: e.skills.add(Skills[1]) if des: e.skills.add(Skills[2]) if fab: e.skills.add(Skills[3]) if inst: e.skills.add(Skills[4])
def apicoids(): if request.headers.get("X-Api-Key") == api_key: if request.method == "GET": logging.info('GET /api/test received') return jsonify({"ids": [company.ID for company in Company.query.order_by(Company.ID.desc()).all()]}) if request.method == "PUT": try: logging.info('/api/companies PUT received') to_json = json.loads(request.data) except Exception as e: exc = f'{type(e).__name__}: {e}' logging.warning(f'/api/companies PUT failed to load json {exc}') return jsonify(e) for co, v in to_json.items(): status = "success" employees_list = [] get_co = Company.query.filter_by(ID=to_json[co]['ID']).first() get_co.Weekly = to_json[co]['weekly_profit'] get_co.Daily = to_json[co]['daily_profit'] get_co.Rank = to_json[co]['rating'] for member in to_json[co]['employees']: employees_list.append(member) get_mem = Employees.query.filter_by(ID=member).first() for word in ['days', 'day']: if word in to_json[co]['employees'][member]['last_action']['relative']: status = "danger" if get_mem: get_mem.EmployeeName = to_json[co]['employees'][member]['name'] get_mem.LastSeen = to_json[co]['employees'][member]['last_action']['relative'] get_mem.Position = to_json[co]['employees'][member]['position'] if not get_mem: add_employee = Employees(CompanyID=co, LastSeen=to_json[co]['employees'][member]['last_action']['relative'], ID=member, EmployeeName=to_json[co]['employees'][member]['name'], Position=to_json[co]['employees'][member]['position'] ) db_session.add(add_employee) co_list = [str(emp.ID) for emp in Employees.query.filter_by(CompanyID=co).all()] for person in co_list: if person not in employees_list: get_pers = Employees.query.filter_by(ID=person).first() db_session.delete(get_pers) get_co.Status = status db_session.commit() return jsonify({"message": "Companies updated"}), 200 else: return jsonify({"message": "ERROR: Unauthorized"}), 401 else: return jsonify({"message": "ERROR: Unauthorized"}), 401
def create(): if not request.form['name'] or not request.form[ 'gender'] or not request.form['city']: flash('Please enter all the fields', 'error') else: employee = Employees(request.form['name'], request.form['gender'], request.form['city']) db.session.add(employee) db.session.commit() flash('An Employee record was successfully added') result = emp_schema.dump(employee) return jsonify(result.data)
def post(self): try: data = request.json employee = Employees(name=data['name'], email=data['email'], department=data['department'], salary=data['salary'], birth_date=data['birth_date']) employee.save() response = {'message':'Employee {} was created successfully'.format(employee.id), 'id':employee.id, 'name': employee.name, 'email': employee.email, 'department': employee.department, 'salary': employee.salary, 'birth_date': employee.birth_date } except KeyError: response = { 'status': 'error', 'message': 'API error, consult the administrator' } return response
def get(self): employees_highest = Employees.highest(Employees.salary) employees_lowest = Employees.lowest(Employees.salary) average = Employees.average_salary(Employees.salary) response = {"lowest":[{ 'id': i.id, 'name': i.name, 'email': i.email, 'department': i.department, 'salary': format(i.salary,'.2f'), 'birth_date': i.birth_date} for i in employees_lowest], "highest": [{ 'id': i.id, 'name': i.name, 'email': i.email, 'department': i.department, 'salary': format(i.salary, '.2f'), 'birth_date': i.birth_date} for i in employees_highest], "average": [{'average': average}] } return response
def get(self): employees_younger = Employees.younger(Employees.birth_date) employees_older = Employees.older(Employees.birth_date) response = {"younger":[{ 'id': i.id, 'name': i.name, 'email': i.email, 'department': i.department, 'salary': format(i.salary,'.2f'), 'birth_date': i.birth_date } for i in employees_younger], "older": [{ 'id': i.id, 'name': i.name, 'email': i.email, 'department': i.department, 'salary': format(i.salary, '.2f'), 'birth_date': i.birth_date } for i in employees_older], "average": {'average': '40'} } return response
def test123(): if request.method == "POST": add = request.form.get('companyid') remove = request.form.get('deletecompany') if add: print('addding', add) url = f"https://api.torn.com/company/{add}?selections=&key={torn_key}" try: get_company = requests.get(url).json() if get_company.get('error'): flash(f'Torn says: {get_company.get("error").get("error")}', 'danger') db_query = Company.query.filter_by(ID=add).first() if db_query: flash(f'Company {add} already exists in the database.', 'danger') if not get_company.get('error') and not db_query: company = get_company.get('company') status = "success" for employee in company.get('employees'): add_employee = Employees(CompanyID=add, LastSeen=company.get('employees').get(employee).get("last_action").get( 'relative'), ID=employee, EmployeeName=company.get('employees').get(employee).get('name'), Position=company.get('employees').get(employee).get('position')) for word in ['days', 'day']: if word in company.get('employees').get(employee).get("last_action").get('relative'): status = "danger" db_session.add(add_employee) test = Company(ID=add, CompanyName=company.get('name'), Weekly=company.get('weekly_profit'), Daily=company.get('daily_profit'), Status=status, Rank=company.get('rating')) db_session.add(test) db_session.commit() flash(f'Company {add} successfully added to the database.', 'success') except Exception as e: flash(f'Error: {e}', 'danger') return render_template('companies.html') if remove and remove != "Empty": db_query = Company.query.filter_by(ID=remove).first() db_session.delete(db_query) fetch_employees = Employees.query.filter_by(CompanyID=remove).all() for employee in fetch_employees: db_session.delete(employee) db_session.commit() flash(f'Successfully removed {remove}', 'success') return render_template('companies.html', companies=Company.query.order_by(Company.ID.desc()).all()) if request.method == "GET": flash('This page is deprecated and no longer maintained. It is merely here for preservation.', 'danger') return render_template('companies.html', companies=Company.query.order_by(Company.ID.desc()).all())
def PrintEmployees(): with db_session: Employees.select().show()