def create_schedule(): data = request.get_json() or {} data['schedule_area'] = Area.query.filter_by( name=data['schedule_area'] or None).first() data['schedule_shift'] = Shift.query.filter_by( name=data['schedule_shift'] or None).first() for time in [ 'start1', 'start2', 'start3', 'start4', 'end1', 'end2', 'end3', 'end4' ]: data[time] = dfs(data[time]) schedule = Schedule.query.filter_by(schedule_area=data['schedule_area'], schedule_shift=data['schedule_shift'], name=data['name']).first() if schedule: s = schedule else: s = Schedule() s.from_dict(data) db.session.add(s) db.session.commit() response = jsonify(s.to_dict()) response.status_code = 201 response.headers['Location'] = url_for('api.get_kpi', id=s.id) return response
def update_Schedule(id): entity = Schedule.query.get(id) if not entity: abort(404) entity = Schedule( date=datetime.datetime.strptime(request.json['date'][:10], "%Y-%m-%d").date(), shift_name=request.json['shift_name'], employee_id=request.json['employee_id'], manager_id=request.json['manager_id'], is_in_duty=request.json['is_in_duty'], assigned_machine=request.json['assigned_machine'], sign_in_at=datetime.datetime.strptime(request.json['sign_in_at'][:10], "%Y-%m-%d").date(), sign_out_at=datetime.datetime.strptime(request.json['sign_out_at'][:10], "%Y-%m-%d").date(), id=id ) db.session.merge(entity) db.session.commit() return jsonify(entity.to_dict()), 200
def update_Schedule(id): entity = Schedule.query.get(id) if not entity: abort(404) entity = Schedule( date=datetime.datetime.strptime(request.json['date'][:10], "%Y-%m-%d").date(), shift_name=request.json['shift_name'], employee_id=request.json['employee_id'], manager_id=request.json['manager_id'], is_in_duty=request.json['is_in_duty'], assigned_machine=request.json['assigned_machine'], sign_in_at=datetime.datetime.strptime(request.json['sign_in_at'][:10], "%Y-%m-%d").date(), sign_out_at=datetime.datetime.strptime( request.json['sign_out_at'][:10], "%Y-%m-%d").date(), id=id) db.session.merge(entity) db.session.commit() return jsonify(entity.to_dict()), 200