Пример #1
0
def add_hash_event(request):
    id_event = request.matchdict['id_employee']
    id_hash = int(request.matchdict['id_hash'])

    hash_tag = request.db_session.query(Hash_employee).filter(Hash_employee.by_user_id == get_verified_user_id(request), Hash_employee.id == id_hash).first()
    print(hash_tag.name)
    event = request.db_session.query(Event).filter(Event.id == id_event).\
            filter(or_(Employee.hash1 == id_hash, Employee.hash2 == id_hash)).\
            first()

    if event is not None:
        return{'status': 'user have this hash tag already!!'} 
    if hash_tag == None:
        return{'status': 'hash tag dont exist'} 
    else:
        event = request.db_session.query(Event).filter(Event.id == id_event).first()
        if event == None:
            return{'status': 'employee dont exist'}
        if event.hash1 == None:
            event.hash1 = id_hash
            DBSession.flush()
            return{'status': 'ok'}
        elif event.hash2 == None:
            event.hash2 = id_hash
            DBSession.flush()
            return{'status': 'ok'}
        else:
            return{'status': 'You can have maximum 2 hash tags for one employee'}
Пример #2
0
def add_comparison(request):
    type = request.matchdict['type']
    hash1_name = request.matchdict['hash1']
    hash2_name = request.matchdict['hash2']

    if type == "employee":
        hash1 = request.db_session.query(Hash_employee).filter(Hash_employee.name == hash1_name, Hash_employee.user == get_user(request)).first()
        hash2 = request.db_session.query(Hash_employee).filter(Hash_employee.name == hash2_name, Hash_employee.user == get_user(request)).first()
        print(hash1)
        print(hash2)
        porovnavacka = Comparison(get_user(request), hash1, hash2, 1)
        DBSession.add(porovnavacka)
        DBSession.flush()
        DBSession.refresh(porovnavacka)
        return{'status' : 'ok', 'id' : porovnavacka.id}
    elif type == "event":
        hash1 = request.db_session.query(Hash_employee).filter(Hash_employee.name == hash1_name, Hash_employee.user == get_user(request)).first()
        hash2 = request.db_session.query(Hash_employee).filter(Hash_employee.name == hash2_name, Hash_employee.user == get_user(request)).first()
        print(hash1)
        print(hash2)
        porovnavacka = Comparison(get_user(request), hash1, hash2, 0)
        DBSession.add(porovnavacka)
        DBSession.flush()
        DBSession.refresh(porovnavacka)
        return{'status' : 'ok', 'id' : porovnavacka.id}
    else:
        return{'status' : 'This ype of comparison is not in our system'}
Пример #3
0
def add_event(request):
    post=request.POST
    id_leader =  post['id_leader']
    time_begin =  post['time_begin'].split(':')
    time_begin = [int(x) for x in time_begin]
    time_end =  post['time_end'].split(':')
    time_end = [int(x) for x in time_end]
    date_begin = post['date_begin'].split('/')
    date_begin = [int(x) for x in date_begin]
    date_end = post['date_end'].split('/')
    date_end = [int(x) for x in date_end]

    
    leader = request.db_session.query(Employee).filter(Employee.by_user_id == get_verified_user_id(request), Employee.id == id_leader).first()
    print(time_end)
    zaciatok_eventu = datetime.datetime(date_begin[2], date_begin[0], date_begin[1], time_begin[0], time_begin[1], 0, 0)
    koniec_eventu = datetime.datetime(date_end[2], date_end[0], date_end[1], time_end[0], time_end[1], 0, 0)
    event = Event(get_user(request),  leader, post['name'], zaciatok_eventu, koniec_eventu)
    DBSession.add(event)
    DBSession.flush()
    DBSession.refresh(event)
    #leader bude ako task
    task = Task(event.leader, event, 0, 0, event.length())
    DBSession.add(task)

    return HTTPFound(location = request.route_url('events'))
Пример #4
0
def change_event(request):
    event = request.db_session.query(Event).filter(Event.id == event_id).first()
    event.description = str(request.matchdict['description'])
    event.nazov = str(request.matchdict['name_of_event'])
    event.goal = str(request.matchdict['goal'])
    event.workplace = str(request.matchdict['workplace'])
    DBSession.flush()
Пример #5
0
def register_employee(employee, request):
    DBSession.add(employee)
    DBSession.flush()
    #vytvorim QR code,,, 
    print(str(employee.id) * 30)
    qr = QRCode(version=8, error_correction=ERROR_CORRECT_L)
    qr.add_data(str(employee.id))
    qr.make()
    im = qr.make_image()
    im.save('qr_images/'  + str(employee.surname) + '.png')
Пример #6
0
def change_task(request):
    id_task = int(request.matchdict['id'])
    performance = request.matchdict['performance']
    delay = request.matchdict['delay']
    print(id_task)
    tasks = request.db_session.query(Task).all()
    for t in tasks:
        print(t.id)
    print(tasks)
    task = request.db_session.query(Task).filter(Task.id == id_task).first()
    task.delay = delay
    task.performance = performance
    DBSession.flush() 
    return{'status' : 'ok'}
Пример #7
0
def checkout(request):
    employee_id = request.matchdict['employee_id']
    performance = request.matchdict['performance']
    if performance == -1:
        performance == 100
    employee = request.db_session.query(Employee).filter(Employee.id == employee_id).first()
    if employee.by_user_id != get_verified_user_id(request):
        return {'chyba' : 'nemas prava na manipulaciu s tymto employee!'}
    # employee = request.db_session.query(Employee).filter(Employee.id == employee_id).first()
    arrivals = request.db_session.query(Arrival).filter(Arrival.employee_id == employee_id, Arrival.departure == None).all()
    # for i in arrivals:
    #     print(i.id)
    print(arrivals)
    if len(arrivals) == 1:
        arrival = arrivals[0]
        arrival.departure = datetime.datetime.now();
        arrival.performance = performance
        DBSession.flush() 
        return {'arrivaldeparture': arrival.departure}
    else:
        return{'chyba': 'chyba pri check oute kontaltujet admina'}
Пример #8
0
def rt_event_type_created(request):
    params = request.params
    description = params['description']

    et = EventType(description)


    session = DBSession()
    session.add(et)
    session.flush()

    user_id = authenticated_userid(request)

    user = DBSession.query(User).filter(User.user_id == user_id).first()

    if user is not None:
        user.favorites.append(et)
        session.flush()

    session.flush()
    event_code = et.eid

    return {'description': description,
            'success': True,
            'message': "",
            'event_code': event_code}
Пример #9
0
def delete_hash_employee(request):
    id_employee = request.matchdict['id_employee']
    id_hash = request.matchdict['id_hash']
    hash_tag = request.db_session.query(Hash_employee).filter(Hash_employee.by_user_id == get_verified_user_id(request), Hash_employee.id == id_hash).first()
    if hash_tag == None:
        return{'status': 'hash tag dont exist'} 
    else:
        employee = request.db_session.query(Employee).filter(Employee.by_user_id == get_verified_user_id(request), Employee.id == id_employee).\
        filter(or_(Employee.hash1 == id_hash, Employee.hash2 == id_hash)).first()
        print(type(employee.hash2))
        # print(type(id_hash))
        if employee == None:
            return{'status': 'No employee require condition'} 
        if employee.hash1 == int(id_hash):
            employee.hash1 = None
            DBSession.flush()
            return{'status': 'hash was deleted'} 

        if employee.hash2 == int(id_hash):
            employee.hash2 = None
            DBSession.flush() 
            return{'status': 'hash was deleted'} 
Пример #10
0
def add(request):
    type_to_add = request.matchdict['type_to_delete']
    name = request.matchdict['name']
    if type_to_add == "workposition":
        if request.db_session.query(Employees_type).filter(Employees_type.name == name, Employees_type.by_user_id ==  get_verified_user_id(request)).first() == None:
            new_workposition =  Employees_type(get_user(request), name)
            DBSession.add(new_workposition)
            DBSession.flush()
            DBSession.refresh(new_workposition)
            return{'status': 'ok' ,'name':  name, 'id' : new_workposition.id} 
        else:
            return{'status': 'workposition with name '+name+' is in databse already'}
    elif type_to_add == "workplace":
        print('*' * 500)
        print(name)
        city = name.split('!')[0]
        address = name.split('!')[1]
        if request.db_session.query(Workplace).filter(Workplace.address == address).first() == None:
            new_workplace =  Workplace(get_user(request), city, address)
            DBSession.add(new_workplace)
            DBSession.flush()
            DBSession.refresh(new_workplace)
            return{'status': 'ok' ,'name':  name, 'id' : new_workplace.id} 
        else:
            return{'status': 'workposition with name '+name+' is in databse already'}
    if type_to_add == "hash_employee":
        if request.db_session.query(Hash_employee).filter(Hash_employee.name == name, Hash_employee.type == 1, Hash_employee.by_user_id == get_verified_user_id(request)).first() == None:
            hash_zamestnanec = Hash_employee(get_user(request), name, 1)
            DBSession.add(hash_zamestnanec)
            DBSession.flush()
            DBSession.refresh(hash_zamestnanec)
            return{'status': 'ok' ,'name':  name, 'id' : hash_zamestnanec.id} 
        else:
            return{'status': 'employee hashtag with name '+name+' is in databse already'}
    if type_to_add == "hash_event":
        if request.db_session.query(Hash_employee).filter(Hash_employee.name == name, Hash_employee.type == 0, Hash_employee.by_user_id == get_verified_user_id(request)).first() == None:
            hash_zamestnanec = Hash_employee(get_user(request), name, 0)
            DBSession.add(hash_zamestnanec)
            DBSession.flush()
            DBSession.refresh(hash_zamestnanec)
            return{'status': 'ok' ,'name':  name, 'id' : hash_zamestnanec.id} 
        else:
            return{'status': 'event hashtag with name '+name+' is in databse already'}