Exemple #1
0
    def post(self):
        item = request.get_json() if request.get_json() else request.form

        try:
            if item:

                if ClientModel().get_by_cpf(item['cpf']):
                    return f'The CPF "{item["email"]}" is already in use.', 400
                if ClientModel().get_by_email(item['email']):
                    return f'The email "{item["email"]}" is already in use.', 400
                if ClientModel().get_by_rg(item['rg_number']):
                    return f'The RG "{item["rg_number"]}" is already in use.', 400

                model = ClientModel()
                model.first_name = item['first_name']
                model.last_name = item['last_name']
                model.cpf = item['cpf']
                model.rg_number = item['rg_number']
                model.rg_uf = item['rg_uf']
                model.email = item['email']
                model.phone = item['phone']
                model.active = item['active'] if 'active' in item else True
                model.user_id = item['user_id'] if 'user_id' in item else None
                model.timestamp = date.today()
                model.save()

                return 'created', 201
            else:
                return 'not created, invalid payload', 400
        except Exception as e:
            return f"{e}", 500
Exemple #2
0
    def post(self):
        data = Clients.parser.parse_args()
        try:
            initials = data['initials']
            user_id = data['user_id']
            item = ClientModel( None, initials, user_id)
            item.save()
            return data

        except Exception as err: 
            return str(err)
Exemple #3
0
    def put(self):
        data = Client.parser.parse_args()

        client = ClientModel(**data)

        try:
            client.update_to_db()
        except:
            return {"message": "An error occurred updating the operation"}, 500

        return client.json(), 200
Exemple #4
0
    def post(self):
        data = Client.parser.parse_args()

        client = ClientModel(**data)

        try:
            client.save_to_db()
        except:
            return {"message": "An error occurred creating the client"}, 500

        return client.json(), 201
    def put(self, name):
        client = ClientModel.find_by_name(name)
        parser = reqparse.RequestParser()
        parser.add_argument('credit_score', type=int, help='This is required')
        data = parser.parse_args()
        if client:
            client.credit_score = data['credit_score']
        else:
            client = ClientModel(name, data['credit_score'])

        client.save_to_db()
        return client.json()
Exemple #6
0
    def post(self):
        data = Client.parser.parse_args()
        if ClientModel.find_by_email(data['email']):
            return {'message': "A Client with that email already exists."}, 400

        if ClientModel.find_by_tel(data['tel']):
            return {
                'message': "A Client with that number already exists."
            }, 400

        denomination = data['denomination']
        if not denomination:
            return {
                'message': "Veuilez entrer la denomination de l'entreprise"
            }

        type_client = data['type_client']
        if not type_client:
            return {'message': "Veuilez entrer le type de client"}

        email = data['email']
        if not email:
            return {'message': "Veuilez entrer le mail du client"}
        match = re.search(r'^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$', email)
        if not match:
            return {"message": "Movaise adresse mail"}

        ad_postale = data['ad_postale']
        if not ad_postale:
            return {'message': "Veuilez entrer l'adresse postale du client"}

        tel = data['tel']
        if not tel:
            return {
                'message': "Veuilez entrer le numero de telephone du client"
            }

        name_interloc = data['name_interloc']
        if not name_interloc:
            return {'message': "Veuilez entrer le nom  de l'interlocuteur"}

        contact_interloc = data['contact_interloc']
        if not contact_interloc:
            return {'message': "Veuilez entrer le contact de l'interlocuteur"}

        client = ClientModel(**data)
        try:
            client.save_to_db()
        except:
            return {"message": "An error occurred creating the client."}, 500

        return client.json(), 201
Exemple #7
0
class ClientController:
    model = ClientModel()

    @classmethod
    def choose(cls, parent=None):
        from views.client_dialog import ClientDialog
        dlg = ClientDialog(parent)
        result = dlg.exec()
        item_id = dlg.getResult()
        item = cls.model.getItemById(item_id)
        return result, item

    @classmethod
    def create(cls, parent=None):
        from views.client_form import ClientForm
        dlg = ClientForm(parent)
        result = dlg.exec()
        if result == ClientForm.Accepted:
            client = dlg.getClient()
            if not Options.get().autonomy_mode:
                while not cls.model.saveItem(client):
                    p = QMessageBox().warning(
                        parent, 'Ошибка',
                        'Потеряно соединение с сервером. Повторить?\nПри отмене программа будет '
                        'закрыта, а несохраненные изменения потеряны.',
                        QMessageBox.Retry | QMessageBox.Cancel)
                    if p != QMessageBox.Retry:
                        die()
            cls.model.addItem(client)
            return True
        return False

    @classmethod
    def edit(cls, client, parent=None):
        from views.client_form import ClientForm
        dlg = ClientForm(parent)
        dlg.setClient(client)
        result = dlg.exec()
        if result == ClientForm.Accepted:
            client = dlg.getClient()
            if not Options.get().autonomy_mode:
                while not cls.model.saveItem(client):
                    p = QMessageBox().warning(
                        parent, 'Ошибка',
                        'Потеряно соединение с сервером. Повторить?\nПри отмене программа будет '
                        'закрыта, а несохраненные изменения потеряны.',
                        QMessageBox.Retry | QMessageBox.Cancel)
                    if p != QMessageBox.Retry:
                        die()
            return True
        return False
Exemple #8
0
    def post(self):

        data = ClientRegister.args.parse_args()

        if ClientModel.find_by_email(
                data['email']
        ):  #quando usuario é criado, ele ainda não sabe seu user_id
            return {
                'message': "Email {} already been used.".format(data['email'])
            }, 400

        client = ClientModel(productList, **data)
        client.insertClient()
        return {'message': 'Client created successfully'}, 201
Exemple #9
0
    def post(self, name):
        """Post endpoint for client name.

        Headers: {Authorization: JWT jwt_token, ContentType: application/json}
        If client name already in database returns json message and 400 error.
        If error occurs while adding to database returns 500 error. Returns
        json object of client and empty requests field and 201 code."""
        if ClientModel.select(name):
            return {'message': 'Client already exists'}, 400
        client = ClientModel(name)
        try:
            client.save_to_db()
        except BaseException:
            return {'message': 'Something went wrong'}, 500
        return client.json(), 201
    def put(cls, client_id: int):
        client_json = request.get_json()
        client = ClientModel.find_by_id(client_id)

        if client is None:
            client = ClientModel()

        client.name = client_json["name"]
        client.email = client_json["email"]
        client.age = client_json["age"]
        client.phone_number = client_json["phone_number"]
        client.user_id = client_json["user_id"]

        client.save_to_db()

        return client_schema.dump(client), 200
Exemple #11
0
    def put(self, email):
        data = Client.args.parse_args()
        client = ClientModel.find_by_email(email)

        if client:
            client.updateClient(data['name'])
            try:
                client.insertClient()
            except:
                return {
                    'message': 'Internal error trying to update client'
                }, 500
            return client.json(), 200
        client = ClientModel(productList, **data)
        try:
            client.insertClient()
        except:
            return {'message': 'Internal error trying to update client'}, 500
        return client.json(), 200
Exemple #12
0
 def setupUi(self):
     self.ui.lstClients.setModel(ClientModel())
     self.ui.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False)
     self.ui.btnEdit.setEnabled(False)