示例#1
0
def aplicar():

    appCreate = app_create(db, Aplicacao(db, session.aplicacao_id).getApplId(), request, force=True, info=True)
    if  not appCreate[0]:
        session.gerarMsgPrototipo = [appCreate[1]]
        redirect(URL('index'))

    createLoads = CreateLoads(db, cAppl=session.aplicacao_id, info=True).createLoads()
    if  not createLoads[0]:
        session.gerarMsgPrototipo = [createLoads[1]]
        redirect(URL('index'))

    createLayout = CreateLayout(db, cAppl=session.aplicacao_id, info=True).createLayout()
    if  not createLayout[0]:
        session.gerarMsgPrototipo = [createLayout[1]]
        redirect(URL('index'))

    createDB = CreateDB(db, cAppl=session.aplicacao_id, createDataBase=True, info=True).createDB()
    if  not createDB[0]:
        session.gerarMsgPrototipo = [createDB[1]]
        redirect(URL('index'))

    db(db.checkListPrototipo.codigoAplicacao==session.aplicacao_id).update(aplicacao   = True
                                                                          ,menus       = False
                                                                          ,controllers = False
                                                                          ,users       = False
                                                                          ,mensagens   = False)
    session.gerarMsgPrototipo = ['Aplicação Criada com Sucesso']
    redirect(URL('index'))
示例#2
0
    def colunaEntidadeRelacionada(self, col, dicModulos):
        entidadeIdRef = col.colunasEntidadesReferenciadas.entidadeReferenciada
        retPrograma = self.programas.selectProgramasByEntidadeRegra(
            entidadeIdRef, 'C')
        if not retPrograma[0]:
            if retPrograma[1]:
                return [
                    0,
                    'Ocorreu um erro na chamada de selectProgramasByEntidadeRegra.'
                    + str(retPrograma[2])
                ]
            else:
                return [1]
        pgmConsulta = retPrograma[1][0]
        if pgmConsulta.codigoAplicacao == self.cAppl:
            soag = self.soag
        else:
            soag = Aplicacao(self.db, pgmConsulta.codigoAplicacao).getSoag()
        if soag:
            modulo = self.applId + '3' + pgmConsulta.nomePrograma + 'C'
            interface = self.applId + 'W' + pgmConsulta.nomePrograma + 'I'
            controle = self.applId + 'W00C'
        else:
            modulo = pgmConsulta.nomePrograma
            interface = pgmConsulta.bookInterface
            controle = pgmConsulta.bookControle

        dic = {'modulo': modulo, 'interface': interface, 'controle': controle}

        dicModulos[col.colunas.columnName] = dic
        return [1]
示例#3
0
 def __init__(self, db, cAppl=0, info=False):
     self.db = db
     self.cAppl = cAppl
     self.aplicacao = Aplicacao(self.db, self.cAppl).getApplId()
     parms = db(db.parametros.id == 1).select()[0]
     self.checkListPrototipo = self.db.checkListPrototipo
     self.fileDump = os.path.join('\\\\', '127.0.0.1', 'c$', parms.web2py,
                                  'applications', self.aplicacao, 'private',
                                  'msgDump.pickle')
示例#4
0
def acessar():

    if len(db(db.menu.codigoAplicacao == session.aplicacao_id).select()) < 2:
        session.acessarMsgPrototipo = ['Menus nao foram Criados']
        redirect(URL('index'))

    if len(
            db(db.userAplicacao.codigoAplicacao ==
               session.aplicacao_id).select()) < 1:
        session.acessarMsgPrototipo = ['Usuarios nao foram Criados']
        redirect(URL('index'))

    checkListPrototipo = CheckListPrototipo(db, cAppl=session.aplicacao_id)

    if not checkListPrototipo.getAplicacao():
        session.acessarMsgPrototipo = ['Aplicação nao foi Criada']
        redirect(URL('index'))

    if not checkListPrototipo.getModel():
        createDB = CreateDB(db, cAppl=session.aplicacao_id,
                            info=True).createDB()
        if not createDB[0]:
            session.acessarMsgPrototipo = [createDB[1]]
            redirect(URL('index'))

    if not checkListPrototipo.getMenus():
        createMenu = CreateMenu(db, cAppl=session.aplicacao_id,
                                info=True).createMenu()
        if not createMenu[0]:
            session.acessarMsgPrototipo = [createMenu[1]]
            redirect(URL('index'))

    if not checkListPrototipo.getControllers():
        createController = CreateController(db,
                                            cAppl=session.aplicacao_id,
                                            info=True).createController()
        if not createController[0]:
            session.acessarMsgPrototipo = [createController[1]]
            redirect(URL('index'))

    if not checkListPrototipo.getUsers():
        dumpUsers = DumpUsers(db, cAppl=session.aplicacao_id,
                              info=True).dumpUsers()
        if not dumpUsers[0]:
            session.acessarMsgPrototipo = [dumpUsers[1]]
            redirect(URL('index'))

    if not checkListPrototipo.getMensagens():
        dumpMsg = DumpMsg(db, cAppl=session.aplicacao_id, info=True).dumpMsg()
        if not dumpMsg[0]:
            session.acessarMsgPrototipo = [dumpMsg[1]]
            redirect(URL('index'))

    redirect('../../{}/default/index'.format(
        Aplicacao(db, session.aplicacao_id).getApplId()))
示例#5
0
 def __init__(self, db, cAppl=None, info=False):
     self.db = db
     self.cAppl = cAppl
     self.info = info
     self.applId = Aplicacao(self.db, self.cAppl).getApplId()
     self.parametros = self.db.parametros
     self.parms = self.db(self.parametros).select()[0]
     self.pathApp = os.path.join('\\\\', '127.0.0.1', 'c$', 'web2py',
                                 'applications', self.applId, 'models')
     self.pathTempl = os.path.join('\\\\', '127.0.0.1', 'c$', 'web2py',
                                   'applications', self.parms.soag,
                                   'Template', 'web2py', 'templates')
示例#6
0
    def __init__(self,
                 db,
                 sessionId=None,
                 cAppl=None,
                 userName=None,
                 gerar=True):
        self.gerar = gerar
        self.db = db
        self.cAppl = cAppl or 0
        self.aplicacao = Aplicacao(self.db, self.cAppl)
        self.applId = self.aplicacao.getApplId().upper()
        self.applName = ra(self.aplicacao.getApplName()).upper()
        self.contratante = self.aplicacao.getContratante().upper()
        self.analista = self.aplicacao.getAnalista().upper()
        self.ownerDb2 = self.aplicacao.getOwnerDb2().upper()
        self.grupo = self.aplicacao.getGrupo()
        self.soag = self.aplicacao.getSoag()
        self.delecaoLogica = self.aplicacao.getDelecaoLogica()
        self.colDelLog = self.aplicacao.getColunaDelecaoLogica()
        self.empresa = Empresa(
            self.db, self.aplicacao.getEmpresaId()).getNome().upper()
        self.entidades = Entidades(self.db)
        self.colunas = Colunas(self.db, self.cAppl)
        if self.delecaoLogica:
            self.colDelLogName = self.colunas.selectColunasByColumnId(
                self.colDelLog)[1][0].columnName
        self.colunasEntidades = ColunasEntidades(self.db)
        self.ColunasEntidadesReferenciadas = ColunasEntidadesReferenciadas(
            self.db)
        self.programas = Programas(self.db)
        self.mensagens = Mensagens(self.db, cAppl=self.cAppl)
        self.primaryKeys = PrimaryKeys(self.db)
        self.foreignKeys = ForeignKeys(self.db)
        self.OrigemColunasAplicacao = OrigemColunasAplicacao(self.db)
        self.regrasColunas = RegrasColunas(self.db)
        self.bookSaiB = False
        self.userName = userName.upper()
        self.sessionId = sessionId or '1'
        self.parametros = self.db.parametros
        self.parms = self.db(self.parametros).select()[0]
        self.log = os.path.join('\\\\', '127.0.0.1', 'c$', self.parms.log,
                                "gerpro_%s.log" % (self.sessionId))
        arq = open(self.log, 'w')
        arq.close()
        self.gerBook = GerBook(self.db)
        self.gerProg = GerProg(self.db)
        self.compact = Compact(self.db)
        self.validarPK = 0

        self.ret = []
示例#7
0
    def __init__(self, db, cAppl=None, info=False):
        self.db         = db
        self.cAppl      = cAppl
        self.info = info
        self.aplicacao  = Aplicacao(self.db, self.cAppl)
        self.applId     = self.aplicacao.getApplId()
        self.applName   = self.aplicacao.getApplName()
        self.nomeLogo   = self.aplicacao.getNomeLogo()
        self.applLogo   = self.aplicacao.getApplLogo()
        self.parametros = self.db.parametros
        self.parms      = self.db(self.parametros).select()[0]

        self.logoAppOrigem = os.path.join( '\\\\'
                                         , '127.0.0.1'
                                         , 'c$'
                                         , 'web2py'
                                         , 'applications'
                                         , self.parms.soag
                                         , 'uploads') + os.sep

        self.logoAppDestino = os.path.join( '\\\\'
                                          , '127.0.0.1'
                                          , 'c$'
                                          , 'web2py'
                                          , 'applications'
                                          , self.applId
                                          , 'static'
                                          , 'images') + os.sep

        self.layoutApp    = os.path.join( '\\\\'
                                      , '127.0.0.1'
                                      , 'c$'
                                      , 'web2py'
                                      , 'applications'
                                      , self.applId
                                      , 'views'
                                      , 'layout.html')

        self.Template   = os.path.join( '\\\\'
                                      , '127.0.0.1'
                                      , 'c$'
                                      , 'web2py'
                                      , 'applications'
                                      , self.parms.soag
                                      , 'Template'
                                      , 'web2py'
                                      , 'templates'
                                      , 'layout.html')
示例#8
0
 def __init__(self, db, cAppl=0, info=False):
     self.db = db
     self.cAppl = cAppl
     self.info = info
     self.aplicacao = Aplicacao(self.db, self.cAppl)
     self.applId = self.aplicacao.getApplId()
     modeloDB = {0:'Soag', 1:'legacy'}
     self.modeloDb = modeloDB[self.aplicacao.getModeloDb()]
     self.entidades = Entidades(self.db, cAppl=self.cAppl)
     self.colunasEntidades = ColunasEntidades(self.db)
     self.primaryKeys = PrimaryKeys(self.db)
     self.OrigemColunasAplicacao = OrigemColunasAplicacao(self.db)
     self.mensagens = Mensagens(self.db, cAppl=self.cAppl)
     self.menu = self.db.menu
     self.parametros = self.db.parametros
     self.parms = self.db(self.parametros).select()[0]
     self.checkListPrototipo = self.db.checkListPrototipo
     self.pathApp = os.path.join('\\\\', '127.0.0.1', 'c$', 'web2py', 'applications', self.applId)
     self.pathTempl = os.path.join( '\\\\', '127.0.0.1', 'c$', 'web2py', 'applications', self.parms.soag
                                   , 'Template', 'web2py', 'templates')
示例#9
0
    def __init__(self, db, cAppl=0, info=False):
        self.db = db
        self.cAppl = cAppl
        self.info = info
        self.aplicacao = Aplicacao(self.db, self.cAppl)
        self.applId = self.aplicacao.getApplId()
        self.entidades = Entidades(self.db, cAppl=self.cAppl)
        self.menu = self.db.menu
        self.parametros = self.db.parametros
        self.parms = self.db(self.parametros).select()[0]
        self.checkListPrototipo = self.db.checkListPrototipo

        self.menuApp = os.path.join('\\\\', '127.0.0.1', 'c$', 'web2py',
                                    'applications', self.applId, 'models',
                                    'menu2.py')

        self.Template = os.path.join('\\\\', '127.0.0.1', 'c$', 'web2py',
                                     'applications', self.parms.soag,
                                     'Template', 'web2py', 'templates',
                                     'menu2.py')
示例#10
0
 def __init__(self, db, cAppl=None):
     self.db = db
     self.cAppl = cAppl or 0
     self.applId = Aplicacao(self.db, self.cAppl).getApplId()
     self.programas = self.db.programas
     self.char = string.digits + string.ascii_uppercase
     self.gravados = 0
     self.regra = Regras(self.db).getRegras(1)
     self.entidades = Entidades(self.db, cAppl=self.cAppl)
     self.primaryKeys = PrimaryKeys(self.db)
     self.bookSaida = {'I': 0, 'A': '0', 'E': 0, 'C': 1, 'L': 1}
     returnCode = self.maxPrograma()
     if returnCode[0] and returnCode[1]:
         mp = returnCode[1]
         self.c1 = self.char.index(mp[0])
         self.c2 = self.char.index(mp[1])
     else:
         self.c1 = 0
         self.c2 = -1
     self.checkList = CheckList(self.db, cAppl=self.cAppl)
示例#11
0
    def __init__(self, db, cAppl=None, createDataBase=False, info=False):
        self.db = db
        self.cAppl = cAppl
        self.createDataBase = createDataBase
        self.info = info
        self.aplicacao = Aplicacao(self.db, self.cAppl)
        self.applId = self.aplicacao.getApplId()
        self.modeloDb = self.aplicacao.getModeloDb()
        self.entidades = Entidades(self.db, cAppl=self.cAppl)
        self.colunas = Colunas(db, cAppl=self.cAppl)
        self.colunasEntidades = ColunasEntidades(self.db, self.cAppl)
        self.ColEntRef = ColunasEntidadesReferenciadas(self.db)
        self.primaryKeys = PrimaryKeys(self.db)
        self.foreignKeys = ForeignKeys(self.db)
        self.OrigemColunasAplicacao = OrigemColunasAplicacao(self.db)
        self.regrasColunas = RegrasColunas(self.db)
        self.mensagens = Mensagens(self.db, cAppl=self.cAppl)
        self.parametros = self.db.parametros
        self.parms = self.db(self.parametros).select()[0]
        self.checkListPrototipo = self.db.checkListPrototipo
        self.database = Database(db, cAppl=self.cAppl)
        self.databaseCreated = False

        App = os.path.join('\\\\', '127.0.0.1', 'c$', 'web2py', 'applications',
                           self.applId)

        self.dbApp = os.path.join(App, 'models', 'db.py')

        self.settings = os.path.join(App, 'models', 'settings_local.db')

        self.databases = os.path.join(App, 'databases')

        Template = os.path.join('\\\\', '127.0.0.1', 'c$', 'web2py',
                                'applications', self.parms.soag, 'Template',
                                'web2py', 'models')

        self.dbTemplate = os.path.join(Template, 'db.py')

        self.settingsTemplate = os.path.join(Template, 'settings_local.db')
示例#12
0
import sys
from Aplicacao import Aplicacao

_opcao_ = ""
if len(sys.argv)> 1:
   _opcao_ = sys.argv[1]
   perfil = None
   if( len(sys.argv)>2):
       perfil = sys.argv[2]
   app = Aplicacao(perfil)
   app.iniciar(_opcao_)
else:
    print("opcao invalida")

示例#13
0
    def entidadeRelacionada(self, col, dicForeignKeys, dicRegras, typePgm):
        if col.colunas.id in dicForeignKeys:
            entidadeIdRef = dicForeignKeys[col.colunas.id][0]
            retPrograma = self.programas.selectProgramasByEntidadeRegra(
                entidadeIdRef, 'C')
            if not retPrograma[0]:
                if retPrograma[1]:
                    return [
                        0,
                        'Ocorreu um erro na chamada de selectProgramasByEntidadeRegra.'
                        + str(retPrograma[2])
                    ]
                else:
                    return [1]
            pgmConsulta = retPrograma[1][0]
            if pgmConsulta.codigoAplicacao == self.cAppl:
                soag = self.soag
            else:
                soag = Aplicacao(self.db,
                                 pgmConsulta.codigoAplicacao).getSoag()
            if soag:
                modulo = self.applId + '3' + pgmConsulta.nomePrograma + 'C'
                interface = self.applId + 'W' + pgmConsulta.nomePrograma + 'I'
                controle = self.applId + 'W00C'
            else:
                modulo = pgmConsulta.nomePrograma
                interface = pgmConsulta.bookInterface
                controle = pgmConsulta.bookControle
            if dicForeignKeys[col.colunas.id][1] == col.colunas.id:
                coluna = col.colunas.columnName
            else:
                retColRef = self.colunas.selectColunasByColumnId(
                    dicForeignKeys[col.colunas.id][1])
                if not retColRef:
                    return [
                        0,
                        'Ocorreu um erro na chamada de selectColunasByColumnId.'
                        + str(retColRef[2])
                    ]
                coluna = retColRef[1][0].columnName
            if typePgm == 'C':
                if col.colunasEntidades.consultaSaida:
                    esif = 'S'
                else:
                    esif = 'E'
            elif typePgm == 'L':
                if col.colunasEntidades.listaSaida:
                    esif = 'S'
                else:
                    esif = 'E'
            else:
                esif = ''

            dic = {
                'modulo': modulo,
                'interface': interface,
                'controle': controle,
                'coluna': coluna
            }
            #                  ,'esif':esif}
            if col.colunas.columnName in dicRegras:
                oldDic = dicRegras[col.colunas.columnName]
                oldDic['EX'] = dic
                dicRegras[col.colunas.columnName] = oldDic
            else:
                dicRegras[col.colunas.columnName] = {'EX': dic}

#>>>>>>> regra Registro Ativo
#            if  self.delecaoLogica:
#                retColunaDelecaoLogica = self.colunasEntidades.selectColunasEntidadesByCodigoEntidadeCodigoColuna \
#                                         (entidadeIdRef, self.colDelLog)
#                if  not retColunaDelecaoLogica[0]:
#                    return [0,'Ocorreu um erro na chamada de selectColunasEntidadesByCodigoEntidadeCodigoColuna.' \
#                             + str(retColunaDelecaoLogica[2])]
#                if  (retColunaDelecaoLogica[1]
#                and dicForeignKeys[col.colunas.id][2]):
#                    retMessage = self.montaMensagem(entidadeIdRef, 'E', 'E', 'AT', nova=1)
#                    if  not retMessage[0]:
#                        return retMessage
#                    dic = {'modulo':modulo
#                          ,'colDelLogName':self.colDelLogName
#                          ,'message':retMessage[1]}
#                    if  col.colunas.columnName in dicRegras:
#                        oldDic = dicRegras[col.colunas.columnName]
#                        oldDic['AT']=dic
#                        dicRegras[col.colunas.columnName]=oldDic
#                    else:
#                        dicRegras[col.colunas.columnName]={'AT':dic}
        return [1]
示例#14
0
def index():
    iderwin = request.args(0)
    erwin = db(db.erwins.id == iderwin).select().first()
    parms = db(db.parametros.id == 1).select().first()
    arqui = os.path.join('\\\\', '127.0.0.1', 'c$', parms.web2py,
                         'applications', parms.soag, 'private',
                         'sgdb_%s.pickle' % iderwin)
    try:
        pickef = pickle.load(open(arqui, "rb"))
    except:
        pickef = None

    db.erwins.default1.requires = IS_NOT_EMPTY()
    db.erwins.nomeExterno2.requires = IS_NOT_EMPTY()
    db.erwins.default3.requires = IS_IN_SET(['Sequencial 1 em 1'],
                                            zero='-- Selecione --')
    form = SQLFORM(db.erwins, iderwin, deletable=False)
    if request.vars:
        form.vars.codigoAplicacao = request.vars.codigoAplicacao = \
                                                 erwin.codigoAplicacao
        form.vars.nome = request.vars.nome = erwin.nome
        form.vars.status = request.vars.status = erwin.status
    if form.accepts(request.vars, session):
        db(db.erwins.id == iderwin).update(
            status=5,
            mensagem='Pendente Processamento',
            nomeExterno1=Aplicacao(db, erwin.codigoAplicacao).getApplId(),
            nomeExterno3='',
            usuarioConfirmacao=auth.user.id,
            dataConfirmacao=datetime.datetime.today())
        session.status_id = 5
        session.flash = 'Padroes Alterados'
        redirect(URL('index', args=(iderwin)))
    erwin = db(db.erwins.id == iderwin).select().first()
    if erwin.nomeExterno1 and erwin.default1 and erwin.nomeExterno2 and erwin.default3:
        buttons = [['Validar Padroes', 'validar', '70', '390', '530', '600']]
    else:
        buttons = []
    if session.get('flash', None):
        response.flash = session.flash
        session.flash = None
    if session.get('labelErrors', None):
        form.labelErrors = session.labelErrors
        session.labelErrors = None
    if session.msgsErrors:
        form.errors = session.msgsErrors
        session.msgsErrors = None
    query = db.erwins.id == iderwin
    return dict(
        listdetail.index(['Formacao do Nome DCLGEN'],
                         'erwins',
                         erwins,
                         query,
                         form,
                         width_label='35%',
                         width_field='65%',
                         noDetail=[
                             'codigoAplicacao', 'nome', 'arquivo', 'status',
                             'mensagem', 'nomeExterno1', 'nomeExterno3',
                             'usuarioConfirmacao', 'dataConfirmacao'
                         ],
                         noList=True,
                         optionDelete=False,
                         buttonClear=False,
                         buttons=buttons,
                         buttonSubmit=True if pickef else False))