Beispiel #1
0
def clients_update_view(request):
    """
    Update client
    """
    # Check authorization
    if not Utils.has_permission(request,
                                request.registry.settings['client_edition']):
        raise exc.HTTPForbidden()

    # Get client_id
    id_client = request.params['id'] if 'id' in request.params else None

    model = request.dbsession.query(Client).filter(
        Client.id == id_client).first()

    # If result is empty
    if not model:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(
                Client.__tablename__, id_client))

    # Read params client
    model = Utils.set_model_record(model, request.params)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(Client.__tablename__))
Beispiel #2
0
def factures_update_view(request):
    """
    Update facture
    """
    # Check authorization
    if not Utils.has_permission(request, request.registry.settings['affaire_facture_edition']):
        raise exc.HTTPForbidden()

    # id_facture
    id_facture = None

    if 'id' in request.params:
        id_facture = request.params['id']

    # Get the facture
    facture_record = request.dbsession.query(Facture).filter(
        Facture.id == id_facture).first()

    params = {}
    for key in request.params:
        if key == "numeros":
            params[key] = json.loads(request.params[key])
        else: 
            params[key] = request.params[key]

    if not facture_record:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(Facture.__tablename__, id_facture))

    facture_record = Utils.set_model_record(facture_record, params)

    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(Facture.__tablename__))
Beispiel #3
0
def test_error(exc, request):
    """
    Test (temp endpoint)
    """
    query = request.dbsession.query(Client).first()
    query = Utils.set_model_record(query, request.params)
    return Utils.serialize_one(query)
Beispiel #4
0
def affaire_numero_delete_view(request):
    """
    delete numeros_affaires
    """
    if not Utils.has_permission(request, request.registry.settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    affnum_id = None
    affaire_id = None
    numero_id = None
    record = None
    if "id" in request.params:
        affnum_id = request.params["id"]
        record = request.dbsession.query(AffaireNumero).filter(AffaireNumero.id == affnum_id).first()
    elif "affaire_id" in request.params and "numero_id" in request.params:
        affaire_id = request.params["affaire_id"]
        numero_id = request.params["numero_id"]
        record = request.dbsession.query(AffaireNumero).filter(and_(
            AffaireNumero.affaire_id == affaire_id,
            AffaireNumero.numero_id == numero_id
        )).first()
    else:
        raise CustomError(CustomError.INCOMPLETE_REQUEST)

    request.dbsession.delete(record)

    if not record:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(AffaireNumero.__tablename__, affnum_id))

    record = Utils.set_model_record(record, request.params)

    return Utils.get_data_save_response(Constant.SUCCESS_DELETE.format(AffaireNumero.__tablename__))
Beispiel #5
0
def numeros_etat_histo_new_view(request, params=None):
    """
    Add new numero_etat_histo
    """
    # Check authorization
    settings = request.registry.settings
    if not Utils.has_permission(request, settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    if not params:
        params = request.params

    # check if etat already exists
    numEtatHisto = request.dbsession.query(NumeroEtatHisto).filter(
        NumeroEtatHisto.numero_id == params['numero_id']).filter(
            NumeroEtatHisto.numero_etat_id ==
            params['numero_etat_id']).first()

    if not numEtatHisto is None:
        return

    # nouveau numero
    record = NumeroEtatHisto()
    record = Utils.set_model_record(record, params)

    request.dbsession.add(record)
    request.dbsession.flush()

    Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(NumeroEtatHisto.__tablename__))

    return record.id
Beispiel #6
0
def affaire_numero_new_view(request, params=None):
    """
    Add new affaire-numero
    """
    # Check authorization
    if not Utils.has_permission(
            request, request.registry.settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    if not params:
        params = request.params

    # check if affaire_numero relation already exists
    affaireNumero = request.dbsession.query(AffaireNumero).filter(
        AffaireNumero.affaire_id == params['affaire_id']).filter(
            AffaireNumero.numero_id == params['numero_id']).filter(
                AffaireNumero.type_id == params['type_id']).first()

    if not affaireNumero is None:
        return

    # nouveau affaire_numero
    record = AffaireNumero()
    record = Utils.set_model_record(record, params)

    request.dbsession.add(record)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(AffaireNumero.__tablename__))
Beispiel #7
0
def controles_mutations_update_view(request):
    """
    Update controle_mutation
    """
    # Check authorization
    if not Utils.has_permission(request,
                                request.registry.settings['affaire_edition']):
        raise exc.HTTPForbidden()

    # Get controle mutation id
    id = request.params['id'] if 'id' in request.params else None

    # Get controle mutation record
    record = request.dbsession.query(ControleMutation).filter(
        ControleMutation.id == id).first()

    if not record:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(
                ControleMutation.__tablename__, id))

    record = Utils.set_model_record(record, request.params)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(ControleMutation.__tablename__))
Beispiel #8
0
def numeros_new_view(request, params=None):
    """
    Add new numeros
    """
    # Check authorization
    if not Utils.has_permission(
            request, request.registry.settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    if not params:
        params = request.params
        params['no_access'] = "_".join(str(params['cadastre_id']),
                                       str(params['numero']))

    # tester si le numéro à réserver est plus grand que le max +1 déjà existant dans la base. Si oui, répondre par une erreur
    num_max = request.dbsession.query(func.max(Numero.numero)).filter(
        Numero.cadastre_id == params['cadastre_id']).scalar()
    if int(params['numero']) > num_max + 1:
        raise CustomError(
            CustomError.NUMBER_REGISTRATION_FAILED.format(
                params['numero'], params['cadastre_id'], num_max))

    # nouveau numero
    record = Numero()
    record = Utils.set_model_record(record, params)

    request.dbsession.add(record)
    request.dbsession.flush()

    Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(Numero.__tablename__))

    return record.id
Beispiel #9
0
def clients_moral_personne_update_view(request):
    """
    Update contact in entreprise
    """
    # Check authorization
    if not Utils.has_permission(request,
                                request.registry.settings['client_edition']):
        raise exc.HTTPForbidden()

    client_moral_personne_id = request.params[
        "id"] if "id" in request.params else None

    model = request.dbsession.query(ClientMoralPersonne).filter(
        ClientMoralPersonne.id == client_moral_personne_id).first()

    # If result is empty
    if not model:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(
                ClientMoralPersonne.__tablename__, client_moral_personne_id))

    # Read params client
    model = Utils.set_model_record(model, request.params)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(ClientMoralPersonne.__tablename__))
Beispiel #10
0
def notes_maj_update_view(request):
    """
    Update notes_maj
    """
    # Check authorization
    if not Utils.has_permission(request,
                                request.registry.settings['fonction_admin']):
        raise exc.HTTPForbidden()

    # Get operateur_id
    notes_maj_id = request.params['id'] if 'id' in request.params else None

    model = request.dbsession.query(NotesMAJ).filter(
        NotesMAJ.id == notes_maj_id).first()

    # If result is empty
    if not model:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(
                NotesMAJ.__tablename__, notes_maj_id))

    # Read params operateur
    model = Utils.set_model_record(model, request.params)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(NotesMAJ.__tablename__))
Beispiel #11
0
def emolument_facture_update_view(request):
    """
    Update emolument_facture
    """
    # Check authorization
    if not Utils.has_permission(
            request, request.registry.settings['affaire_facture_edition']):
        raise exc.HTTPForbidden()

    emolument_facture_id = request.params[
        'id'] if 'id' in request.params else None

    # Get the facture
    record = request.dbsession.query(EmolumentFacture).filter(
        EmolumentFacture.id == emolument_facture_id).first()

    if not record:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(
                EmolumentFacture.__tablename__, emolument_facture_id))

    record = Utils.set_model_record(record, request.params)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(EmolumentFacture.__tablename__))
Beispiel #12
0
def numeros_update_view(request):
    """
    Update numeros
    """
    # Check authorization
    if not Utils.has_permission(request, request.registry.settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    # Get numero id
    id = request.params['id'] if 'id' in request.params else None

    # Get numero record
    record = request.dbsession.query(Numero).filter(
        Numero.id == id).first()

    if not record:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(Numero.__tablename__, id))

    last_record_etat_id = record.etat_id
    record = Utils.set_model_record(record, request.params)

    if 'etat_id' in request.params:
        if request.params['etat_id'] != last_record_etat_id:
            params = Utils._params(
                numero_id=record.id, numero_etat_id=request.params['etat_id'])
            numeros_etat_histo_new_view(request, params)

    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(Numero.__tablename__))
Beispiel #13
0
def modification_affaires_view(request):
    """
    Modification affaire
    """
    # Check authorization
    if not Utils.has_permission(request, request.registry.settings['affaire_edition']):
        raise exc.HTTPForbidden()

    # Get client instance
    model = Utils.set_model_record(ModificationAffaire(), request.params)

    request.dbsession.add(model)

    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(ModificationAffaire.__tablename__))
Beispiel #14
0
def operateurs_new_view(request):
    """
    Add new operateur
    """
    # Check authorization
    if not Utils.has_permission(request, request.registry.settings['fonction_admin']):
        raise exc.HTTPForbidden()

    # Get operateur instance
    model = Utils.set_model_record(Operateur(), request.params)

    request.dbsession.add(model)

    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(Operateur.__tablename__))
Beispiel #15
0
def numero_differe_new_view(request):
    """
    Add new numero_differe
    """
    # Check authorization
    if not Utils.has_permission(request, request.registry.settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    # nouveau numero_differe
    record = NumeroDiffere()
    record = Utils.set_model_record(record, request.params)

    request.dbsession.add(record)

    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(NumeroDiffere.__tablename__))
Beispiel #16
0
def services_new_view(request):
    """
    Add preavis affaire
    """
    # Check authorization
    if not Utils.has_permission(request,
                                request.registry.settings['fonction_admin']):
        raise exc.HTTPForbidden()

    model = Service()
    model = Utils.set_model_record(model, request.params)

    request.dbsession.add(model)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(Service.__tablename__))
Beispiel #17
0
def clients_moral_personne_new_view(request):
    """
    Add new contact in entreprise
    """
    # Check authorization
    if not Utils.has_permission(request,
                                request.registry.settings['client_edition']):
        raise exc.HTTPForbidden()

    # Get clientMoralPersonne instance
    model = Utils.set_model_record(ClientMoralPersonne(), request.params)

    request.dbsession.add(model)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(ClientMoralPersonne.__tablename__))
Beispiel #18
0
def preavis_new_view(request):
    """
    POST preavis affaire
    """
    # Check authorization
    if not Utils.has_permission(
            request, request.registry.settings['affaire_preavis_edition']):
        raise exc.HTTPForbidden()

    model = Preavis()
    model = Utils.set_model_record(model, request.params)

    request.dbsession.add(model)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(Preavis.__tablename__))
Beispiel #19
0
def clients_new_view(request):
    """
    Add new client
    """
    # Check authorization
    if not Utils.has_permission(request,
                                request.registry.settings['client_edition']):
        raise exc.HTTPForbidden()

    # Get client instance
    model = Utils.set_model_record(Client(), request.params)

    request.dbsession.add(model)
    request.dbsession.flush()

    return json.dumps({'client_id': model.id})
Beispiel #20
0
def affaire_numero_new_view(request, params=None):
    """
    Add new affaire-numero
    """
    # Check authorization
    if not Utils.has_permission(request, request.registry.settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    if not params:
        params = request.params
    # nouveau affaire_numero
    record = AffaireNumero()
    record = Utils.set_model_record(record, params)

    request.dbsession.add(record)

    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(AffaireNumero.__tablename__))
Beispiel #21
0
def numeros_relations_new_view(request, params=None):
    """
    Add new numeros_relations
    """
    if params is None:
        params = request.params

    # Check authorization
    if not Utils.has_permission(request, request.registry.settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    # Get numeros_relations instance
    model = Utils.set_model_record(NumeroRelation(), params)

    request.dbsession.add(model)

    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(NumeroRelation.__tablename__))
Beispiel #22
0
def affaire_numero_update_view(request):
    """
    Update numeros_affaires
    """
    if not Utils.has_permission(request, request.registry.settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    affnum_id = request.params["id"] if "id" in request.params else None

    record = request.dbsession.query(AffaireNumero).filter(AffaireNumero.id == affnum_id).first()

    if not record:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(AffaireNumero.__tablename__, affnum_id))

    record = Utils.set_model_record(record, request.params)

    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(AffaireNumero.__tablename__))
Beispiel #23
0
def emolument_affaire_new_view(request):
    """
    Add new emolument_affaire
    """
    # Check authorization
    if not Utils.has_permission(
            request, request.registry.settings['affaire_facture_edition']):
        raise exc.HTTPForbidden()

    params = request.params
    data = json.loads(params["data"])

    record = EmolumentAffaire()
    record = Utils.set_model_record(record, data)

    request.dbsession.add(record)
    request.dbsession.flush()

    return {"emolument_affaire_id": record.id}
Beispiel #24
0
def numero_differe_update_view(request):
    """
    Update numero_differe
    """
    # Check authorization
    if not Utils.has_permission(request, request.registry.settings['affaire_numero_edition']):
        raise exc.HTTPForbidden()

    if "numero_diff_id" in request.params:
        numdiff_id = request.params["numero_diff_id"]
        record = request.dbsession.query(NumeroDiffere).filter(NumeroDiffere.id == numdiff_id).first()
    
    if "numero_id" in request.params:
        num_id = request.params["numero_id"]
        record = request.dbsession.query(NumeroDiffere).filter(NumeroDiffere.numero_id == num_id).first()

    # update numero_differe
    record = Utils.set_model_record(record, request.params)
    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(NumeroDiffere.__tablename__))
Beispiel #25
0
def affaires_update_view(request):
    """
    Update affaire
    """
    # id_affaire
    id_affaire = request.params['id_affaire'] if 'id_affaire' in request.params else None

    # Get the affaire
    record = request.dbsession.query(Affaire).filter(
        Affaire.id == id_affaire).first()

    if not record:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(Affaire.__tablename__, id_affaire))

    # Get role depending on affaire type
    affaire_type = request.params['type_id'] if 'type_id' in request.params else record.type_id

    # Permission (fonction) par défaut
    permission = request.registry.settings['affaire_edition']

    # Affaire de cadastration
    if affaire_type == request.registry.settings['affaire_type_cadastration_id']:
        permission = request.registry.settings['affaire_cadastration_edition']
    # Affaire de PPE
    elif affaire_type == request.registry.settings['affaire_type_ppe_id']:
        permission = request.registry.settings['affaire_ppe_edition']
    # Affaire de révision d'abornement
    elif affaire_type == request.registry.settings['affaire_type_revision_abornement_id']:
        permission = request.registry.settings['affaire_revision_abornement_edition']
    # Affaire de rétablissement de PFP3
    elif affaire_type == request.registry.settings['affaire_type_retablissement_pfp3_id']:
        permission = request.registry.settings['affaire_retablissement_pfp3_edition']

    # Check authorization
    if not Utils.has_permission(request, permission):
        raise exc.HTTPForbidden()

    record = Utils.set_model_record(record, request.params)

    return Utils.get_data_save_response(Constant.SUCCESS_SAVE.format(Affaire.__tablename__))
Beispiel #26
0
def services_update_view(request):
    """
    UPDATE service
    """
    # Check authorization
    if not Utils.has_permission(request,
                                request.registry.settings['fonction_admin']):
        raise exc.HTTPForbidden()

    service_id = request.params['id'] if 'id' in request.params else None
    record = request.dbsession.query(Service).filter(
        Service.id == service_id).first()

    if not record:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(
                Service.__tablename__, service_id))

    record = Utils.set_model_record(record, request.params)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(Service.__tablename__))
Beispiel #27
0
def update_emolument_affaire_view(request):
    """
    Update emolument_affaire
    """
    # Check authorization
    if not Utils.has_permission(
            request, request.registry.settings['affaire_facture_edition']):
        raise exc.HTTPForbidden()

    params = request.params
    data = json.loads(params["data"])

    record_id = request.params[
        'emolument_affaire_id'] if 'emolument_affaire_id' in request.params else None

    record = request.dbsession.query(EmolumentAffaire).filter(
        EmolumentAffaire.id == record_id).first()

    record = Utils.set_model_record(record, data)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(EmolumentAffaire.__tablename__))
Beispiel #28
0
def preavis_update_view(request):
    """
    UPDATE preavis affaire
    """
    # Check authorization
    if not Utils.has_permission(
            request, request.registry.settings['affaire_preavis_edition']):
        raise exc.HTTPForbidden()

    preavis_id = request.params['id'] if 'id' in request.params else None

    record = request.dbsession.query(Preavis).filter(
        Preavis.id == preavis_id).first()

    if not record:
        raise CustomError(
            CustomError.RECORD_WITH_ID_NOT_FOUND.format(
                Preavis.__tablename__, preavis_id))

    record = Utils.set_model_record(record, request.params)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(Preavis.__tablename__))
Beispiel #29
0
def emolument_new_view(request):
    """
    Add new emolument
    """
    # Check authorization
    if not Utils.has_permission(
            request, request.registry.settings['affaire_facture_edition']):
        raise exc.HTTPForbidden()

    params = request.params
    data = json.loads(params['data'])
    emolument_affaire_id = params['emolument_affaire_id']

    for batiment_i in data:
        for emolument_i in batiment_i:
            if float(batiment_i[emolument_i]['montant']) > 0 and float(
                    batiment_i[emolument_i]['nombre']) > 0:
                params = Utils._params(
                    emolument_affaire_id=int(emolument_affaire_id),
                    tableau_emolument_id=int(
                        batiment_i[emolument_i]['tableau_emolument_id']),
                    position=batiment_i[emolument_i]['nom'],
                    prix_unitaire=float(
                        batiment_i[emolument_i]['prix_unitaire']),
                    nombre=int(batiment_i[emolument_i]['nombre']),
                    batiment=int(batiment_i[emolument_i]['batiment']),
                    batiment_f=float(batiment_i[emolument_i]['batiment_f']),
                    montant=float(batiment_i[emolument_i]['montant']))

                record = Emolument()
                record = Utils.set_model_record(record, params)

                request.dbsession.add(record)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(Emolument.__tablename__))
def reservation_numeros_mo_new_view(request):
    """
    Add new reservation_numeros_mo
    """

    # Check authorization
    if not Utils.has_permission(
            request, request.registry.settings['numero_mo_edition']):
        raise exc.HTTPForbidden()

    # get cadastres jumeaux
    cadastres_ChauxDeFonds_Eplatures_id = [
        int(i) for i in request.registry.
        settings['cadastres_ChauxDeFonds_Eplatures_id'].split(",")
    ]
    cadastres_BrotPlamboz_Plamboz_id = [
        int(i) for i in request.registry.
        settings['cadastres_BrotPlamboz_Plamboz_id'].split(",")
    ]
    cadastres_Neuchatel_Coudre_id = [
        int(i) for i in
        request.registry.settings['cadastres_Neuchatel_Coudre_id'].split(",")
    ]
    cadastres_Sauge_StAubin_id = [
        int(i) for i in
        request.registry.settings['cadastres_Sauge_StAubin_id'].split(",")
    ]

    # get request params
    cadastre_id = int(request.params["cadastre_id"])
    type_id = int(request.params["type_id"])
    plan_id = request.params["plan_id"] if "plan_id" in request.params else None

    # Corriger la liste des cadastres où la réservation de numéros se fait sur deux cadastres
    if cadastre_id in cadastres_ChauxDeFonds_Eplatures_id:
        # Cadastre de la Chaux-de-Fonds et des Eplatures
        max_reservation = max(
            Utils.last_number_mo(request,
                                 cadastres_ChauxDeFonds_Eplatures_id[0],
                                 type_id, plan_id),
            Utils.last_number_mo(request,
                                 cadastres_ChauxDeFonds_Eplatures_id[1],
                                 type_id, plan_id))
    elif cadastre_id in cadastres_BrotPlamboz_Plamboz_id:
        # Cadastre de Brot-Plamboz et Plamboz
        max_reservation = max(
            Utils.last_number_mo(request, cadastres_BrotPlamboz_Plamboz_id[0],
                                 type_id, plan_id),
            Utils.last_number_mo(request, cadastres_BrotPlamboz_Plamboz_id[1],
                                 type_id, plan_id))
    elif cadastre_id in cadastres_Neuchatel_Coudre_id:
        # Cadastre de Neuchâtel et de la Coudre
        max_reservation = max(
            Utils.last_number_mo(request, cadastres_Neuchatel_Coudre_id[0],
                                 type_id, plan_id),
            Utils.last_number_mo(request, cadastres_Neuchatel_Coudre_id[1],
                                 type_id, plan_id))
    elif cadastre_id in cadastres_Sauge_StAubin_id:
        # Cadastre de Sauge et de Saint-Aubin
        max_reservation = max(
            Utils.last_number_mo(request, cadastres_Sauge_StAubin_id[0],
                                 type_id, plan_id),
            Utils.last_number_mo(request, cadastres_Sauge_StAubin_id[1],
                                 type_id, plan_id))
    else:
        max_reservation = Utils.last_number_mo(request, cadastre_id, type_id,
                                               plan_id)

    # get params into mutable dict
    params = {}
    for key in request.params:
        params[key] = request.params[key]

    # Adjust numbers
    params['numero_de'] = max_reservation + int(params['numero_de'])
    params['numero_a'] = max_reservation + int(params['numero_a'])

    # Save in database
    model = ReservationNumerosMO()
    model = Utils.set_model_record(model, params)

    request.dbsession.add(model)

    return Utils.get_data_save_response(
        Constant.SUCCESS_SAVE.format(ReservationNumerosMO.__tablename__))