Example #1
0
def edit_supplier():
    _vars = pdf.init()
    _db = _vars[0]
    _cfg = _vars[1]
    log = _Log(_cfg.cfg['GLOBAL']['logfile'])
    spreadsheet = _Spreadsheet(log, _cfg)
    data = request.get_json()

    if 'getOnlyRawFooter' not in data:
        data['getOnlyRawFooter'] = False

    update_data = {
        'name': data['name'],
        'vat_number': data['VAT'],
        'siret': data['SIRET'],
        'siren': data['SIREN'],
        'city': data['city'],
        'adress1': data['adress'],
        'adress2': data['adress2'],
        'postal_code': data['zip'],
        'get_only_raw_footer': str(data['getOnlyRawFooter'])
    }

    if 'companyTypo' in data:
        update_data['typology'] = data['companyTypo']

    if data['companyType'] != '':
        update_data['company_type'] = data['companyType']

    args = {
        'table': ['suppliers'],
        'set': update_data,
        'where': ['id = ?'],
        'data': [data['supplierId']],
    }
    res = _db.update(args)

    if res:
        spreadsheet.update_supplier_ods_sheet(_db)
        if 'pdfId' in data:
            args = {
                'table': ['invoices'],
                'set': {
                    'id_supplier': data['supplierId'],
                },
                'where': ['id = ?'],
                'data': [data['pdfId']],
            }
            res = _db.update(args)
        flash(gettext('SUPPLIER_EDITED'))

    else:
        return json.dumps({'code': 500, 'ok': 'false'})

    return json.dumps({'code': 200, 'ok': 'true'})
def update_typo_database(database, vat_number, typo, log, config):
    spreadsheet = _Spreadsheet(log, config)
    mime = mimetypes.guess_type(spreadsheet.referencialSuppplierSpreadsheet)[0]
    if mime in ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']:
        spreadsheet.write_typo_excel_sheet(vat_number, typo)
    else:
        spreadsheet.write_typo_ods_sheet(vat_number, typo)

    database.update({
        'table': ['suppliers'],
        'set': {
            'typology': typo,
        },
        'where': ['vat_number = ?'],
        'data': [vat_number]
    })
Example #3
0
def delete_supplier(supplier_id):
    _vars = pdf.init()
    _db = _vars[0]
    _cfg = _vars[1]
    log = _Log(_cfg.cfg['GLOBAL']['logfile'])
    spreadsheet = _Spreadsheet(log, _cfg)
    res = _db.update({
        'table': ['suppliers'],
        'set': {
            'status': 'DEL'
        },
        'where': ['id = ?'],
        'data': [supplier_id]
    })

    if res:
        spreadsheet.update_supplier_ods_sheet(_db)
        flash(gettext('SUPPLIER_DELETED'))
        return json.dumps({'text': 'OK', 'code': 200, 'ok': 'true'})

    return res
if __name__ == '__main__':
    ap = argparse.ArgumentParser()
    ap.add_argument("-c",
                    "--config",
                    required=True,
                    help="path to config file")
    args = vars(ap.parse_args())

    if not os.path.exists(args['config']):
        sys.exit('Config file couldn\'t be found')

    configName = _Config(args['config'])
    Config = _Config(configName.cfg['PROFILE']['cfgpath'] + '/config_' +
                     configName.cfg['PROFILE']['id'] + '.ini')
    Log = _Log(Config.cfg['GLOBAL']['logfile'])
    Spreadsheet = _Spreadsheet(Log, Config)
    dbType = Config.cfg['DATABASE']['databasetype']
    dbUser = Config.cfg['DATABASE']['postgresuser']
    dbPwd = Config.cfg['DATABASE']['postgrespassword']
    dbname = Config.cfg['DATABASE']['postgresdatabase']
    dbhost = Config.cfg['DATABASE']['postgreshost']
    dbport = Config.cfg['DATABASE']['postgresport']
    Database = _Database(Log, dbType, dbname, dbUser, dbPwd, dbhost, dbport,
                         Config.cfg['DATABASE']['databasefile'])

    # Load the referencials into array before inject it into database
    # Read MIME type from file

    #TODO
    # Add the MIME type into a config file
    mime = mimetypes.guess_type(Spreadsheet.referencialSuppplierSpreadsheet)[0]
Example #5
0
def add_supplier():
    _vars = pdf.init()
    _db = _vars[0]
    _cfg = _vars[1]
    log = _Log(_cfg.cfg['GLOBAL']['logfile'])
    spreadsheet = _Spreadsheet(log, _cfg)
    data = request.get_json()

    if 'getOnlyRawFooter' not in data:
        data['getOnlyRawFooter'] = False

    add_data = {
        'name': data['name'],
        'vat_number': data['VAT'],
        'siret': data['SIRET'],
        'siren': data['SIREN'],
        'city': data['city'],
        'adress1': data['adress'],
        'adress2': data['adress2'],
        'postal_code': data['zip'],
        'get_only_raw_footer': str(data['getOnlyRawFooter'])
    }

    if data['companyType']:
        add_data['company_type'] = data['companyType']

    if 'companyTypo' in data:
        add_data['typology'] = data['companyTypo']

    args = {
        'table': 'suppliers',
        'columns': add_data,
    }
    res = _db.insert(args)

    if res:
        spreadsheet.update_supplier_ods_sheet(_db)
        if 'pdfId' in data:
            id_supplier = _db.select({
                'select': ['*'],
                'table': ['suppliers'],
                'where': ['status= ?'],
                'data': ['ACTIVE'],
                'order_by': ['id DESC'],
                'limit': '1'
            })[0]['id']

            args = {
                'table': ['invoices'],
                'set': {
                    'id_supplier': id_supplier,
                },
                'where': ['id = ?'],
                'data': [data['pdfId']],
            }
            res = _db.update(args)
        flash(gettext('SUPPLIER_ADDED'))
    else:
        return json.dumps({'code': 500, 'ok': 'false'})

    return json.dumps({'code': 200, 'ok': 'true'})
                    required=True,
                    help="path to config file")
    ap.add_argument("-f",
                    "--file",
                    required=False,
                    help="path to referential file")
    args = vars(ap.parse_args())

    if not os.path.exists(args['config']):
        sys.exit('Config file couldn\'t be found')

    config_name = _Config(args['config'])
    config = _Config(config_name.cfg['PROFILE']['cfgpath'] + '/config_' +
                     config_name.cfg['PROFILE']['id'] + '.ini')
    log = _Log(config.cfg['GLOBAL']['logfile'])
    spreadsheet = _Spreadsheet(log, config)
    db_type = config.cfg['DATABASE']['databasetype']
    db_user = config.cfg['DATABASE']['postgresuser']
    db_pwd = config.cfg['DATABASE']['postgrespassword']
    db_name = config.cfg['DATABASE']['postgresdatabase']
    db_host = config.cfg['DATABASE']['postgreshost']
    db_port = config.cfg['DATABASE']['postgresport']
    database = _Database(log, db_type, db_name, db_user, db_pwd, db_host,
                         db_port, config.cfg['DATABASE']['databasefile'])

    file = spreadsheet.referencialSuppplierSpreadsheet
    if args['file']:
        if os.path.exists(args['file']):
            file = args['file']

    mime = mimetypes.guess_type(file)[0]