From 1d68c2f2d4f3045742eb6c22e1e2f18dcfc458af Mon Sep 17 00:00:00 2001 From: marian-vignau Date: Tue, 19 Jan 2016 23:02:26 -0300 Subject: [PATCH] =?UTF-8?q?primera=20versi=C3=B3n=20en=20web2py.=20Muy=20i?= =?UTF-8?q?ncompleta.=20Documentacion=20en=20documents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ABOUT | 2 + LICENSE | 4 + __init__.py | 1 + __init__.pyc | Bin 0 -> 120 bytes controllers/appadmin.py | 701 ++++++++++++++++ controllers/default.py | 74 ++ controllers/default.py.bak | 74 ++ cron/crontab | 1 + cron/crontab.example | 1 + ...669d15150d7109e5f7ab36744a5b7_agenda.table | 175 ++++ ...9d15150d7109e5f7ab36744a5b7_auth_cas.table | 108 +++ ...15150d7109e5f7ab36744a5b7_auth_event.table | 108 +++ ...15150d7109e5f7ab36744a5b7_auth_group.table | 58 ++ ...d7109e5f7ab36744a5b7_auth_membership.table | 58 ++ ...d7109e5f7ab36744a5b7_auth_permission.table | 91 +++ ...d15150d7109e5f7ab36744a5b7_auth_user.table | 137 ++++ ...15150d7109e5f7ab36744a5b7_expediente.table | 191 +++++ ...5150d7109e5f7ab36744a5b7_expedientes.table | 189 +++++ ...b669d15150d7109e5f7ab36744a5b7_fuero.table | 124 +++ ...d15150d7109e5f7ab36744a5b7_instancia.table | 41 + ...69d15150d7109e5f7ab36744a5b7_juzgado.table | 158 ++++ ...15150d7109e5f7ab36744a5b7_movimiento.table | 192 +++++ ...69d15150d7109e5f7ab36744a5b7_persona.table | 229 ++++++ ...0c3f38c17074934c8687b810a0f7c_agenda.table | 174 ++++ ...3f38c17074934c8687b810a0f7c_auth_cas.table | 108 +++ ...38c17074934c8687b810a0f7c_auth_event.table | 108 +++ ...38c17074934c8687b810a0f7c_auth_group.table | 58 ++ ...074934c8687b810a0f7c_auth_membership.table | 58 ++ ...074934c8687b810a0f7c_auth_permission.table | 91 +++ ...f38c17074934c8687b810a0f7c_auth_user.table | 137 ++++ ...38c17074934c8687b810a0f7c_expediente.table | 190 +++++ ...f0c3f38c17074934c8687b810a0f7c_fuero.table | 131 +++ ...f38c17074934c8687b810a0f7c_instancia.table | 41 + ...c3f38c17074934c8687b810a0f7c_juzgado.table | 158 ++++ ...38c17074934c8687b810a0f7c_movimiento.table | 191 +++++ ...c3f38c17074934c8687b810a0f7c_persona.table | 205 +++++ databases/sql.log | 553 +++++++++++++ databases/storage.sqlite | Bin 0 -> 22528 bytes databases/storage_new.sqlite | Bin 0 -> 20480 bytes .../Creative Commons Legal Code.html | 0 .../deeds.css | 0 .../logo_code.gif | Bin .../Final-Examen2-Diplomatura-2.odt | Bin pyDoctor.py => documents/pyDoctor.py | 0 pyDoctor2.sql => documents/pyDoctor2.sql | 0 languages/ar.py | 122 +++ languages/ca.py | 492 +++++++++++ languages/cs.py | 480 +++++++++++ languages/de.py | 199 +++++ languages/default.py | 122 +++ languages/es.py | 517 ++++++++++++ languages/fr-ca.py | 195 +++++ languages/fr.py | 190 +++++ languages/hi.py | 149 ++++ languages/hu.py | 162 ++++ languages/id.py | 272 +++++++ languages/it.py | 249 ++++++ languages/my-mm.py | 278 +++++++ languages/my.py | 217 +++++ languages/nl.py | 376 +++++++++ languages/pl.py | 171 ++++ languages/plural-cs.py | 20 + languages/plural-en.py | 15 + languages/plural-es.py | 8 + languages/plural-ru.py | 16 + languages/plural-uk.py | 17 + languages/pt-br.py | 176 ++++ languages/pt.py | 184 +++++ languages/ro.py | 373 +++++++++ languages/ru.py | 195 +++++ languages/sk.py | 171 ++++ languages/tr.py | 166 ++++ languages/uk.py | 227 ++++++ languages/zh-cn.py | 244 ++++++ languages/zh-tw.py | 244 ++++++ languages/zh.py | 231 ++++++ models/db.py | 92 +++ models/db_pydoctor.py | 79 ++ models/db_pydoctor.py.bak | 80 ++ models/menu.py | 145 ++++ models/menu.py.bak | 145 ++++ modules/__init__.py | 1 + modules/__init__.pyc | Bin 0 -> 128 bytes private/appconfig.ini | 19 + progress.log | 117 +++ routes.example.py | 38 + static/403.html | 1 + static/404.html | 1 + static/500.html | 1 + static/css/bootstrap.min.css | 13 + static/css/calendar.css | 7 + static/css/web2py-bootstrap3.css | 316 +++++++ static/css/web2py.css | 313 +++++++ static/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes static/fonts/glyphicons-halflings-regular.svg | 288 +++++++ static/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes static/images/background.jpg | Bin 0 -> 740881 bytes static/images/facebook.png | Bin 0 -> 991 bytes static/images/favicon.ico | Bin 0 -> 198 bytes static/images/favicon.png | Bin 0 -> 323 bytes static/images/gplus-32.png | Bin 0 -> 1513 bytes static/images/twitter.png | Bin 0 -> 1120 bytes static/js/analytics.min.js | 8 + static/js/bootstrap.min.js | 7 + static/js/calendar.js | 29 + static/js/jquery.js | 5 + static/js/modernizr-2.8.3.min.js | 4 + static/js/respond-1.4.2.min.js | 6 + static/js/share.js | 44 + static/js/web2py-bootstrap3.js | 82 ++ static/js/web2py.js | 769 ++++++++++++++++++ ...32303135313231325f3135323132342e6a7067.jpg | Bin 0 -> 1473362 bytes views/__init__.py | 1 + views/appadmin.html | 278 +++++++ views/default/admin_expedientes.html | 4 + views/default/admin_expedientes.html.bak | 4 + views/default/admin_juzgados.html | 4 + views/default/admin_juzgados.html.bak | 4 + views/default/admin_personas.html | 4 + views/default/admin_personas.html.bak | 3 + views/default/edit_expediente.html.bak | 11 + views/default/index.html | 16 + views/default/index.html.bak | 52 ++ views/default/list_expedientes.html.bak | 10 + views/default/user.html | 35 + views/generic.html | 16 + views/generic.ics | 17 + views/generic.json | 1 + views/generic.jsonp | 23 + views/generic.load | 30 + views/generic.map | 69 ++ views/generic.pdf | Bin 0 -> 306 bytes views/generic.rss | 10 + views/generic.xml | 1 + views/layout.html | 131 +++ views/web2py_ajax.html | 16 + 138 files changed, 14748 insertions(+) create mode 100644 ABOUT create mode 100644 LICENSE create mode 100644 __init__.py create mode 100644 __init__.pyc create mode 100644 controllers/appadmin.py create mode 100644 controllers/default.py create mode 100644 controllers/default.py.bak create mode 100644 cron/crontab create mode 100644 cron/crontab.example create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_agenda.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_auth_cas.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_auth_event.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_auth_group.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_auth_permission.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_auth_user.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_expediente.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_expedientes.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_fuero.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_instancia.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_juzgado.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_movimiento.table create mode 100644 databases/c8b669d15150d7109e5f7ab36744a5b7_persona.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_agenda.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_auth_cas.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_auth_event.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_auth_group.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_auth_membership.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_auth_permission.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_auth_user.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_expediente.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_fuero.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_instancia.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_juzgado.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_movimiento.table create mode 100644 databases/cef0c3f38c17074934c8687b810a0f7c_persona.table create mode 100644 databases/sql.log create mode 100644 databases/storage.sqlite create mode 100644 databases/storage_new.sqlite rename Creative Commons Legal Code.html => documents/Creative Commons Legal Code.html (100%) rename {Creative Commons Legal Code_files => documents/Creative Commons Legal Code_files}/deeds.css (100%) rename {Creative Commons Legal Code_files => documents/Creative Commons Legal Code_files}/logo_code.gif (100%) rename Final-Examen2-Diplomatura-2.odt => documents/Final-Examen2-Diplomatura-2.odt (100%) rename pyDoctor.py => documents/pyDoctor.py (100%) rename pyDoctor2.sql => documents/pyDoctor2.sql (100%) create mode 100644 languages/ar.py create mode 100644 languages/ca.py create mode 100644 languages/cs.py create mode 100644 languages/de.py create mode 100644 languages/default.py create mode 100644 languages/es.py create mode 100644 languages/fr-ca.py create mode 100644 languages/fr.py create mode 100644 languages/hi.py create mode 100644 languages/hu.py create mode 100755 languages/id.py create mode 100644 languages/it.py create mode 100644 languages/my-mm.py create mode 100755 languages/my.py create mode 100644 languages/nl.py create mode 100644 languages/pl.py create mode 100644 languages/plural-cs.py create mode 100644 languages/plural-en.py create mode 100644 languages/plural-es.py create mode 100644 languages/plural-ru.py create mode 100644 languages/plural-uk.py create mode 100644 languages/pt-br.py create mode 100644 languages/pt.py create mode 100644 languages/ro.py create mode 100644 languages/ru.py create mode 100644 languages/sk.py create mode 100644 languages/tr.py create mode 100644 languages/uk.py create mode 100644 languages/zh-cn.py create mode 100644 languages/zh-tw.py create mode 100644 languages/zh.py create mode 100644 models/db.py create mode 100644 models/db_pydoctor.py create mode 100644 models/db_pydoctor.py.bak create mode 100644 models/menu.py create mode 100644 models/menu.py.bak create mode 100644 modules/__init__.py create mode 100644 modules/__init__.pyc create mode 100644 private/appconfig.ini create mode 100644 progress.log create mode 100644 routes.example.py create mode 100644 static/403.html create mode 100644 static/404.html create mode 100644 static/500.html create mode 100644 static/css/bootstrap.min.css create mode 100644 static/css/calendar.css create mode 100644 static/css/web2py-bootstrap3.css create mode 100644 static/css/web2py.css create mode 100644 static/fonts/glyphicons-halflings-regular.eot create mode 100644 static/fonts/glyphicons-halflings-regular.svg create mode 100644 static/fonts/glyphicons-halflings-regular.ttf create mode 100644 static/fonts/glyphicons-halflings-regular.woff create mode 100644 static/fonts/glyphicons-halflings-regular.woff2 create mode 100644 static/images/background.jpg create mode 100644 static/images/facebook.png create mode 100644 static/images/favicon.ico create mode 100644 static/images/favicon.png create mode 100644 static/images/gplus-32.png create mode 100644 static/images/twitter.png create mode 100644 static/js/analytics.min.js create mode 100644 static/js/bootstrap.min.js create mode 100644 static/js/calendar.js create mode 100644 static/js/jquery.js create mode 100644 static/js/modernizr-2.8.3.min.js create mode 100644 static/js/respond-1.4.2.min.js create mode 100644 static/js/share.js create mode 100644 static/js/web2py-bootstrap3.js create mode 100644 static/js/web2py.js create mode 100644 uploads/persona.fotografia.9e161f80d825b9ae.32303135313231325f3135323132342e6a7067.jpg create mode 100644 views/__init__.py create mode 100644 views/appadmin.html create mode 100644 views/default/admin_expedientes.html create mode 100644 views/default/admin_expedientes.html.bak create mode 100644 views/default/admin_juzgados.html create mode 100644 views/default/admin_juzgados.html.bak create mode 100644 views/default/admin_personas.html create mode 100644 views/default/admin_personas.html.bak create mode 100644 views/default/edit_expediente.html.bak create mode 100644 views/default/index.html create mode 100644 views/default/index.html.bak create mode 100644 views/default/list_expedientes.html.bak create mode 100644 views/default/user.html create mode 100644 views/generic.html create mode 100644 views/generic.ics create mode 100644 views/generic.json create mode 100644 views/generic.jsonp create mode 100644 views/generic.load create mode 100644 views/generic.map create mode 100644 views/generic.pdf create mode 100644 views/generic.rss create mode 100644 views/generic.xml create mode 100644 views/layout.html create mode 100644 views/web2py_ajax.html diff --git a/ABOUT b/ABOUT new file mode 100644 index 0000000..184b19c --- /dev/null +++ b/ABOUT @@ -0,0 +1,2 @@ +Write something about this app. +Developed with web2py. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..217b7c4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,4 @@ +The web2py welcome app is licensed under public domain +(except for the css and js files that it includes, which have their own third party licenses). + +You can modify this license when you add your own code. diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/__init__.py @@ -0,0 +1 @@ + diff --git a/__init__.pyc b/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a59a018d3ee8384eaee7b6bebbe91985c8e39de3 GIT binary patch literal 120 zcmZSn%*$mgHaRSr0SXv_v;z 1 and request.args[1] in db.tables: + return (db, request.args[1]) + else: + session.flash = T('invalid request') + redirect(URL('index')) + + +def get_query(request): + try: + return eval_in_global_env(request.vars.query) + except Exception: + return None + + +def query_by_table_type(tablename, db, request=request): + keyed = hasattr(db[tablename], '_primarykey') + if keyed: + firstkey = db[tablename][db[tablename]._primarykey[0]] + cond = '>0' + if firstkey.type in ['string', 'text']: + cond = '!=""' + qry = '%s.%s.%s%s' % ( + request.args[0], request.args[1], firstkey.name, cond) + else: + qry = '%s.%s.id>0' % tuple(request.args[:2]) + return qry + + +# ########################################################## +# ## list all databases and tables +# ########################################################### +def index(): + return dict(databases=databases) + + +# ########################################################## +# ## insert a new record +# ########################################################### + + +def insert(): + (db, table) = get_table(request) + form = SQLFORM(db[table], ignore_rw=ignore_rw) + if form.accepts(request.vars, session): + response.flash = T('new record inserted') + return dict(form=form, table=db[table]) + + +# ########################################################## +# ## list all records in table and insert new record +# ########################################################### + + +def download(): + import os + db = get_database(request) + return response.download(request, db) + + +def csv(): + import gluon.contenttype + response.headers['Content-Type'] = \ + gluon.contenttype.contenttype('.csv') + db = get_database(request) + query = get_query(request) + if not query: + return None + response.headers['Content-disposition'] = 'attachment; filename=%s_%s.csv'\ + % tuple(request.vars.query.split('.')[:2]) + return str(db(query, ignore_common_filters=True).select()) + + +def import_csv(table, file): + table.import_from_csv_file(file) + + +def select(): + import re + db = get_database(request) + dbname = request.args[0] + try: + is_imap = db._uri.startswith("imap://") + except (KeyError, AttributeError, TypeError): + is_imap = False + regex = re.compile('(?P\w+)\.(?P\w+)=(?P\d+)') + if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'): + regex = re.compile('(?P
\w+)\.(?P\w+)=(?P.+)') + if request.vars.query: + match = regex.match(request.vars.query) + if match: + request.vars.query = '%s.%s.%s==%s' % (request.args[0], + match.group('table'), match.group('field'), + match.group('value')) + else: + request.vars.query = session.last_query + query = get_query(request) + if request.vars.start: + start = int(request.vars.start) + else: + start = 0 + nrows = 0 + + step = 100 + fields = [] + + if is_imap: + step = 3 + + stop = start + step + + table = None + rows = [] + orderby = request.vars.orderby + if orderby: + orderby = dbname + '.' + orderby + if orderby == session.last_orderby: + if orderby[0] == '~': + orderby = orderby[1:] + else: + orderby = '~' + orderby + session.last_orderby = orderby + session.last_query = request.vars.query + form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px', + _name='query', _value=request.vars.query or '', + requires=IS_NOT_EMPTY( + error_message=T("Cannot be empty")))), TR(T('Update:'), + INPUT(_name='update_check', _type='checkbox', + value=False), INPUT(_style='width:400px', + _name='update_fields', _value=request.vars.update_fields + or '')), TR(T('Delete:'), INPUT(_name='delete_check', + _class='delete', _type='checkbox', value=False), ''), + TR('', '', INPUT(_type='submit', _value=T('submit')))), + _action=URL(r=request, args=request.args)) + + tb = None + if form.accepts(request.vars, formname=None): + regex = re.compile(request.args[0] + '\.(?P
\w+)\..+') + match = regex.match(form.vars.query.strip()) + if match: + table = match.group('table') + try: + nrows = db(query, ignore_common_filters=True).count() + if form.vars.update_check and form.vars.update_fields: + db(query, ignore_common_filters=True).update( + **eval_in_global_env('dict(%s)' % form.vars.update_fields)) + response.flash = T('%s %%{row} updated', nrows) + elif form.vars.delete_check: + db(query, ignore_common_filters=True).delete() + response.flash = T('%s %%{row} deleted', nrows) + nrows = db(query, ignore_common_filters=True).count() + + if is_imap: + fields = [db[table][name] for name in + ("id", "uid", "created", "to", + "sender", "subject")] + if orderby: + rows = db(query, ignore_common_filters=True).select( + *fields, limitby=(start, stop), + orderby=eval_in_global_env(orderby)) + else: + rows = db(query, ignore_common_filters=True).select( + *fields, limitby=(start, stop)) + except Exception, e: + import traceback + tb = traceback.format_exc() + (rows, nrows) = ([], 0) + response.flash = DIV(T('Invalid Query'), PRE(str(e))) + # begin handle upload csv + csv_table = table or request.vars.table + if csv_table: + formcsv = FORM(str(T('or import from csv file')) + " ", + INPUT(_type='file', _name='csvfile'), + INPUT(_type='hidden', _value=csv_table, _name='table'), + INPUT(_type='submit', _value=T('import'))) + else: + formcsv = None + if formcsv and formcsv.process().accepted: + try: + import_csv(db[request.vars.table], + request.vars.csvfile.file) + response.flash = T('data uploaded') + except Exception, e: + response.flash = DIV(T('unable to parse csv file'), PRE(str(e))) + # end handle upload csv + + return dict( + form=form, + table=table, + start=start, + stop=stop, + step=step, + nrows=nrows, + rows=rows, + query=request.vars.query, + formcsv=formcsv, + tb=tb + ) + + +# ########################################################## +# ## edit delete one record +# ########################################################### + + +def update(): + (db, table) = get_table(request) + keyed = hasattr(db[table], '_primarykey') + record = None + db[table]._common_filter = None + if keyed: + key = [f for f in request.vars if f in db[table]._primarykey] + if key: + record = db(db[table][key[0]] == request.vars[key[ + 0]]).select().first() + else: + record = db(db[table].id == request.args( + 2)).select().first() + + if not record: + qry = query_by_table_type(table, db) + session.flash = T('record does not exist') + redirect(URL('select', args=request.args[:1], + vars=dict(query=qry))) + + if keyed: + for k in db[table]._primarykey: + db[table][k].writable = False + + form = SQLFORM( + db[table], record, deletable=True, delete_label=T('Check to delete'), + ignore_rw=ignore_rw and not keyed, + linkto=URL('select', + args=request.args[:1]), upload=URL(r=request, + f='download', args=request.args[:1])) + + if form.accepts(request.vars, session): + session.flash = T('done!') + qry = query_by_table_type(table, db) + redirect(URL('select', args=request.args[:1], + vars=dict(query=qry))) + return dict(form=form, table=db[table]) + + +# ########################################################## +# ## get global variables +# ########################################################### + + +def state(): + return dict() + + +def ccache(): + if is_gae: + form = FORM( + P(TAG.BUTTON(T("Clear CACHE?"), _type="submit", _name="yes", _value="yes"))) + else: + cache.ram.initialize() + cache.disk.initialize() + + form = FORM( + P(TAG.BUTTON( + T("Clear CACHE?"), _type="submit", _name="yes", _value="yes")), + P(TAG.BUTTON( + T("Clear RAM"), _type="submit", _name="ram", _value="ram")), + P(TAG.BUTTON( + T("Clear DISK"), _type="submit", _name="disk", _value="disk")), + ) + + if form.accepts(request.vars, session): + session.flash = "" + if is_gae: + if request.vars.yes: + cache.ram.clear() + session.flash += T("Cache Cleared") + else: + clear_ram = False + clear_disk = False + if request.vars.yes: + clear_ram = clear_disk = True + if request.vars.ram: + clear_ram = True + if request.vars.disk: + clear_disk = True + if clear_ram: + cache.ram.clear() + session.flash += T("Ram Cleared") + if clear_disk: + cache.disk.clear() + session.flash += T("Disk Cleared") + redirect(URL(r=request)) + + try: + from guppy import hpy + hp = hpy() + except ImportError: + hp = False + + import shelve + import os + import copy + import time + import math + from gluon import portalocker + + ram = { + 'entries': 0, + 'bytes': 0, + 'objects': 0, + 'hits': 0, + 'misses': 0, + 'ratio': 0, + 'oldest': time.time(), + 'keys': [] + } + + disk = copy.copy(ram) + total = copy.copy(ram) + disk['keys'] = [] + total['keys'] = [] + + def GetInHMS(seconds): + hours = math.floor(seconds / 3600) + seconds -= hours * 3600 + minutes = math.floor(seconds / 60) + seconds -= minutes * 60 + seconds = math.floor(seconds) + + return (hours, minutes, seconds) + + if is_gae: + gae_stats = cache.ram.client.get_stats() + try: + gae_stats['ratio'] = ((gae_stats['hits'] * 100) / + (gae_stats['hits'] + gae_stats['misses'])) + except ZeroDivisionError: + gae_stats['ratio'] = T("?") + gae_stats['oldest'] = GetInHMS(time.time() - gae_stats['oldest_item_age']) + total.update(gae_stats) + else: + # get ram stats directly from the cache object + ram_stats = cache.ram.stats[request.application] + ram['hits'] = ram_stats['hit_total'] - ram_stats['misses'] + ram['misses'] = ram_stats['misses'] + try: + ram['ratio'] = ram['hits'] * 100 / ram_stats['hit_total'] + except (KeyError, ZeroDivisionError): + ram['ratio'] = 0 + + for key, value in cache.ram.storage.iteritems(): + if hp: + ram['bytes'] += hp.iso(value[1]).size + ram['objects'] += hp.iso(value[1]).count + ram['entries'] += 1 + if value[0] < ram['oldest']: + ram['oldest'] = value[0] + ram['keys'].append((key, GetInHMS(time.time() - value[0]))) + + for key in cache.disk.storage: + value = cache.disk.storage[key] + if isinstance(value[1], dict): + disk['hits'] = value[1]['hit_total'] - value[1]['misses'] + disk['misses'] = value[1]['misses'] + try: + disk['ratio'] = disk['hits'] * 100 / value[1]['hit_total'] + except (KeyError, ZeroDivisionError): + disk['ratio'] = 0 + else: + if hp: + disk['bytes'] += hp.iso(value[1]).size + disk['objects'] += hp.iso(value[1]).count + disk['entries'] += 1 + if value[0] < disk['oldest']: + disk['oldest'] = value[0] + disk['keys'].append((key, GetInHMS(time.time() - value[0]))) + + ram_keys = ram.keys() # ['hits', 'objects', 'ratio', 'entries', 'keys', 'oldest', 'bytes', 'misses'] + ram_keys.remove('ratio') + ram_keys.remove('oldest') + for key in ram_keys: + total[key] = ram[key] + disk[key] + + try: + total['ratio'] = total['hits'] * 100 / (total['hits'] + + total['misses']) + except (KeyError, ZeroDivisionError): + total['ratio'] = 0 + + if disk['oldest'] < ram['oldest']: + total['oldest'] = disk['oldest'] + else: + total['oldest'] = ram['oldest'] + + ram['oldest'] = GetInHMS(time.time() - ram['oldest']) + disk['oldest'] = GetInHMS(time.time() - disk['oldest']) + total['oldest'] = GetInHMS(time.time() - total['oldest']) + + def key_table(keys): + return TABLE( + TR(TD(B(T('Key'))), TD(B(T('Time in Cache (h:m:s)')))), + *[TR(TD(k[0]), TD('%02d:%02d:%02d' % k[1])) for k in keys], + **dict(_class='cache-keys', + _style="border-collapse: separate; border-spacing: .5em;")) + + if not is_gae: + ram['keys'] = key_table(ram['keys']) + disk['keys'] = key_table(disk['keys']) + total['keys'] = key_table(total['keys']) + + return dict(form=form, total=total, + ram=ram, disk=disk, object_stats=hp != False) + + +def table_template(table): + from gluon.html import TR, TD, TABLE, TAG + + def FONT(*args, **kwargs): + return TAG.font(*args, **kwargs) + + def types(field): + f_type = field.type + if not isinstance(f_type,str): + return ' ' + elif f_type == 'string': + return field.length + elif f_type == 'id': + return B('pk') + elif f_type.startswith('reference') or \ + f_type.startswith('list:reference'): + return B('fk') + else: + return ' ' + + # This is horribe HTML but the only one graphiz understands + rows = [] + cellpadding = 4 + color = "#000000" + bgcolor = "#FFFFFF" + face = "Helvetica" + face_bold = "Helvetica Bold" + border = 0 + + rows.append(TR(TD(FONT(table, _face=face_bold, _color=bgcolor), + _colspan=3, _cellpadding=cellpadding, + _align="center", _bgcolor=color))) + for row in db[table]: + rows.append(TR(TD(FONT(row.name, _color=color, _face=face_bold), + _align="left", _cellpadding=cellpadding, + _border=border), + TD(FONT(row.type, _color=color, _face=face), + _align="left", _cellpadding=cellpadding, + _border=border), + TD(FONT(types(row), _color=color, _face=face), + _align="center", _cellpadding=cellpadding, + _border=border))) + return "< %s >" % TABLE(*rows, **dict(_bgcolor=bgcolor, _border=1, + _cellborder=0, _cellspacing=0) + ).xml() + + +def bg_graph_model(): + graph = pgv.AGraph(layout='dot', directed=True, strict=False, rankdir='LR') + + subgraphs = dict() + for tablename in db.tables: + if hasattr(db[tablename],'_meta_graphmodel'): + meta_graphmodel = db[tablename]._meta_graphmodel + else: + meta_graphmodel = dict(group=request.application, color='#ECECEC') + + group = meta_graphmodel['group'].replace(' ', '') + if group not in subgraphs: + subgraphs[group] = dict(meta=meta_graphmodel, tables=[]) + subgraphs[group]['tables'].append(tablename) + + graph.add_node(tablename, name=tablename, shape='plaintext', + label=table_template(tablename)) + + for n, key in enumerate(subgraphs.iterkeys()): + graph.subgraph(nbunch=subgraphs[key]['tables'], + name='cluster%d' % n, + style='filled', + color=subgraphs[key]['meta']['color'], + label=subgraphs[key]['meta']['group']) + + for tablename in db.tables: + for field in db[tablename]: + f_type = field.type + if isinstance(f_type,str) and ( + f_type.startswith('reference') or + f_type.startswith('list:reference')): + referenced_table = f_type.split()[1].split('.')[0] + n1 = graph.get_node(tablename) + n2 = graph.get_node(referenced_table) + graph.add_edge(n1, n2, color="#4C4C4C", label='') + + graph.layout() + if not request.args: + response.headers['Content-Type'] = 'image/png' + return graph.draw(format='png', prog='dot') + else: + response.headers['Content-Disposition']='attachment;filename=graph.%s'%request.args(0) + if request.args(0) == 'dot': + return graph.string() + else: + return graph.draw(format=request.args(0), prog='dot') + +def graph_model(): + return dict(databases=databases, pgv=pgv) + +def manage(): + tables = manager_action['tables'] + if isinstance(tables[0], str): + db = manager_action.get('db', auth.db) + db = globals()[db] if isinstance(db, str) else db + tables = [db[table] for table in tables] + if request.args(0) == 'auth': + auth.table_user()._plural = T('Users') + auth.table_group()._plural = T('Roles') + auth.table_membership()._plural = T('Memberships') + auth.table_permission()._plural = T('Permissions') + if request.extension != 'load': + return dict(heading=manager_action.get('heading', + T('Manage %(action)s') % dict(action=request.args(0).replace('_', ' ').title())), + tablenames=[table._tablename for table in tables], + labels=[table._plural.title() for table in tables]) + + table = tables[request.args(1, cast=int)] + formname = '%s_grid' % table._tablename + linked_tables = orderby = None + if request.args(0) == 'auth': + auth.table_group()._id.readable = \ + auth.table_membership()._id.readable = \ + auth.table_permission()._id.readable = False + auth.table_membership().user_id.label = T('User') + auth.table_membership().group_id.label = T('Role') + auth.table_permission().group_id.label = T('Role') + auth.table_permission().name.label = T('Permission') + if table == auth.table_user(): + linked_tables=[auth.settings.table_membership_name] + elif table == auth.table_group(): + orderby = 'role' if not request.args(3) or '.group_id' not in request.args(3) else None + elif table == auth.table_permission(): + orderby = 'group_id' + kwargs = dict(user_signature=True, maxtextlength=1000, + orderby=orderby, linked_tables=linked_tables) + smartgrid_args = manager_action.get('smartgrid_args', {}) + kwargs.update(**smartgrid_args.get('DEFAULT', {})) + kwargs.update(**smartgrid_args.get(table._tablename, {})) + grid = SQLFORM.smartgrid(table, args=request.args[:2], formname=formname, **kwargs) + return grid + +def hooks(): + import functools + import inspect + list_op=['_%s_%s' %(h,m) for h in ['before', 'after'] for m in ['insert','update','delete']] + tables=[] + with_build_it=False + for db_str in sorted(databases): + db = databases[db_str] + for t in db.tables: + method_hooks=[] + for op in list_op: + functions = [] + for f in getattr(db[t], op): + if hasattr(f, '__call__'): + try: + if isinstance(f, (functools.partial)): + f = f.func + filename = inspect.getsourcefile(f) + details = {'funcname':f.__name__, + 'filename':filename[len(request.folder):] if request.folder in filename else None, + 'lineno': inspect.getsourcelines(f)[1]} + if details['filename']: # Built in functions as delete_uploaded_files are not editable + details['url'] = URL(a='admin',c='default',f='edit', args=[request['application'], details['filename']],vars={'lineno':details['lineno']}) + if details['filename'] or with_build_it: + functions.append(details) + # compiled app and windows build don't support code inspection + except: + pass + if len(functions): + method_hooks.append({'name':op, 'functions':functions}) + if len(method_hooks): + tables.append({'name':"%s.%s" % (db_str,t), 'slug': IS_SLUG()("%s.%s" % (db_str,t))[0], 'method_hooks':method_hooks}) + # Render + ul_main = UL(_class='nav nav-list') + for t in tables: + ul_main.append(A(t['name'], _onclick="collapse('a_%s')" % t['slug'])) + ul_t = UL(_class='nav nav-list', _id="a_%s" % t['slug'], _style='display:none') + for op in t['method_hooks']: + ul_t.append(LI (op['name'])) + ul_t.append(UL([LI(A(f['funcname'], _class="editor_filelink", _href=f['url']if 'url' in f else None, **{'_data-lineno':f['lineno']-1})) for f in op['functions']])) + ul_main.append(ul_t) + return ul_main diff --git a/controllers/default.py b/controllers/default.py new file mode 100644 index 0000000..4fbf246 --- /dev/null +++ b/controllers/default.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- +# this file is released under public domain and you can use without limitations + +######################################################################### +## This is a sample controller +## - index is the default action of any application +## - user is required for authentication and authorization +## - download is for downloading files uploaded in the db (does streaming) +######################################################################### + +def index(): + """ + example action using the internationalization operator T and flash + rendered by views/default/index.html or views/generic.html + + if you need a simple wiki simply replace the two lines below with: + return auth.wiki() + """ + response.flash = T("Bienvenido a pyDoctor") + response.title = T("pyDoctor") + content=T(u'Sistema para abogados y estudios jurídicos realizado por María Andrea Vignau') + return dict(message=T('Bienvenido!'),content=content) + +@auth.requires_login() +def admin_expedientes(): + grid = SQLFORM.smartgrid(db.expediente, + fields=[db.expediente.numero, + db.expediente.caratula, + db.expediente.juzgado_id. + db.movimiento.titulo, + db.movimiento.procesal, + db.agenda.vencimiento, + db.agenda.titulo], + constraints={'created_by':auth.user.id}, + linked_tables=['movimiento','agenda']) + return locals() + +@auth.requires_login() +def admin_juzgados(): + grid = SQLFORM.grid(db.juzgado,user_signature=False) + return locals() + +@auth.requires_login() +def admin_personas(): + grid = SQLFORM.grid(db.persona.created_by==auth.user.id,user_signature=False) + return locals() + +@auth.requires_login() +def fueros(): + grid = SQLFORM.grid(db.fuero) + return locals() + +@auth.requires_login() +def instancias(): + grid = SQLFORM.grid(db.instancia) + return locals() + +def user(): + """ + exposes: + http://..../[app]/default/user/login + http://..../[app]/default/user/logout + http://..../[app]/default/user/register + http://..../[app]/default/user/profile + http://..../[app]/default/user/retrieve_password + http://..../[app]/default/user/change_password + http://..../[app]/default/user/bulk_register + use @auth.requires_login() + @auth.requires_membership('group name') + @auth.requires_permission('read','table name',record_id) + to decorate functions that need access control + also notice there is http://..../[app]/appadmin/manage/auth to allow administrator to manage users + """ + return dict(form=auth()) diff --git a/controllers/default.py.bak b/controllers/default.py.bak new file mode 100644 index 0000000..c555625 --- /dev/null +++ b/controllers/default.py.bak @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- +# this file is released under public domain and you can use without limitations + +######################################################################### +## This is a sample controller +## - index is the default action of any application +## - user is required for authentication and authorization +## - download is for downloading files uploaded in the db (does streaming) +######################################################################### + +def index(): + """ + example action using the internationalization operator T and flash + rendered by views/default/index.html or views/generic.html + + if you need a simple wiki simply replace the two lines below with: + return auth.wiki() + """ + response.flash = T("Bienvenido a pyDoctor") + response.title = T("pyDoctor") + content=T(u'Sistema para abogados y estudios jurídicos realizado por María Andrea Vignau') + return dict(message=T('Bienvenido!'),content=content) + +@auth.requires_login() +def admin_expedientes(): + grid = SQLFORM.smartgrid(db.expediente, + fields=[db.expediente.numero, + db.expediente.caratula, + db.expediente.juzgado_id. + db.movimiento.titulo, + db.movimiento.procesal, + db.agenda.vencimiento, + db.agenda.titulo], + constraints={'created_by':auth.user.id}, + linked_tables=['movimiento','agenda']) + return locals() + +@auth.requires_login() +def admin_juzgados(): + grid = SQLFORM.grid(db.juzgado,user_signature=False) + return locals() + +@auth.requires_login() +def admin_personas(): + grid = SQLFORM.grid(db.persona.created_by==auth.user.id,user_signature=False) + return locals() + +@auth.requires_login() +def admin_fueros(): + grid = SQLFORM.grid(db.fuero) + return locals() + +@auth.requires_login() +def admin_instancias(): + grid = SQLFORM.grid(db.instancia) + return locals() + +def user(): + """ + exposes: + http://..../[app]/default/user/login + http://..../[app]/default/user/logout + http://..../[app]/default/user/register + http://..../[app]/default/user/profile + http://..../[app]/default/user/retrieve_password + http://..../[app]/default/user/change_password + http://..../[app]/default/user/bulk_register + use @auth.requires_login() + @auth.requires_membership('group name') + @auth.requires_permission('read','table name',record_id) + to decorate functions that need access control + also notice there is http://..../[app]/appadmin/manage/auth to allow administrator to manage users + """ + return dict(form=auth()) diff --git a/cron/crontab b/cron/crontab new file mode 100644 index 0000000..6ab4ea8 --- /dev/null +++ b/cron/crontab @@ -0,0 +1 @@ +#crontab \ No newline at end of file diff --git a/cron/crontab.example b/cron/crontab.example new file mode 100644 index 0000000..6ab4ea8 --- /dev/null +++ b/cron/crontab.example @@ -0,0 +1 @@ +#crontab \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_agenda.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_agenda.table new file mode 100644 index 0000000..fdde3c9 --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_agenda.table @@ -0,0 +1,175 @@ +(dp1 +S'expediente_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'INTEGER REFERENCES expediente (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference expediente' +p11 +ssS'is_active' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(1)' +p14 +sg9 +I00 +sg10 +S'boolean' +p15 +ssS'vencimiento' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'TIMESTAMP' +p18 +sg9 +I00 +sg10 +S'datetime' +p19 +ssS'texto' +p20 +(dp21 +g4 +I32768 +sg5 +I00 +sg6 +I5 +sg7 +S'TEXT' +p22 +sg9 +I00 +sg10 +S'text' +p23 +ssS'created_by' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p26 +sg9 +I00 +sg10 +S'reference auth_user' +p27 +ssS'modified_by' +p28 +(dp29 +g4 +I512 +sg5 +I00 +sg6 +I10 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p30 +sg9 +I00 +sg10 +g27 +ssS'created_on' +p31 +(dp32 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'TIMESTAMP' +p33 +sg9 +I00 +sg10 +g19 +ssS'modified_on' +p34 +(dp35 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'TIMESTAMP' +p36 +sg9 +I00 +sg10 +g19 +ssS'titulo' +p37 +(dp38 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p39 +sg9 +I00 +sg10 +S'string' +p40 +ssS'id' +p41 +(dp42 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p43 +sg9 +I00 +sg10 +S'id' +p44 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_cas.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_cas.table new file mode 100644 index 0000000..4566963 --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_cas.table @@ -0,0 +1,108 @@ +(dp1 +S'user_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_user' +p11 +ssS'service' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p14 +sg9 +I00 +sg10 +S'string' +p15 +ssS'renew' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(1)' +p18 +sg9 +I00 +sg10 +S'boolean' +p19 +ssS'created_on' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'TIMESTAMP' +p22 +sg9 +I00 +sg10 +S'datetime' +p23 +ssS'ticket' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(512)' +p26 +sg9 +I00 +sg10 +g15 +ssS'id' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p29 +sg9 +I00 +sg10 +g27 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_event.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_event.table new file mode 100644 index 0000000..7095abd --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_event.table @@ -0,0 +1,108 @@ +(dp1 +S'origin' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I5 +sS'sql' +p7 +S'CHAR(512)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'client_ip' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p14 +sg9 +I00 +sg10 +g11 +ssS'user_id' +p15 +(dp16 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p17 +sg9 +I00 +sg10 +S'reference auth_user' +p18 +ssS'description' +p19 +(dp20 +g4 +I32768 +sg5 +I00 +sg6 +I6 +sg7 +S'TEXT' +p21 +sg9 +I00 +sg10 +S'text' +p22 +ssS'time_stamp' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'TIMESTAMP' +p25 +sg9 +I00 +sg10 +S'datetime' +p26 +ssS'id' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p29 +sg9 +I00 +sg10 +g27 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_group.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_group.table new file mode 100644 index 0000000..361a56e --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_group.table @@ -0,0 +1,58 @@ +(dp1 +S'role' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'CHAR(512)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p14 +sg9 +I00 +sg10 +g12 +ssS'description' +p15 +(dp16 +g4 +I32768 +sg5 +I00 +sg6 +I3 +sg7 +S'TEXT' +p17 +sg9 +I00 +sg10 +S'text' +p18 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table new file mode 100644 index 0000000..abc9807 --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table @@ -0,0 +1,58 @@ +(dp1 +S'group_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I3 +sS'sql' +p7 +S'INTEGER REFERENCES auth_group (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_group' +p11 +ssS'user_id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p14 +sg9 +I00 +sg10 +S'reference auth_user' +p15 +ssS'id' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p18 +sg9 +I00 +sg10 +g16 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_permission.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_permission.table new file mode 100644 index 0000000..35cb050 --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_permission.table @@ -0,0 +1,91 @@ +(dp1 +S'record_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I5 +sS'sql' +p7 +S'INTEGER' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'integer' +p11 +ssS'group_id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'INTEGER REFERENCES auth_group (id) ON DELETE CASCADE ' +p14 +sg9 +I00 +sg10 +S'reference auth_group' +p15 +ssS'table_name' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p18 +sg9 +I00 +sg10 +S'string' +p19 +ssS'id' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p22 +sg9 +I00 +sg10 +g20 +ssS'name' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p25 +sg9 +I00 +sg10 +g19 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_user.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_user.table new file mode 100644 index 0000000..ad6901b --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_user.table @@ -0,0 +1,137 @@ +(dp1 +S'first_name' +p2 +(dp3 +S'length' +p4 +I128 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'CHAR(128)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'last_name' +p12 +(dp13 +g4 +I128 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(128)' +p14 +sg9 +I00 +sg10 +g11 +ssS'registration_id' +p15 +(dp16 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'CHAR(512)' +p17 +sg9 +I00 +sg10 +g11 +ssS'email' +p18 +(dp19 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p20 +sg9 +I00 +sg10 +g11 +ssS'reset_password_key' +p21 +(dp22 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(512)' +p23 +sg9 +I00 +sg10 +g11 +ssS'password' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(512)' +p26 +sg9 +I00 +sg10 +g24 +ssS'registration_key' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(512)' +p29 +sg9 +I00 +sg10 +g11 +ssS'id' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p32 +sg9 +I00 +sg10 +g30 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_expediente.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_expediente.table new file mode 100644 index 0000000..2c92c5a --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_expediente.table @@ -0,0 +1,191 @@ +(dp1 +S'modified_by' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I11 +sS'sql' +p7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_user' +p11 +ssS'is_active' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(1)' +p14 +sg9 +I00 +sg10 +S'boolean' +p15 +ssS'numero' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'CHAR(512)' +p18 +sg9 +I00 +sg10 +S'string' +p19 +ssS'final' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'DATE' +p22 +sg9 +I00 +sg10 +S'date' +p23 +ssS'created_on' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'TIMESTAMP' +p26 +sg9 +I00 +sg10 +S'datetime' +p27 +ssS'created_by' +p28 +(dp29 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p30 +sg9 +I00 +sg10 +g11 +ssS'inicio' +p31 +(dp32 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'DATE' +p33 +sg9 +I00 +sg10 +g23 +ssS'modified_on' +p34 +(dp35 +g4 +I512 +sg5 +I00 +sg6 +I10 +sg7 +S'TIMESTAMP' +p36 +sg9 +I00 +sg10 +g27 +ssS'juzgado_id' +p37 +(dp38 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'INTEGER REFERENCES juzgado (id) ON DELETE CASCADE ' +p39 +sg9 +I00 +sg10 +S'reference juzgado' +p40 +ssS'caratula' +p41 +(dp42 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p43 +sg9 +I00 +sg10 +g19 +ssS'id' +p44 +(dp45 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p46 +sg9 +I00 +sg10 +S'id' +p47 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_expedientes.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_expedientes.table new file mode 100644 index 0000000..a973ef8 --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_expedientes.table @@ -0,0 +1,189 @@ +(dp1 +S'modified_by' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I11 +sS'sql' +p7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_user' +p11 +ssS'is_active' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(1)' +p14 +sg9 +I00 +sg10 +S'boolean' +p15 +ssS'numero' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'CHAR(512)' +p18 +sg9 +I00 +sg10 +S'string' +p19 +ssS'id' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p22 +sg9 +I00 +sg10 +g20 +ssS'created_on' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'TIMESTAMP' +p25 +sg9 +I00 +sg10 +S'datetime' +p26 +ssS'created_by' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p29 +sg9 +I00 +sg10 +g11 +ssS'inicio' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'TIMESTAMP' +p32 +sg9 +I00 +sg10 +g26 +ssS'modified_on' +p33 +(dp34 +g4 +I512 +sg5 +I00 +sg6 +I10 +sg7 +S'TIMESTAMP' +p35 +sg9 +I00 +sg10 +g26 +ssS'juzgado_id' +p36 +(dp37 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'INTEGER REFERENCES juzgado (id) ON DELETE CASCADE ' +p38 +sg9 +I00 +sg10 +S'reference juzgado' +p39 +ssS'caratula' +p40 +(dp41 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p42 +sg9 +I00 +sg10 +g19 +ssS'final' +p43 +(dp44 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'TIMESTAMP' +p45 +sg9 +I00 +sg10 +g26 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_fuero.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_fuero.table new file mode 100644 index 0000000..dc22b08 --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_fuero.table @@ -0,0 +1,124 @@ +(dp1 +S'modified_by' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I7 +sS'sql' +p7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_user' +p11 +ssS'is_active' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(1)' +p14 +sg9 +I00 +sg10 +S'boolean' +p15 +ssS'created_by' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p18 +sg9 +I00 +sg10 +g11 +ssS'modified_on' +p19 +(dp20 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'TIMESTAMP' +p21 +sg9 +I00 +sg10 +S'datetime' +p22 +ssS'created_on' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'TIMESTAMP' +p25 +sg9 +I00 +sg10 +g22 +ssS'descripcion' +p26 +(dp27 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'CHAR(512)' +p28 +sg9 +I00 +sg10 +S'string' +p29 +ssS'id' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p32 +sg9 +I00 +sg10 +g30 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_instancia.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_instancia.table new file mode 100644 index 0000000..e44ef13 --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_instancia.table @@ -0,0 +1,41 @@ +(dp1 +S'descripcion' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'CHAR(512)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p14 +sg9 +I00 +sg10 +g12 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_juzgado.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_juzgado.table new file mode 100644 index 0000000..0cb4cb9 --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_juzgado.table @@ -0,0 +1,158 @@ +(dp1 +S'fuero_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I3 +sS'sql' +p7 +S'INTEGER REFERENCES fuero (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference fuero' +p11 +ssS'modified_by' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p14 +sg9 +I00 +sg10 +S'reference auth_user' +p15 +ssS'is_active' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(1)' +p18 +sg9 +I00 +sg10 +S'boolean' +p19 +ssS'created_by' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p22 +sg9 +I00 +sg10 +g15 +ssS'modified_on' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'TIMESTAMP' +p25 +sg9 +I00 +sg10 +S'datetime' +p26 +ssS'created_on' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'TIMESTAMP' +p29 +sg9 +I00 +sg10 +g26 +ssS'descripcion' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'CHAR(512)' +p32 +sg9 +I00 +sg10 +S'string' +p33 +ssS'instancia_id' +p34 +(dp35 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'INTEGER REFERENCES instancia (id) ON DELETE CASCADE ' +p36 +sg9 +I00 +sg10 +S'reference instancia' +p37 +ssS'id' +p38 +(dp39 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p40 +sg9 +I00 +sg10 +g38 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_movimiento.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_movimiento.table new file mode 100644 index 0000000..8efb07f --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_movimiento.table @@ -0,0 +1,192 @@ +(dp1 +S'expediente_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'INTEGER REFERENCES expediente (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference expediente' +p11 +ssS'is_active' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(1)' +p14 +sg9 +I00 +sg10 +S'boolean' +p15 +ssS'texto' +p16 +(dp17 +g4 +I32768 +sg5 +I00 +sg6 +I5 +sg7 +S'TEXT' +p18 +sg9 +I00 +sg10 +S'text' +p19 +ssS'created_by' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p22 +sg9 +I00 +sg10 +S'reference auth_user' +p23 +ssS'modified_by' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I11 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p26 +sg9 +I00 +sg10 +g23 +ssS'created_on' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'TIMESTAMP' +p29 +sg9 +I00 +sg10 +S'datetime' +p30 +ssS'procesal' +p31 +(dp32 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p33 +sg9 +I00 +sg10 +S'string' +p34 +ssS'archivo' +p35 +(dp36 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(512)' +p37 +sg9 +I00 +sg10 +S'upload' +p38 +ssS'modified_on' +p39 +(dp40 +g4 +I512 +sg5 +I00 +sg6 +I10 +sg7 +S'TIMESTAMP' +p41 +sg9 +I00 +sg10 +g30 +ssS'titulo' +p42 +(dp43 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p44 +sg9 +I00 +sg10 +g34 +ssS'id' +p45 +(dp46 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p47 +sg9 +I00 +sg10 +S'id' +p48 +ss. \ No newline at end of file diff --git a/databases/c8b669d15150d7109e5f7ab36744a5b7_persona.table b/databases/c8b669d15150d7109e5f7ab36744a5b7_persona.table new file mode 100644 index 0000000..8d8f20d --- /dev/null +++ b/databases/c8b669d15150d7109e5f7ab36744a5b7_persona.table @@ -0,0 +1,229 @@ +(dp1 +S'modified_by' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I12 +sS'sql' +p7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_user' +p11 +ssS'apellido' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p14 +sg9 +I00 +sg10 +S'string' +p15 +ssS'is_active' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'CHAR(1)' +p18 +sg9 +I00 +sg10 +S'boolean' +p19 +ssS'fisica' +p20 +(dp21 +S'sortable' +p22 +I2 +sS'sql' +p23 +S'CHAR(1)' +p24 +sS'length' +p25 +I512 +sS'notnull' +p26 +I00 +sS'unique' +p27 +I00 +sS'type' +p28 +S'boolean' +p29 +ssS'created_by' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I10 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p32 +sg9 +I00 +sg10 +g11 +ssS'sexo' +p33 +(dp34 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'CHAR(512)' +p35 +sg9 +I00 +sg10 +g15 +ssS'created_on' +p36 +(dp37 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'TIMESTAMP' +p38 +sg9 +I00 +sg10 +S'datetime' +p39 +ssS'fotografia' +p40 +(dp41 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(512)' +p42 +sg9 +I00 +sg10 +S'upload' +p43 +ssS'modified_on' +p44 +(dp45 +g4 +I512 +sg5 +I00 +sg6 +I11 +sg7 +S'TIMESTAMP' +p46 +sg9 +I00 +sg10 +g39 +ssS'nombre' +p47 +(dp48 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p49 +sg9 +I00 +sg10 +g15 +ssS'cuitcuil' +p50 +(dp51 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(512)' +p52 +sg9 +I00 +sg10 +g15 +ssS'id' +p53 +(dp54 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p55 +sg9 +I00 +sg10 +S'id' +p56 +ssS'domicilio' +p57 +(dp58 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(512)' +p59 +sg9 +I00 +sg10 +g15 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_agenda.table b/databases/cef0c3f38c17074934c8687b810a0f7c_agenda.table new file mode 100644 index 0000000..8d7d187 --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_agenda.table @@ -0,0 +1,174 @@ +(dp1 +S'expediente_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'INTEGER REFERENCES expediente (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference expediente' +p11 +ssS'vencimiento' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'TIMESTAMP' +p14 +sg9 +I00 +sg10 +S'datetime' +p15 +ssS'is_active' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(1)' +p18 +sg9 +I00 +sg10 +S'boolean' +p19 +ssS'texto' +p20 +(dp21 +g4 +I32768 +sg5 +I00 +sg6 +I5 +sg7 +S'TEXT' +p22 +sg9 +I00 +sg10 +S'text' +p23 +ssS'created_by' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p26 +sg9 +I00 +sg10 +S'reference auth_user' +p27 +ssS'modified_by' +p28 +(dp29 +g4 +I512 +sg5 +I00 +sg6 +I10 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p30 +sg9 +I00 +sg10 +g27 +ssS'created_on' +p31 +(dp32 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'TIMESTAMP' +p33 +sg9 +I00 +sg10 +g15 +ssS'modified_on' +p34 +(dp35 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'TIMESTAMP' +p36 +sg9 +I00 +sg10 +g15 +ssS'titulo' +p37 +(dp38 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p39 +sg9 +I00 +sg10 +S'string' +p40 +ssS'id' +p41 +(dp42 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p43 +sg9 +I00 +sg10 +g41 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_auth_cas.table b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_cas.table new file mode 100644 index 0000000..4566963 --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_cas.table @@ -0,0 +1,108 @@ +(dp1 +S'user_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_user' +p11 +ssS'service' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p14 +sg9 +I00 +sg10 +S'string' +p15 +ssS'renew' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(1)' +p18 +sg9 +I00 +sg10 +S'boolean' +p19 +ssS'created_on' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'TIMESTAMP' +p22 +sg9 +I00 +sg10 +S'datetime' +p23 +ssS'ticket' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(512)' +p26 +sg9 +I00 +sg10 +g15 +ssS'id' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p29 +sg9 +I00 +sg10 +g27 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_auth_event.table b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_event.table new file mode 100644 index 0000000..7095abd --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_event.table @@ -0,0 +1,108 @@ +(dp1 +S'origin' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I5 +sS'sql' +p7 +S'CHAR(512)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'client_ip' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p14 +sg9 +I00 +sg10 +g11 +ssS'user_id' +p15 +(dp16 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p17 +sg9 +I00 +sg10 +S'reference auth_user' +p18 +ssS'description' +p19 +(dp20 +g4 +I32768 +sg5 +I00 +sg6 +I6 +sg7 +S'TEXT' +p21 +sg9 +I00 +sg10 +S'text' +p22 +ssS'time_stamp' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'TIMESTAMP' +p25 +sg9 +I00 +sg10 +S'datetime' +p26 +ssS'id' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p29 +sg9 +I00 +sg10 +g27 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_auth_group.table b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_group.table new file mode 100644 index 0000000..361a56e --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_group.table @@ -0,0 +1,58 @@ +(dp1 +S'role' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'CHAR(512)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p14 +sg9 +I00 +sg10 +g12 +ssS'description' +p15 +(dp16 +g4 +I32768 +sg5 +I00 +sg6 +I3 +sg7 +S'TEXT' +p17 +sg9 +I00 +sg10 +S'text' +p18 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_auth_membership.table b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_membership.table new file mode 100644 index 0000000..abc9807 --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_membership.table @@ -0,0 +1,58 @@ +(dp1 +S'group_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I3 +sS'sql' +p7 +S'INTEGER REFERENCES auth_group (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_group' +p11 +ssS'user_id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p14 +sg9 +I00 +sg10 +S'reference auth_user' +p15 +ssS'id' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p18 +sg9 +I00 +sg10 +g16 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_auth_permission.table b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_permission.table new file mode 100644 index 0000000..35cb050 --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_permission.table @@ -0,0 +1,91 @@ +(dp1 +S'record_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I5 +sS'sql' +p7 +S'INTEGER' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'integer' +p11 +ssS'group_id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'INTEGER REFERENCES auth_group (id) ON DELETE CASCADE ' +p14 +sg9 +I00 +sg10 +S'reference auth_group' +p15 +ssS'table_name' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p18 +sg9 +I00 +sg10 +S'string' +p19 +ssS'id' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p22 +sg9 +I00 +sg10 +g20 +ssS'name' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p25 +sg9 +I00 +sg10 +g19 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_auth_user.table b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_user.table new file mode 100644 index 0000000..ad6901b --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_auth_user.table @@ -0,0 +1,137 @@ +(dp1 +S'first_name' +p2 +(dp3 +S'length' +p4 +I128 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'CHAR(128)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'last_name' +p12 +(dp13 +g4 +I128 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(128)' +p14 +sg9 +I00 +sg10 +g11 +ssS'registration_id' +p15 +(dp16 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'CHAR(512)' +p17 +sg9 +I00 +sg10 +g11 +ssS'email' +p18 +(dp19 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p20 +sg9 +I00 +sg10 +g11 +ssS'reset_password_key' +p21 +(dp22 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(512)' +p23 +sg9 +I00 +sg10 +g11 +ssS'password' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(512)' +p26 +sg9 +I00 +sg10 +g24 +ssS'registration_key' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(512)' +p29 +sg9 +I00 +sg10 +g11 +ssS'id' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p32 +sg9 +I00 +sg10 +g30 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_expediente.table b/databases/cef0c3f38c17074934c8687b810a0f7c_expediente.table new file mode 100644 index 0000000..3d80de5 --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_expediente.table @@ -0,0 +1,190 @@ +(dp1 +S'modified_by' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I11 +sS'sql' +p7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_user' +p11 +ssS'is_active' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(1)' +p14 +sg9 +I00 +sg10 +S'boolean' +p15 +ssS'numero' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'CHAR(512)' +p18 +sg9 +I00 +sg10 +S'string' +p19 +ssS'id' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p22 +sg9 +I00 +sg10 +g20 +ssS'created_on' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'TIMESTAMP' +p25 +sg9 +I00 +sg10 +S'datetime' +p26 +ssS'created_by' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p29 +sg9 +I00 +sg10 +g11 +ssS'inicio' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'DATE' +p32 +sg9 +I00 +sg10 +S'date' +p33 +ssS'modified_on' +p34 +(dp35 +g4 +I512 +sg5 +I00 +sg6 +I10 +sg7 +S'TIMESTAMP' +p36 +sg9 +I00 +sg10 +g26 +ssS'juzgado_id' +p37 +(dp38 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'INTEGER REFERENCES juzgado (id) ON DELETE CASCADE ' +p39 +sg9 +I00 +sg10 +S'reference juzgado' +p40 +ssS'caratula' +p41 +(dp42 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p43 +sg9 +I00 +sg10 +g19 +ssS'final' +p44 +(dp45 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'DATE' +p46 +sg9 +I00 +sg10 +g33 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_fuero.table b/databases/cef0c3f38c17074934c8687b810a0f7c_fuero.table new file mode 100644 index 0000000..b07ad2e --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_fuero.table @@ -0,0 +1,131 @@ +(dp1 +S'modified_on' +p2 +(dp3 +S'sortable' +p4 +I6 +sS'sql' +p5 +S'TIMESTAMP' +p6 +sS'length' +p7 +I512 +sS'notnull' +p8 +I00 +sS'unique' +p9 +I00 +sS'type' +p10 +S'datetime' +p11 +ssS'created_on' +p12 +(dp13 +g4 +I4 +sg5 +S'TIMESTAMP' +p14 +sg7 +I512 +sg8 +I00 +sg9 +I00 +sg10 +g11 +ssS'modified_by' +p15 +(dp16 +g4 +I7 +sg5 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p17 +sg7 +I512 +sg8 +I00 +sg9 +I00 +sg10 +S'reference auth_user' +p18 +ssS'descripcion' +p19 +(dp20 +S'length' +p21 +I512 +sS'unique' +p22 +I00 +sS'sortable' +p23 +I2 +sS'sql' +p24 +S'CHAR(512)' +p25 +sS'notnull' +p26 +I00 +sS'type' +p27 +S'string' +p28 +ssS'is_active' +p29 +(dp30 +g4 +I3 +sg5 +S'CHAR(1)' +p31 +sg7 +I512 +sg8 +I00 +sg9 +I00 +sg10 +S'boolean' +p32 +ssS'id' +p33 +(dp34 +g21 +I512 +sg22 +I00 +sg23 +I1 +sg24 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p35 +sg26 +I00 +sg27 +S'id' +p36 +ssS'created_by' +p37 +(dp38 +g4 +I5 +sg5 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p39 +sg7 +I512 +sg8 +I00 +sg9 +I00 +sg10 +g18 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_instancia.table b/databases/cef0c3f38c17074934c8687b810a0f7c_instancia.table new file mode 100644 index 0000000..e44ef13 --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_instancia.table @@ -0,0 +1,41 @@ +(dp1 +S'descripcion' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'CHAR(512)' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'string' +p11 +ssS'id' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p14 +sg9 +I00 +sg10 +g12 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_juzgado.table b/databases/cef0c3f38c17074934c8687b810a0f7c_juzgado.table new file mode 100644 index 0000000..0cb4cb9 --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_juzgado.table @@ -0,0 +1,158 @@ +(dp1 +S'fuero_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I3 +sS'sql' +p7 +S'INTEGER REFERENCES fuero (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference fuero' +p11 +ssS'modified_by' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p14 +sg9 +I00 +sg10 +S'reference auth_user' +p15 +ssS'is_active' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(1)' +p18 +sg9 +I00 +sg10 +S'boolean' +p19 +ssS'created_by' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p22 +sg9 +I00 +sg10 +g15 +ssS'modified_on' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'TIMESTAMP' +p25 +sg9 +I00 +sg10 +S'datetime' +p26 +ssS'created_on' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'TIMESTAMP' +p29 +sg9 +I00 +sg10 +g26 +ssS'descripcion' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'CHAR(512)' +p32 +sg9 +I00 +sg10 +S'string' +p33 +ssS'instancia_id' +p34 +(dp35 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'INTEGER REFERENCES instancia (id) ON DELETE CASCADE ' +p36 +sg9 +I00 +sg10 +S'reference instancia' +p37 +ssS'id' +p38 +(dp39 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p40 +sg9 +I00 +sg10 +g38 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_movimiento.table b/databases/cef0c3f38c17074934c8687b810a0f7c_movimiento.table new file mode 100644 index 0000000..fd840fb --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_movimiento.table @@ -0,0 +1,191 @@ +(dp1 +S'expediente_id' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I2 +sS'sql' +p7 +S'INTEGER REFERENCES expediente (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference expediente' +p11 +ssS'is_active' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(1)' +p14 +sg9 +I00 +sg10 +S'boolean' +p15 +ssS'texto' +p16 +(dp17 +g4 +I32768 +sg5 +I00 +sg6 +I5 +sg7 +S'TEXT' +p18 +sg9 +I00 +sg10 +S'text' +p19 +ssS'created_by' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p22 +sg9 +I00 +sg10 +S'reference auth_user' +p23 +ssS'modified_by' +p24 +(dp25 +g4 +I512 +sg5 +I00 +sg6 +I11 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p26 +sg9 +I00 +sg10 +g23 +ssS'created_on' +p27 +(dp28 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'TIMESTAMP' +p29 +sg9 +I00 +sg10 +S'datetime' +p30 +ssS'procesal' +p31 +(dp32 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p33 +sg9 +I00 +sg10 +S'string' +p34 +ssS'archivo' +p35 +(dp36 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(512)' +p37 +sg9 +I00 +sg10 +S'upload' +p38 +ssS'modified_on' +p39 +(dp40 +g4 +I512 +sg5 +I00 +sg6 +I10 +sg7 +S'TIMESTAMP' +p41 +sg9 +I00 +sg10 +g30 +ssS'titulo' +p42 +(dp43 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p44 +sg9 +I00 +sg10 +g34 +ssS'id' +p45 +(dp46 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p47 +sg9 +I00 +sg10 +g45 +ss. \ No newline at end of file diff --git a/databases/cef0c3f38c17074934c8687b810a0f7c_persona.table b/databases/cef0c3f38c17074934c8687b810a0f7c_persona.table new file mode 100644 index 0000000..9b0806f --- /dev/null +++ b/databases/cef0c3f38c17074934c8687b810a0f7c_persona.table @@ -0,0 +1,205 @@ +(dp1 +S'modified_by' +p2 +(dp3 +S'length' +p4 +I512 +sS'unique' +p5 +I00 +sS'sortable' +p6 +I12 +sS'sql' +p7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p8 +sS'notnull' +p9 +I00 +sS'type' +p10 +S'reference auth_user' +p11 +ssS'apellido' +p12 +(dp13 +g4 +I512 +sg5 +I00 +sg6 +I3 +sg7 +S'CHAR(512)' +p14 +sg9 +I00 +sg10 +S'string' +p15 +ssS'is_active' +p16 +(dp17 +g4 +I512 +sg5 +I00 +sg6 +I8 +sg7 +S'CHAR(1)' +p18 +sg9 +I00 +sg10 +S'boolean' +p19 +ssS'created_by' +p20 +(dp21 +g4 +I512 +sg5 +I00 +sg6 +I10 +sg7 +S'INTEGER REFERENCES auth_user (id) ON DELETE CASCADE ' +p22 +sg9 +I00 +sg10 +g11 +ssS'sexo' +p23 +(dp24 +g4 +I512 +sg5 +I00 +sg6 +I2 +sg7 +S'CHAR(512)' +p25 +sg9 +I00 +sg10 +g15 +ssS'created_on' +p26 +(dp27 +g4 +I512 +sg5 +I00 +sg6 +I9 +sg7 +S'TIMESTAMP' +p28 +sg9 +I00 +sg10 +S'datetime' +p29 +ssS'fotografia' +p30 +(dp31 +g4 +I512 +sg5 +I00 +sg6 +I7 +sg7 +S'CHAR(512)' +p32 +sg9 +I00 +sg10 +S'upload' +p33 +ssS'modified_on' +p34 +(dp35 +g4 +I512 +sg5 +I00 +sg6 +I11 +sg7 +S'TIMESTAMP' +p36 +sg9 +I00 +sg10 +g29 +ssS'nombre' +p37 +(dp38 +g4 +I512 +sg5 +I00 +sg6 +I4 +sg7 +S'CHAR(512)' +p39 +sg9 +I00 +sg10 +g15 +ssS'cuitcuil' +p40 +(dp41 +g4 +I512 +sg5 +I00 +sg6 +I6 +sg7 +S'CHAR(512)' +p42 +sg9 +I00 +sg10 +g15 +ssS'id' +p43 +(dp44 +g4 +I512 +sg5 +I00 +sg6 +I1 +sg7 +S'INTEGER PRIMARY KEY AUTOINCREMENT' +p45 +sg9 +I00 +sg10 +g43 +ssS'domicilio' +p46 +(dp47 +g4 +I512 +sg5 +I00 +sg6 +I5 +sg7 +S'CHAR(512)' +p48 +sg9 +I00 +sg10 +g15 +ss. \ No newline at end of file diff --git a/databases/sql.log b/databases/sql.log new file mode 100644 index 0000000..cb12ebb --- /dev/null +++ b/databases/sql.log @@ -0,0 +1,553 @@ +timestamp: 2016-01-16T21:22:20.281158 +CREATE TABLE auth_user( + id INTEGER PRIMARY KEY AUTOINCREMENT, + first_name CHAR(128), + last_name CHAR(128), + email CHAR(512), + password CHAR(512), + registration_key CHAR(512), + reset_password_key CHAR(512), + registration_id CHAR(512) +); +success! +timestamp: 2016-01-16T21:22:20.435569 +CREATE TABLE auth_group( + id INTEGER PRIMARY KEY AUTOINCREMENT, + role CHAR(512), + description TEXT +); +success! +timestamp: 2016-01-16T21:22:20.529641 +CREATE TABLE auth_membership( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + group_id INTEGER REFERENCES auth_group (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-16T21:22:20.630551 +CREATE TABLE auth_permission( + id INTEGER PRIMARY KEY AUTOINCREMENT, + group_id INTEGER REFERENCES auth_group (id) ON DELETE CASCADE , + name CHAR(512), + table_name CHAR(512), + record_id INTEGER +); +success! +timestamp: 2016-01-16T21:22:20.720683 +CREATE TABLE auth_event( + id INTEGER PRIMARY KEY AUTOINCREMENT, + time_stamp TIMESTAMP, + client_ip CHAR(512), + user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + origin CHAR(512), + description TEXT +); +success! +timestamp: 2016-01-16T21:22:20.815646 +CREATE TABLE auth_cas( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + created_on TIMESTAMP, + service CHAR(512), + ticket CHAR(512), + renew CHAR(1) +); +success! +timestamp: 2016-01-17T00:28:33.596526 +CREATE TABLE persona( + id INTEGER PRIMARY KEY AUTOINCREMENT, + fisica CHAR(1), + nombre CHAR(512), + apellido CHAR(512), + domicilio CHAR(512), + cuitcuil CHAR(512), + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-17T00:28:33.752517 +CREATE TABLE fuero( + id INTEGER PRIMARY KEY AUTOINCREMENT, + descripcion CHAR(512), + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-17T00:28:33.871248 +CREATE TABLE instancia( + id INTEGER PRIMARY KEY AUTOINCREMENT, + descripcion CHAR(512) +); +success! +timestamp: 2016-01-17T00:28:33.984773 +CREATE TABLE juzgado( + id INTEGER PRIMARY KEY AUTOINCREMENT, + descripcion CHAR(512), + fuero_id INTEGER REFERENCES fuero (id) ON DELETE CASCADE , + instancia_id INTEGER REFERENCES instancia (id) ON DELETE CASCADE , + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-17T00:28:34.114008 +CREATE TABLE expedientes( + id INTEGER PRIMARY KEY AUTOINCREMENT, + numero CHAR(512), + caratula CHAR(512), + juzgado_id INTEGER REFERENCES juzgado (id) ON DELETE CASCADE , + inicio TIMESTAMP, + final TIMESTAMP, + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-17T00:34:33.608839 +CREATE TABLE expediente( + id INTEGER PRIMARY KEY AUTOINCREMENT, + numero CHAR(512), + caratula CHAR(512), + juzgado_id INTEGER REFERENCES juzgado (id) ON DELETE CASCADE , + inicio TIMESTAMP, + final TIMESTAMP, + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-17T00:34:33.783990 +CREATE TABLE movimiento( + id INTEGER PRIMARY KEY AUTOINCREMENT, + expediente_id INTEGER REFERENCES expediente (id) ON DELETE CASCADE , + titulo CHAR(512), + procesal CHAR(1), + texto TEXT, + archivo CHAR(512), + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-17T00:34:33.902958 +CREATE TABLE agenda( + id INTEGER PRIMARY KEY AUTOINCREMENT, + expediente_id INTEGER REFERENCES expediente (id) ON DELETE CASCADE , + vencimiento TIMESTAMP, + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +success! +success! +timestamp: 2016-01-19T15:56:01.333615 +ALTER TABLE persona ADD sexo CHAR(512); +success! +success! +success! +success! +timestamp: 2016-01-19T16:00:01.310334 +ALTER TABLE persona ADD fotografia CHAR(512); +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +timestamp: 2016-01-19T17:42:55.958155 +ALTER TABLE agenda ADD texto TEXT; +timestamp: 2016-01-19T17:42:56.025978 +ALTER TABLE agenda ADD titulo CHAR(512); +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +timestamp: 2016-01-19T17:45:00.390182 +CREATE TABLE auth_user( + id INTEGER PRIMARY KEY AUTOINCREMENT, + first_name CHAR(128), + last_name CHAR(128), + email CHAR(512), + password CHAR(512), + registration_key CHAR(512), + reset_password_key CHAR(512), + registration_id CHAR(512) +); +success! +timestamp: 2016-01-19T17:45:00.506519 +CREATE TABLE auth_group( + id INTEGER PRIMARY KEY AUTOINCREMENT, + role CHAR(512), + description TEXT +); +success! +timestamp: 2016-01-19T17:45:00.588750 +CREATE TABLE auth_membership( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + group_id INTEGER REFERENCES auth_group (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-19T17:45:00.697468 +CREATE TABLE auth_permission( + id INTEGER PRIMARY KEY AUTOINCREMENT, + group_id INTEGER REFERENCES auth_group (id) ON DELETE CASCADE , + name CHAR(512), + table_name CHAR(512), + record_id INTEGER +); +success! +timestamp: 2016-01-19T17:45:00.816810 +CREATE TABLE auth_event( + id INTEGER PRIMARY KEY AUTOINCREMENT, + time_stamp TIMESTAMP, + client_ip CHAR(512), + user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + origin CHAR(512), + description TEXT +); +success! +timestamp: 2016-01-19T17:45:00.897937 +CREATE TABLE auth_cas( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + created_on TIMESTAMP, + service CHAR(512), + ticket CHAR(512), + renew CHAR(1) +); +success! +timestamp: 2016-01-19T17:45:00.988862 +CREATE TABLE persona( + id INTEGER PRIMARY KEY AUTOINCREMENT, + sexo CHAR(512), + apellido CHAR(512), + nombre CHAR(512), + domicilio CHAR(512), + cuitcuil CHAR(512), + fotografia CHAR(512), + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-19T17:45:01.137193 +CREATE TABLE fuero( + id INTEGER PRIMARY KEY AUTOINCREMENT, + descripcion CHAR(512), + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-19T17:45:01.238132 +CREATE TABLE instancia( + id INTEGER PRIMARY KEY AUTOINCREMENT, + descripcion CHAR(512) +); +success! +timestamp: 2016-01-19T17:45:01.338675 +CREATE TABLE juzgado( + id INTEGER PRIMARY KEY AUTOINCREMENT, + descripcion CHAR(512), + fuero_id INTEGER REFERENCES fuero (id) ON DELETE CASCADE , + instancia_id INTEGER REFERENCES instancia (id) ON DELETE CASCADE , + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-19T17:45:01.489681 +CREATE TABLE expediente( + id INTEGER PRIMARY KEY AUTOINCREMENT, + numero CHAR(512), + caratula CHAR(512), + juzgado_id INTEGER REFERENCES juzgado (id) ON DELETE CASCADE , + inicio DATE, + final DATE, + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-19T17:45:01.600484 +CREATE TABLE movimiento( + id INTEGER PRIMARY KEY AUTOINCREMENT, + expediente_id INTEGER REFERENCES expediente (id) ON DELETE CASCADE , + procesal CHAR(512), + titulo CHAR(512), + texto TEXT, + archivo CHAR(512), + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +timestamp: 2016-01-19T17:45:01.698710 +CREATE TABLE agenda( + id INTEGER PRIMARY KEY AUTOINCREMENT, + expediente_id INTEGER REFERENCES expediente (id) ON DELETE CASCADE , + vencimiento TIMESTAMP, + titulo CHAR(512), + texto TEXT, + is_active CHAR(1), + created_on TIMESTAMP, + created_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE , + modified_on TIMESTAMP, + modified_by INTEGER REFERENCES auth_user (id) ON DELETE CASCADE +); +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! +success! diff --git a/databases/storage.sqlite b/databases/storage.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..dea396b77709cb2f2f284fe615369be8bd8ecb2c GIT binary patch literal 22528 zcmeHP%WoUU8K2#uOpy|$Dyc#kYM^l)w4yCB``}Bw)UraSvMpJaD5N$}sKe!u9-HLS zyGzARS`@MZr@gd)K!60j_E4ZePB}J*B0cxk-U2i|^wOdYn)cG!*(H|`Nd{#Bj;UF4 zm$TpO%b5_5#wH|$sHav$Yf z084+J7-PO;@C)~uSK$BPm+&9(@80cE!Gv5OAP_iR1YVwE@qJ^GT_&UKG9G4^a45#E z68sflUvUTo1Om?&0aJ>C+1c;zFU4Xp%QT(#dBt@k4YS@X-7i@8Yzo zC0@fhMO&^YSSx9yRLNyu!>XE2D_TXV=;e}TC>hNt8AR6%O~GkW(zUc+!A3b1gCBq> zv;h1k{2cxUeg;2*e}WeLC43A&dcIJI)CB^gh`>}BUXbeM9<5W-a7;NGfpd{2v23$} zC&uBNbg%VJ6_-uOG9QXW;rR%zl13R%K^6|ToV&YZj|Ciyjlp?|Hf#qs42naM5R6Ne z7O_k@b`D;MkcUlDc2giRnceb$Rm*HOCnY%V-L`CEdE@^VK+MNSv95_c2?RI-aVZ35 zFT0b7s?}ZYUhTd|5hJa&W0eI6M~o{o6f{8gxBJG*YO zUM^KF=jXD9kMJOMOl$p^G_h^JZCd4ixkakfb}a0IwR@jD8uYh`v)c}R_!C_*u!`3y zjA+7b{}6lyWEp$~W$^D2ZR~^DdVKC2ZvY2x1+{}KR(L(&uE=2h;PPQBh(qhFE<3p1 zM8&oB!gg_GebZ|OM$OgG?9ygXB&XIzm=>+lMt{VE4R8OaV_rX~20$=%RGr#3t8g5R z;P%`gB!TC!xIAMg<{=fdyP$XB8R=?~fsaKD*220vPSz8?8xF@`eN{SG3-WJZn`fN; zMhA1uq{C+Q6uNxFBG@72UAM>VtwpRW+oQ%nAL~%#K5_ahfJGYQZBM8sy!JmPe-7Xu zn9hF(ev3K9ArKfP1hQjcpwCBUmo!DqEGg=ex{OpMuWI?!vZ`g13j3&TbKi02T`Ib1 zR;#4EL>t*qf505l)OiB?y|Bq5t7kLo~42OW*{w25r*jF3^0fE42Ah5q6O#?6+e|>&hkLZ!<{lxVaZfp{Z zyyH5O=xP#OZ`qECQfW24luBoFOM0<;dXnK|zIupgo$)Q#R3KR~9kXiT3dPA~qGr@e zPATWKbZHrrq^{|TuIg!aYVMh?@H_6-QyR(Otdhwl?=`C)|E~a0kw2C*r;+)?;y73z z569=`q$dwJ$MUn_|4j5SEMGV*!KzT38o14Cd}?UcOV$7_!c9`E(X!c3jLK%68ni|S zJd74~*g2rDq4q8|9J<$5`}j(qqj_4}r}U_!DLjGduWpuUg&s--J6z;i+1iaZWp=d%Ta?y<4v5n{%^#A23x zwP0f4ar#_dQ#uoaK$MckL7d0XB#pyDsoFp&RddJx5c~|lf5E@Ozc7b51Oftq7Y~7% z5Cn;pa-BB(#lk%^3L%&)vQC7pc}8XC-X_%+vm}m6%)M!`RVfSe`9GWh@VD>|`w@pg z;H)CB4x^wDiSQxx8nq2vqZpM5T5IeP+o4s=dB}zujK_Q(A(hRujW#_?3tY4%N5KtA z;?Z6AO#0EPKen&7$9A;w`%jQ2%YAWbT3+poQ%|$yicPjX=!XA_$H&?KmTD@mW_#a~ zi`@1vgKI$k4!c}EY0)42XfhnXcu{&^;)F2Rd%)OadmDm1)5FfXJci|HjTY;Jv(u{iI)Grw*WXUjwdRYuShw$cq@|2c{TfU)VD_)ORw$ci^$SOmB_6yr!Sy%q zkMZ*LLGyp6d&<=p4qK*&Qhg76&f||LKJNF_!t?jY91%xHJ@K@7Mo{0w`M&e>;|`bbQX074SzdcCtmOM*Z(#F`~Ysg09~JWMS;NA8i6%=5=72VUykvydDCi< z5-#jC5V=R{O*Y!pKmD~G49!e|n9b|U`BbV~HRp>AHq1v7)3@4Dx%zs<_f0wGwM&;! z(Hp-mU5Z6n0!??X)Th5Q+bIQ!ct*>aZjE9f^5*{^0{G$A8dmXg0)aD#z>lQ~5Yc&8 zGV{H57oqW9BcUW8gIqFMtKmAf*!EKQFM*g*0lLTR5Dn^> zy#32-fPKXw5I8vk2dU|B{QP<8$ttIS-hWnk*V!I+;K_z%1_7sdR@%q@Jj?L^d+RK$ O-7KOm?uz<3Z{q(%j1g1- literal 0 HcmV?d00001 diff --git a/databases/storage_new.sqlite b/databases/storage_new.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..710d86241def25febeff15b68614a61d4ab1960a GIT binary patch literal 20480 zcmeHO&5znf6dz-DS;&%YnjjRdqIKG+U6iHeBV^eqhtQ3a(q=aVsM1K4&|nYjbg@lr zL%!O>hA2`0nEn~P^%|*CFYP6#R%#E8n)cH1*kHg*QxH)K84KIvH{%(<-z?m$bN$C-7QQK{_X`ibA9Pi$q0x)JF-A>{roRhndAK5 z{B!VCIRl<Z(}E!|2?CV=gTH|9N8dNxpCs{ol3Hf*o`VPe zK=kZct`j$5wSg#CQjk(5{Amw2hb|Yki(;-U3gz5K*F<3`b3G)G4a-7)w=7;2i$bB8 z-^mqk37?9$gxqK4>-k-B`;NF<-k>EdMpo%7UKFp0MR9jqEZH?%`NBGuW5V@a;j(y5 zBn@xpO53^1q9E8+)OD@Z{I@!2fsvJjVh2b0K=kx!?x5~!Pw%0+(Ujk-GnJ34uC6tZ zu>EnaxNe24?B|z}A?dhjVoepw;^*a1tl(R;tZ|Dzj&Zv|zDiXLbi0LA2@PHH0}nQo zxvoM5ZIC--58vSe(X}=1(Q#Kr3tFn7mGBMJ(-V)YUk&SqS+Sb6wM?e6j+PBLA_FN9 zH-<53Lc_SD>GH5#M|EtNI<&y5?4x_$d;^)4?%ju%=&ONryq+;aG0XpX@B;XJ;05mk zf6SsMPxQ2M|h6qi^b*v6o>~*|@uNUlbFzEt8f=CKB4AS8!8t&zy7ZNvfTwLgAGWj58 zBjx&?JGxLs`aIIj(UC+vtglTn5c?1~$pLr891sDPo zBVhSI$A1gRk8KPAhQR+Bfg4;HtVAR4o(iv|gX!Q-0qN-eCoQPv3D?u^Ayqh+IhTni zQ|Wl7oJu6m#}mnTa!W{NFCVFlYQJI6Qly3D_BJ>hR z2MAYBJTBvMh^}NsnEK)!5A(r5G#cd|-KNdcH4*d>9%z<|rqZO%Qn68il8M{h5Rnrg z8qMjtIn{f;sNw`+LPe8t4IfGxds&mV5Q=qjOM&R>D)-n9+L1tjwerL{9T~vW5sr(f zf$nOq^=v3f1C0ijJ#tl3s=9{+%bJ2E+`yjVQVW}8_e9}pnyJ-wSi^9*;kmRS^?&|5 zYyIC(
+ {{for db in sorted(databases):}} + {{for table in databases[db].tables:}} + {{qry='%s.%s.id>0'%(db,table)}} + {{tbl=databases[db][table]}} + {{if hasattr(tbl,'_primarykey'):}} + {{if tbl._primarykey:}} + {{firstkey=tbl[tbl._primarykey[0]]}} + {{if firstkey.type in ['string','text']:}} + {{qry='%s.%s.%s!=""'%(db,table,firstkey.name)}} + {{else:}} + {{qry='%s.%s.%s>0'%(db,table,firstkey.name)}} + {{pass}} + {{else:}} + {{qry=''}} + {{pass}} + {{pass}} + + + + + {{pass}} + {{pass}} +
+ {{=A("%s.%s" % (db,table),_href=URL('select',args=[db],vars=dict(query=qry)))}} + + {{=A(str(T('New Record')),_href=URL('insert',args=[db,table]),_class="btn btn-default")}} +
+ +
+ {{=LOAD('appadmin', 'hooks', ajax=True)}} +
+ +{{elif request.function=='select':}} +

{{=XML(str(T("Database %s select"))%A(request.args[0],_href=URL('index'))) }} +

+ {{if tb:}} +

{{=T('Traceback')}}

+
+    {{=tb}}
+  
+ {{pass}} + {{if table:}} + {{=A(str(T('New Record')),_href=URL('insert',args=[request.args[0],table]),_class="btn btn-default")}}

+

{{=T("Rows in Table")}}


+ {{else:}} +

{{=T("Rows selected")}}


+ {{pass}} + {{=form}} +

{{=T('The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.')}}
+ {{=T('Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.')}}
+ {{=T('"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN')}}

+

+

{{=T("%s selected", nrows)}}

+ {{if start>0:}}{{=A(T('previous %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start-step)),_class="btn btn-default")}}{{pass}} + {{if stop + {{linkto = lambda f, t, r: URL('update', args=[request.args[0], r, f]) if f else "#"}} + {{upload=URL('download',args=request.args[0])}} + {{=SQLTABLE(rows,linkto,upload,orderby=True,_class='sortable')}} + + {{pass}} +

{{=T("Import/Export")}}


+ {{=T("export as csv file")}} + {{=formcsv or ''}} + +{{elif request.function=='insert':}} +

{{=T("Database")}} {{=A(request.args[0],_href=URL('index'))}} + {{if hasattr(table,'_primarykey'):}} + {{fieldname=table._primarykey[0]}} + {{dbname=request.args[0]}} + {{tablename=request.args[1]}} + {{cond = table[fieldname].type in ['string','text'] and '!=""' or '>0'}} + {{=T("Table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}} + {{else:}} + {{=T("Table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}} + {{pass}} +

+

{{=T("New Record")}}


+ {{=form}} +{{elif request.function=='update':}} +

{{=T("Database")}} {{=A(request.args[0],_href=URL('index'))}} + {{if hasattr(table,'_primarykey'):}} + {{fieldname=request.vars.keys()[0]}} + {{dbname=request.args[0]}} + {{tablename=request.args[1]}} + {{cond = table[fieldname].type in ['string','text'] and '!=""' or '>0'}} + {{=T("Table")}} {{=A(tablename,_href=URL('select',args=dbname,vars=dict(query='%s.%s.%s%s'%(dbname,tablename,fieldname,cond))))}} + {{=T("Record")}} {{=A('%s=%s'%request.vars.items()[0],_href=URL('update',args=request.args[:2],vars=request.vars))}} + {{else:}} + {{=T("Table")}} {{=A(request.args[1],_href=URL('select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}} + {{=T("Record id")}} {{=A(request.args[2],_href=URL('update',args=request.args[:3]))}} + {{pass}} +

+

{{=T("Edit current record")}}



{{=form}} + +{{elif request.function=='state':}} +

{{=T("Internal State")}}

+

{{=T("Current request")}}

+ {{=BEAUTIFY(request)}} +

{{=T("Current response")}}

+ {{=BEAUTIFY(response)}} +

{{=T("Current session")}}

+ {{=BEAUTIFY(session)}} + + +{{elif request.function == 'ccache':}} +

{{T("Cache")}}

+
+ +
+

{{T("Statistics")}}

+
+ +
+

{{=T("Overview")}}

+

{{=T.M("Number of entries: **%s**", total['entries'])}}

+ {{if total['entries'] > 0:}} +

{{=T.M("Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})", + dict( ratio=total['ratio'], hits=total['hits'], misses=total['misses']))}} +

+

+ {{=T("Size of cache:")}} + {{if object_stats:}} + {{=T.M("**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}", dict(items=total['objects'], bytes=total['bytes']))}} + {{if total['bytes'] > 524287:}} + {{=T.M("(**%.0d MB**)", total['bytes'] / 1048576)}} + {{pass}} + {{else:}} + {{=T.M("**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}} + {{pass}} +

+

+ {{=T.M("Cache contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.", + dict(hours=total['oldest'][0], min=total['oldest'][1], sec=total['oldest'][2]))}} +

+ {{=BUTTON(T('Cache Keys'), _onclick='jQuery("#all_keys").toggle().toggleClass( "w2p_hidden" );')}} +
+ {{=total['keys']}} +
+
+ {{pass}} + +

{{=T("RAM")}}

+

{{=T.M("Number of entries: **%s**", ram['entries'])}}

+ {{if ram['entries'] > 0:}} +

{{=T.M("Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})", + dict( ratio=ram['ratio'], hits=ram['hits'], misses=ram['misses']))}} +

+

+ {{=T("Size of cache:")}} + {{if object_stats:}} + {{=T.M("**%(items)s** items, **%(bytes)s** %%{byte(bytes)}", dict(items=ram['objects'], bytes=ram['bytes']))}} + {{if ram['bytes'] > 524287:}} + {{=T.M("(**%.0d MB**)", ram['bytes'] / 10485576)}} + {{pass}} + {{else:}} + {{=T.M("``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}} + {{pass}} +

+

+ {{=T.M("RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.", + dict(hours=ram['oldest'][0], min=ram['oldest'][1], sec=ram['oldest'][2]))}} +

+ {{=BUTTON(T('RAM Cache Keys'), _onclick='jQuery("#ram_keys").toggle().toggleClass( "w2p_hidden" );')}} +
+ {{=ram['keys']}} +
+
+ {{pass}} + +

{{=T("DISK")}}

+

{{=T.M("Number of entries: **%s**", disk['entries'])}}

+ {{if disk['entries'] > 0:}} +

+ {{=T.M("Hit Ratio: **%(ratio)s%%** (**%(hits)s** %%{hit(hits)} and **%(misses)s** %%{miss(misses)})", + dict(ratio=disk['ratio'], hits=disk['hits'], misses=disk['misses']))}} +

+

+ {{=T("Size of cache:")}} + {{if object_stats:}} + {{=T.M("**%(items)s** %%{item(items)}, **%(bytes)s** %%{byte(bytes)}", dict( items=disk['objects'], bytes=disk['bytes']))}} + {{if disk['bytes'] > 524287:}} + {{=T.M("(**%.0d MB**)", disk['bytes'] / 1048576)}} + {{pass}} + {{else:}} + {{=T.M("``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)")}} + {{pass}} +

+

+ {{=T.M("DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.", + dict(hours=disk['oldest'][0], min=disk['oldest'][1], sec=disk['oldest'][2]))}} +

+ {{=BUTTON(T('Disk Cache Keys'), _onclick='jQuery("#disk_keys").toggle().toggleClass( "w2p_hidden" );')}} +
+ {{=disk['keys']}} +
+
+ {{pass}} +
+ +
+

{{=T("Manage Cache")}}

+
+ +
+

+ {{=form}} +

+
+
+
+{{pass}} + +{{if request.function=='graph_model':}} +

{{=T("Graph Model")}}

+ {{if not pgv:}} + {{=T('pygraphviz library not found')}} + {{elif not databases:}} + {{=T("No databases in this application")}} + {{else:}} + +
+ {{=IMG(_src=URL('appadmin', 'bg_graph_model'))}} + {{pass}} +{{pass}} + +{{if request.function == 'manage':}} +

{{=heading}}

+ + +
+ {{for k, tablename in enumerate(tablenames):}} +
+ {{=LOAD(f='manage.load', args=[request.args(0), k], ajax=True)}} +
+ {{pass}} +
+{{pass}} diff --git a/views/default/admin_expedientes.html b/views/default/admin_expedientes.html new file mode 100644 index 0000000..9b6e21c --- /dev/null +++ b/views/default/admin_expedientes.html @@ -0,0 +1,4 @@ +{{extend 'layout.html'}} +

Expedientes

+{{=grid}} +{{=BEAUTIFY(response._vars)}} diff --git a/views/default/admin_expedientes.html.bak b/views/default/admin_expedientes.html.bak new file mode 100644 index 0000000..c85fdde --- /dev/null +++ b/views/default/admin_expedientes.html.bak @@ -0,0 +1,4 @@ +{{extend 'layout.html'}} +

Personas

+{{=grid}} +{{=BEAUTIFY(response._vars)}} diff --git a/views/default/admin_juzgados.html b/views/default/admin_juzgados.html new file mode 100644 index 0000000..497ee91 --- /dev/null +++ b/views/default/admin_juzgados.html @@ -0,0 +1,4 @@ +{{extend 'layout.html'}} +

Juzgados

+{{=grid}} +{{=BEAUTIFY(response._vars)}} diff --git a/views/default/admin_juzgados.html.bak b/views/default/admin_juzgados.html.bak new file mode 100644 index 0000000..2abad5c --- /dev/null +++ b/views/default/admin_juzgados.html.bak @@ -0,0 +1,4 @@ +{{extend 'layout.html'}} +

Juzgados

+{{=form}} +{{=BEAUTIFY(response._vars)}} diff --git a/views/default/admin_personas.html b/views/default/admin_personas.html new file mode 100644 index 0000000..c85fdde --- /dev/null +++ b/views/default/admin_personas.html @@ -0,0 +1,4 @@ +{{extend 'layout.html'}} +

Personas

+{{=grid}} +{{=BEAUTIFY(response._vars)}} diff --git a/views/default/admin_personas.html.bak b/views/default/admin_personas.html.bak new file mode 100644 index 0000000..16a6046 --- /dev/null +++ b/views/default/admin_personas.html.bak @@ -0,0 +1,3 @@ +{{extend 'layout.html'}} +

Está es la plantilla default/admin_personas.html

+{{=BEAUTIFY(response._vars)}} \ No newline at end of file diff --git a/views/default/edit_expediente.html.bak b/views/default/edit_expediente.html.bak new file mode 100644 index 0000000..6d47ca8 --- /dev/null +++ b/views/default/edit_expediente.html.bak @@ -0,0 +1,11 @@ +{{extend 'layout.html'}} +

Expediente:

+{{=expte}} +
    +{{for mov in contenido:}} +{{=LI(mov.titulo)}} +{{pass}} +
+

Agregue un nuevo movimiento

+{{=form}} +{{=BEAUTIFY(response._vars)}} diff --git a/views/default/index.html b/views/default/index.html new file mode 100644 index 0000000..bf0272b --- /dev/null +++ b/views/default/index.html @@ -0,0 +1,16 @@ +{{extend 'layout.html'}} + +{{block header}} +
+
+ {{if response.title:}} +

{{=response.title}} + {{=response.subtitle or ''}}

+ {{pass}} +
+
+{{end}} + +{{=content}} +{{=BEAUTIFY(response._vars)}} +{{pass}} diff --git a/views/default/index.html.bak b/views/default/index.html.bak new file mode 100644 index 0000000..7c83070 --- /dev/null +++ b/views/default/index.html.bak @@ -0,0 +1,52 @@ +{{left_sidebar_enabled,right_sidebar_enabled=False,('message' in globals())}} +{{extend 'layout.html'}} + +{{block header}} +
+
+ {{if response.title:}} +

{{=response.title}} + {{=response.subtitle or ''}}

+ {{pass}} +
+
+{{end}} + +{{if 'message' in globals():}} +

{{=message}}

+

{{=T('How did you get here?')}}

+
    +
  1. {{=T('You are successfully running web2py')}}
  2. +
  3. {{=XML(T('You visited the url %s', A(request.env.path_info,_href=request.env.path_info)))}}
  4. +
  5. {{=XML(T('Which called the function %s located in the file %s', + (A(request.function+'()',_href='#'), + A('web2py/applications/%(application)s/controllers/%(controller)s.py' % request, + _href=URL('admin','default','peek', args=(request.application,'controllers',request.controller+'.py'))))))}}
  6. +
  7. {{=XML(T('The output of the file is a dictionary that was rendered by the view %s', + A('web2py/applications/%(application)s/views/%(controller)s/index.html' % request, + _href=URL('admin','default','peek',args=(request.application,'views',request.controller,'index.html')))))}}
  8. +
  9. {{=T('You can modify this application and adapt it to your needs')}}
  10. +
+{{elif 'content' in globals():}} +{{=content}} +{{else:}} +{{=BEAUTIFY(response._vars)}} +{{pass}} + +{{block right_sidebar}} +
+ +
+ {{=T("Don't know what to do?")}} +
+ +
+{{end}} diff --git a/views/default/list_expedientes.html.bak b/views/default/list_expedientes.html.bak new file mode 100644 index 0000000..0c1a05b --- /dev/null +++ b/views/default/list_expedientes.html.bak @@ -0,0 +1,10 @@ +{{extend 'layout.html'}} +

Listado de expedientes del usuario

+
    +{{for expte in contenido:}} +{{=LI(A(expte,_href=URL('edit_expediente', args=[expte.id,])))}} +{{pass}} +
+

Agregue un nuevo expediente

+{{=form}} +{{=BEAUTIFY(response._vars)}} diff --git a/views/default/user.html b/views/default/user.html new file mode 100644 index 0000000..5bfa040 --- /dev/null +++ b/views/default/user.html @@ -0,0 +1,35 @@ +{{extend 'layout.html'}} + +

+{{=T('Sign Up') if request.args(0) == 'register' else T('Log In') if request.args(0) == 'login' else T(request.args(0).replace('_',' ').title())}} +

+ +
+
+
+ {{ + if request.args(0)=='login': + if not 'register' in auth.settings.actions_disabled: + form.add_button(T('Sign Up'),URL(args='register', vars={'_next': request.vars._next} if request.vars._next else None),_class='btn btn-default') + pass + if not 'request_reset_password' in auth.settings.actions_disabled: + form.add_button(T('Lost Password'),URL(args='request_reset_password'),_class='btn btn-default') + pass + pass + =form + }} +
+
+
+ + +{{block page_js}} + +{{end page_js}} diff --git a/views/generic.html b/views/generic.html new file mode 100644 index 0000000..f6ee496 --- /dev/null +++ b/views/generic.html @@ -0,0 +1,16 @@ +{{extend 'layout.html'}} +{{""" + +You should not modify this file. +It is used as default when a view is not provided for your controllers + +"""}} +

{{=' '.join(x.capitalize() for x in request.function.split('_'))}}

+{{if len(response._vars)==1:}} +{{=BEAUTIFY(response._vars.values()[0])}} +{{elif len(response._vars)>1:}} +{{=BEAUTIFY(response._vars)}} +{{pass}} +{{if request.is_local:}} +{{=response.toolbar()}} +{{pass}} diff --git a/views/generic.ics b/views/generic.ics new file mode 100644 index 0000000..a812bfe --- /dev/null +++ b/views/generic.ics @@ -0,0 +1,17 @@ +{{ +### +# response._vars contains the dictionary returned by the controller action +# Assuming something like: +# +# db.define_table('event', +# Field('title'), +# Field('start_datetime','datetime'), +# Field('stop_datetime','datetime')) +# events = db(db.event).select() +# +# Aor this to work the action must return something like +# +# dict(events=events, title='title',link=URL('action'),timeshift=0) +# +### +from gluon.serializers import ics}}{{=XML(ics(**response._vars))}} diff --git a/views/generic.json b/views/generic.json new file mode 100644 index 0000000..3bd0e1c --- /dev/null +++ b/views/generic.json @@ -0,0 +1 @@ +{{from gluon.serializers import json}}{{=XML(json(response._vars))}} diff --git a/views/generic.jsonp b/views/generic.jsonp new file mode 100644 index 0000000..8b09fc2 --- /dev/null +++ b/views/generic.jsonp @@ -0,0 +1,23 @@ +{{ +### +# response._vars contains the dictionary returned by the controller action +### + +# security check! This file is an example for a jsonp view. +# it is not safe to use as a generic.jsonp because of security implications. + +if response.view == 'generic.jsonp': + raise HTTP(501,'generic.jsonp diasbled for security reasons') + +try: + from gluon.serializers import json + result = "%s(%s)" % (request.vars['callback'], json(response._vars)) + response.write(result, escape=False) + response.headers['Content-Type'] = 'application/jsonp' +except (TypeError, ValueError): + raise HTTP(405, 'JSON serialization error') +except ImportError: + raise HTTP(405, 'JSON not available') +except: + raise HTTP(405, 'JSON error') +}} \ No newline at end of file diff --git a/views/generic.load b/views/generic.load new file mode 100644 index 0000000..e898cc4 --- /dev/null +++ b/views/generic.load @@ -0,0 +1,30 @@ +{{''' +# License: Public Domain +# Author: Iceberg at 21cn dot com + +With this generic.load file, you can use same function to serve two purposes. + += regular action +- ajax callback (when called with .load) + +Example modified from http://www.web2py.com/AlterEgo/default/show/252: + +def index(): + return dict( + part1='hello world', + part2=LOAD(url=URL(r=request,f='auxiliary.load'),ajax=True)) + +def auxiliary(): + form=SQLFORM.factory(Field('name')) + if form.accepts(request.vars): + response.flash = 'ok' + return dict(message="Hello %s" % form.vars.name) + return dict(form=form) + +Notice: + +- no need to set response.headers['web2py-response-flash'] +- no need to return a string +even if the function is called via ajax. + +'''}}{{if len(response._vars)==1:}}{{=response._vars.values()[0]}}{{else:}}{{=BEAUTIFY(response._vars)}}{{pass}} \ No newline at end of file diff --git a/views/generic.map b/views/generic.map new file mode 100644 index 0000000..773a8f7 --- /dev/null +++ b/views/generic.map @@ -0,0 +1,69 @@ +{{""" +this is an example of usage of google map +the web2py action should be something like: + +def map(): + return dict( + googlemap_key='...', + center_latitude = 41.878, + center_longitude = -87.629, + scale = 7, + maker = lambda point: A(row.id,_href='...') + points = db(db.point).select() where a points have latitute and longitude + ) + +the corresponding views/defaut/map.html should be something like: + + \{\{extend 'layout.html'\}\} +
\{\{include 'generic.map'\}\}
+ +"""}} + + +
+ diff --git a/views/generic.pdf b/views/generic.pdf new file mode 100644 index 0000000000000000000000000000000000000000..722831a13ae124b2e566657ad28d4ee1c7394b5f GIT binary patch literal 306 zcmY+9F>Avx5QX>q6}K2m5Y)Zkp`k5g%90M5jN_aV6-lS)~`irk+SOrA5_}gcEZ|Y2_CHT6uUs!U|q>eC1#3itWae- z4J74vh`p!0m?JyHzBrB=oE^0$b>(R2;-rY0&u@0|xnbGw$9{cw^dt3Rwrc$fh&U;m zOp-VXnM`qH)sq48LVw(H{k~PpkGHSQ>T^2^9#<+Cj!mCSJh + + + + + + + + + {{=response.title or request.application}} + + + + + + + + + + + + + + {{include 'web2py_ajax.html'}} + {{block head}}{{end}} + {{ + # using sidebars need to know what sidebar you want to use + mc0 = 'col-md-12' + mc1 = 'col-md-9' + mc2 = 'col-md-6' + left_sidebar_enabled = globals().get('left_sidebar_enabled', False) + right_sidebar_enabled = globals().get('right_sidebar_enabled', False) + middle_column = {0: mc0, 1: mc1, 2: mc2}[ + (left_sidebar_enabled and 1 or 0)+(right_sidebar_enabled and 1 or 0)] + }} + + + +
{{=response.flash or ''}}
+ + + + {{block header}} + {{end}} + + +
+ {{if left_sidebar_enabled:}} + + {{pass}} + +
+ {{block center}} + {{include}} + {{end}} +
+ + {{if right_sidebar_enabled:}} +
+ {{block right_sidebar}} +

Right Sidebar

+

+ {{end}} +
+ {{pass}} + +
+ + {{block footer}} +
+
+ +
+ {{=T('Powered by')}} + web2py +
+
+
+ {{end}} + + + + {{block page_js}}{{end page_js}} + {{if response.google_analytics_id:}} + + + + {{pass}} + + + + diff --git a/views/web2py_ajax.html b/views/web2py_ajax.html new file mode 100644 index 0000000..b8e1a11 --- /dev/null +++ b/views/web2py_ajax.html @@ -0,0 +1,16 @@ + +{{ +response.files.insert(0,URL('static','js/jquery.js')) +response.files.insert(1,URL('static','css/calendar.css')) +response.files.insert(2,URL('static','js/calendar.js')) +response.files.insert(3,URL('static','js/web2py.js')) +response.include_meta() +response.include_files() +}}