def test_user_can_be_created(self): user = self.createUser() login = self.loginUser() role = Role( title = 'Cashier' ) session.add(role) session.commit() with self.client: self.client.post(url_for('nonAuth.login'), data = login.data) response = self.client.post( url_for('auth.createUser'), data = dict( username = '******', password = '******', active = 'ACTIVE', role = role.id ) ) users = User.query.all() self.assertTrue(users[1].username == 'Kwaghbee') self.assertRedirects(response, url_for('auth.getUsers'))
def add_user(): data = request.json username = data['username'] payload = {} # Check if username exists user = session.query(User).filter(User.username == username).first() if user: payload['status'] = False payload['message'] = 'username %s already exists.' % (username) resp = jsonify(payload) resp.status_code = 403 return resp try: # Add user to database new_user = User(username=username) session.add(new_user) session.commit() except: # Error saving event to database payload['status'] = False payload['message'] = 'error creating user.' resp = jsonify(payload) resp.status_code = 500 return resp # Success response payload['status'] = True payload['message'] = 'user %s created successfuly.' % (username) resp = jsonify(payload) resp.status_code = 201 return resp
async def employee_post(employees: Employees) -> Any: employees = list(map(lambda x: EmployeeDB(**x.dict()), employees.employees)) for employee in employees: session.add(employee) session.commit() return ({'message': 'success'})
def new_broker_entry(): """add new broker to the journal""" new_broker = create_broker_from_cli() session.add(new_broker) session.commit() while click.confirm('do you want to continue?', abort=False): new_broker = create_broker_from_cli() session.add(new_broker) session.commit()
async def employee_put(id: str, employee: Employee) -> Any: curr_empl = session.query(EmployeeDB) \ .filter(EmployeeDB.id == id) \ .one() for key, value in employee.dict().items(): setattr(curr_empl, key, value) session.commit() return ({'message': 'success'})
def create_user(user: UserSchema) -> User: """ Add a new user based on UserSchema passed """ new_user = User(**user.__dict__) db.add(new_user) db.commit() return user
def add_rule(): data = request.json parameter = data['parameter'] threshold = data['threshold'] user_list = [] payload = {} # Check if rule exists if session.query(Rule).filter(Rule.parameter == parameter).first(): payload['status'] = False payload['message'] = 'parameter %s already exists. Edit the rule instead.' % (parameter) resp = jsonify(payload) resp.status_code = 403 return resp for username in data['usernames']: user = session.query(User).filter(User.username == username).first() # Check if all usernames exist if user: user_list.append(user) # If a username does not exist, send an error message else: payload['status'] = False payload['message'] = 'username %s does not exist.' % (username) resp = jsonify(payload) resp.status_code = 404 return resp try: # Add rule to database new_rule = Rule(parameter=parameter, threshold=threshold, user=user_list) session.add(new_rule) session.commit() except: # Error saving rule to database payload['status'] = False payload['message'] = 'error creating rule.' resp = jsonify(payload) resp.status_code = 500 return resp # Success response payload['status'] = True payload['message'] = 'rule for %s with threshold %d created successfuly.' % (parameter, threshold) resp = jsonify(payload) resp.status_code = 201 return resp
def delete_user(user_id: int) -> UserSchema: """ Delete user selected by id """ user = get_user(user_id) if user is None: raise HTTPException(status_code=404, detail="User not found") else: db.delete(user) db.commit() return UserSchema(**user.__dict__)
def edit_parameter(parameter): data = request.json threshold = data['threshold'] user_list = [] payload = {} # Check if rule exists rule = session.query(Rule).filter(Rule.parameter == parameter).first() if not rule: payload['status'] = False payload['message'] = 'parameter %s does not exist.' % (parameter) resp = jsonify(payload) resp.status_code = 404 return resp for username in data['usernames']: user = session.query(User).filter(User.username == username).first() # Check if all usernames exist if user: user_list.append(user) # If a username does not exist, send an error message else: payload['status'] = False payload['message'] = 'username %s does not exist.' % (username) resp = jsonify(payload) resp.status_code = 404 return resp try: # Edit rule rule.parameter = parameter rule.threshold = threshold rule.user = user_list session.commit() except: # Error editing rule payload['status'] = False payload['message'] = 'error editing rule.' resp = jsonify(payload) resp.status_code = 500 return resp # Success response payload['status'] = True payload['message'] = 'rule for %s with threshold %d edited successfuly.' % (parameter, threshold) resp = jsonify(payload) resp.status_code = 200 return resp
def new_stock_entry(): """add new stock record to the journal""" if (not check_brokers()): print("this command requries brokers to work please enter some with the new-broker-entry command") return brokers = get_brokers(session) new_stock = create_stock_from_cli(brokers) session.add(new_stock) session.commit() while click.confirm('do you want to continue?', abort=False): new_stock = create_stock_from_cli(brokers) session.add(new_stock) session.commit()
def givePermissionsTo(self, perms): """ Assign permissions to a user or role @return permissions or null """ # permissions = self.getAllPermissions(perms) if perms is None: return self self.permissions.extend(perms) session.add(self) session.commit() return self
def revokePermissions(self, perms): """ Revoke a specified permission from a user. Permissions are only revoked if they are in the scope any of the user's roles. If the permission is out of scope, a RolePermissionScopeException is raised. """ if perms is not None: for perm in perms: self.permissions.remove(perm) session.commit() return self return self
def update_user(user_id: int, user: UserSchema) -> UserSchema: """ Update user selected by id and change him based on UserSchema passed """ user_update = get_user(user_id) if user_update is None: raise HTTPException(status_code=404, detail="User not found") else: user_update.name = user.name user_update.password = user_update.generate_password(user.password) user_update.email = user.email user_update.username = user.username db.commit() return user_update
def import_csv(): file = QFileDialog( ) # class que promove que os utilizadores permitam a selecao de ficheiros ou diretório file.setFileMode(QFileDialog.ExistingFile ) # o ficheiro tem de existir para ser selecionado if file.exec_(): # se a procura de ficheiros incia filename = file.selectedFiles()[0] # diretorio do ficheiro selecionado with open(filename, 'r') as csvfile: #abre o ficheiro selecionado reader = csv.reader( csvfile) #guarda na variavel reader o ficheiro texto csv next(reader) #passa o cabeçalho for i in reader: artigo = Artigo(nome=i[0], marca=i[1], preco=float(i[2]), imagem=i[3]) #instacia artigo session.add(artigo) #adiciona a base de dados session.commit() #grava na base de dados
def createPermissions(): """ Create new system permissions.""" permissions = getAllPermissions() form = PermissionForm() if not form.name.data[0].isdigit(): if form.validate_on_submit(): # do something here existing_perm = Perm.query.filter_by(name = form.name.data).first() if existing_perm is None: new_perm = Perm( name = form.name.data ) session.add(new_perm) session.commit() return redirect(url_for('auth.getPermissions')) flash('Permission already exists!') flash('Value entered must start with an alphabet!') return redirect(url_for('auth.getPermissions'))
def createRoles(): """ Create new system roles.""" roles = getAllRoles() form = RoleForm() if not form.title.data[0].isdigit(): if form.validate_on_submit(): # do something here existing_role = User_Role.query.filter_by(title = form.title.data).first() if existing_role is None: new_role = User_Role( title = form.title.data ) session.add(new_role) session.commit() return redirect(url_for('auth.getRoles')) flash('Role already exists!') flash('Value entered must start with an alphabet!') return redirect(url_for('auth.getRoles'))
def create(): """ Create a new user access to the system.""" form = CreateUserForm() if form.validate_on_submit(): existing_user = User.query.filter_by( username=form.username.data).first() if existing_user is None: user = User(username=form.username.data, active=form.active.data, role_id=form.role.data) user.set_password(form.password.data) session.add(user) session.commit() return redirect(url_for('auth.getUsers')) flash('User already exists') return render_template('create_user.html', form=form, title='Create a New User.')
def add_event(): data = request.json parameter = data['parameter'] value = data['value'] payload = {} # Check if rule exists rule = session.query(Rule).filter(Rule.parameter == parameter).first() if not rule: payload['status'] = False payload['message'] = 'parameter %s does not exist.' % (parameter) resp = jsonify(payload) resp.status_code = 404 return resp try: # Add event to database new_event = Event(value=value, rule=rule) session.add(new_event) session.commit() except: # Error saving event to database payload['status'] = False payload['message'] = 'error creating event.' resp = jsonify(payload) resp.status_code = 500 return resp # Success response payload['status'] = True payload['message'] = 'event for %s with value %d created successfuly.' % ( parameter, value) resp = jsonify(payload) resp.status_code = 201 return resp
def set(self, **kwargs): self.model = self.model() for key, value in kwargs.items(): setattr(self.model, key, value) session.add(self.model) session.commit()