Compare commits

...

5055 Commits

Author SHA1 Message Date
mdipierro b9ee4d4730 R-2.12.2 2015-08-09 09:27:42 -05:00
mdipierro 8fd7a27d5f fixed problem with pack all and missing cache folder 2015-08-09 09:26:57 -05:00
mdipierro 69231bdd7f R-1.12.1 2015-08-07 02:20:08 -05:00
mdipierro 55dfb9e8c4 R-1.12.1 2015-08-07 02:12:17 -05:00
mdipierro 7761219cba jquery 1.11.3, bootstrap 3.3.5 2015-08-07 02:10:27 -05:00
mdipierro e31e4e236f prettydate can do UTC, fixes #1036 2015-08-07 02:04:07 -05:00
mdipierro a43d822412 changed version for testing 2015-08-06 22:02:17 -05:00
mdipierro 5775d2788d reverted apache processes=1 2015-08-01 00:24:21 -05:00
mdipierro 048f275076 fixed TLS support in ldap, thanks backseat 2015-08-01 00:21:56 -05:00
mdipierro d7caaf04cc fixed issue #933, wiki bug 2015-07-26 14:24:53 -05:00
mdipierro e95115deb4 fixed order of confirm-password field 2015-07-26 10:18:45 -05:00
mdipierro 42c69b6343 changed indent 2015-07-20 02:26:13 -05:00
mdipierro d2347dec41 CacheRepresenter 2015-07-20 02:17:59 -05:00
mdipierro 8420020c21 caching only refault represent for references 2015-07-20 02:07:47 -05:00
mdipierro 571fc6d919 changed version 2015-07-20 01:51:22 -05:00
mdipierro 52ec228eeb Merge branch 'master' of github.com:web2py/web2py 2015-07-20 01:20:22 -05:00
mdipierro 5848d9acaa Merge pull request #1023 from dmatic/master
Script to install web2py with nginx and uwsgi on centos 7
2015-07-19 11:35:31 -05:00
Dragan Matic 3e8cbd5a0d Script to install web2py with nginx and uwsgi on centos 7 2015-07-16 13:35:27 +02:00
mdipierro e276cc2fc1 Merge pull request #1019 from gi0baro/master
Updated to pydal 15.07
2015-07-16 03:57:13 -05:00
mdipierro 39a048db61 Merge pull request #1018 from cassiobotaro/master
fix validations IS_IPV6 and IS_IPADDRESS
2015-07-16 03:57:06 -05:00
mdipierro df4b896334 models speed up 2015-07-13 07:52:38 -05:00
gi0baro 6d58845153 Using pydal 15.07 2015-07-13 14:25:43 +02:00
Dragan Matic ba1f8bf741 Merge pull request #1 from web2py/master
Update from original
2015-07-10 13:09:43 +02:00
cassiobotaro a378ab3e51 fix validations IS_IPV6 and IS_IPADDRESS 2015-07-10 01:11:16 -03:00
mdipierro 2d866647e2 Merge pull request #1017 from raj454raj/master
Small typo
2015-07-07 03:55:17 -05:00
Raj 81863d69c9 Small typo
Sorry! Can't resist when you see typo on the terminal !
2015-07-07 02:38:30 +05:30
mdipierro ee2879442f tracking last master since that works better at this time 2015-07-06 10:13:47 -05:00
mdipierro ad68d2415d possibly fixed issue #243, SQLFORM.factory(..) and DAL(None) 2015-07-06 10:04:14 -05:00
mdipierro 928de67f8d fixed DAL(None) 2015-07-06 10:01:40 -05:00
mdipierro 68296f9e65 Merge pull request #1016 from ShySec/master
fix Field.Virtual use in multi-table queries
2015-07-06 07:44:49 -05:00
kelson 7ac6edae52 fix Field.Virtual use in multi-table queries 2015-07-06 08:35:58 -04:00
mdipierro 1fc90fdb6d scripts/web2py-scheduler.conf 2015-07-06 04:46:56 -05:00
mdipierro 34a9d72cde mail.settings.server='logging:filename' 2015-07-06 04:45:14 -05:00
mdipierro 198ce939d0 fixed css of population table 2015-07-04 17:12:25 -05:00
mdipierro e31a099cb3 Merge pull request #1012 from ortgit/master
Security fix: Validate for open redirect everywhere, not just in login()
2015-07-02 06:40:12 -05:00
mdipierro cc7e10d216 Merge pull request #1009 from rserbitar/master
Fix compatibility with Tornado 4
2015-07-02 06:38:35 -05:00
mdipierro d8b68036c2 Merge pull request #1006 from kjkuan/workaround-urllib-bug
Workaround http://bugs.python.org/issue9405 on OS X.
2015-07-02 06:38:18 -05:00
pallav_fdsi f9cd7e4ef4 Open redirect attacks should be caught for all functions that use the _next variable (for example: logout()) instead of just for the login() function. 2015-07-01 18:38:43 -04:00
pallav_fdsi 896b45b838 Merge branch 'master' of https://github.com/web2py/web2py 2015-07-01 17:49:47 -04:00
mdipierro d6146c9c5d no more text shadow in buttons, was horrible 2015-07-01 12:18:10 -05:00
mdipierro b3be806244 Merge pull request #1008 from leonelcamara/pack_exe
Moved pack as exe functionality to the pack_custom.html form
2015-07-01 09:01:49 -05:00
rserbitar eac12d3a57 Fix compatibility with Tornado 4
http://stackoverflow.com/questions/24851207/tornado-403-get-warning-when-opening-websocket
2015-07-01 12:06:52 +02:00
mdipierro 2fc081bc3c no more module_installer 2015-06-30 16:12:54 -05:00
Leonel Câmara 032af7c04d Moved pack as exe functionality to the pack_custom.html form 2015-06-30 19:19:38 +01:00
mdipierro 8e63825def Merge pull request #1007 from leonelcamara/pack_exe
Allow packing an application with the windows executable
2015-06-30 12:32:05 -05:00
Leonel Câmara 5d2e5dded3 Allow packing an application with the windows executable 2015-06-30 17:51:39 +01:00
mdipierro 61e33da844 module installer 2015-06-30 11:14:47 -05:00
Jack Kuan da9dbaa5d6 Workaround http://bugs.python.org/issue9405 on OS X.
See https://groups.google.com/forum/#!topic/web2py/WSjhhDet1UM
for context.
2015-06-30 10:56:31 -04:00
mdipierro 7543c54bdb enable_tokens in welcome 2015-06-30 02:32:44 -05:00
mdipierro 00608e4f04 auth.settings.enable_tokens and header web2py_user_token 2015-06-29 13:38:54 -05:00
mdipierro cdbf48f09b fixed margin-top in welcome 2015-06-29 13:03:23 -05:00
mdipierro f39db6331a dealing with issue of accidentally redefining request/response, thanks Auden RovelleQuartz 2015-06-29 03:56:22 -05:00
mdipierro ef433da190 improvements to token logic, thanks Niphlod 2015-06-28 17:01:21 -05:00
mdipierro d2375b4187 always allow access to <app>/appadmin/manage/auth if used is admin 2015-06-28 16:41:09 -05:00
mdipierro 26d87967c5 always allow access to appadmin/manage.auth if used is admin 2015-06-28 16:40:23 -05:00
mdipierro 044b2331c3 bulk_register_enabled=False 2015-06-28 10:30:05 -05:00
mdipierro c89614ada6 more strict conditions on bulk_register 2015-06-28 10:20:33 -05:00
mdipierro f0aba167b4 _token, not token 2015-06-28 09:51:45 -05:00
mdipierro bde9562b78 api_tokens in example 2015-06-28 09:49:50 -05:00
mdipierro 9a1229470a support for api_tokens 2015-06-28 09:48:08 -05:00
mdipierro f781b9e1f5 Merge branch 'peregrinius-master' 2015-06-28 09:08:54 -05:00
mdipierro fa32b7577b fixed a bug and added support for user/bulk_register 2015-06-28 09:01:10 -05:00
mdipierro 68526a0c6d allow unsorted multiword query in grid search 2015-06-28 07:52:34 -05:00
mdipierro ad2003c618 fixed recently introduced sanitize bug 2015-06-27 00:33:16 -05:00
mdipierro c1ecf823d8 added link to new tutorial 2015-06-26 08:07:31 -05:00
mdipierro 6134f82452 fixed issuer #239, locking error on FreeBSD, thanks josejachuf 2015-06-26 06:58:07 -05:00
mdipierro fbb5a8b9bb fixed issue #968, IS_MATCH validator bug with unicode, thanks alex0834 2015-06-25 04:36:16 -05:00
mdipierro df34869d65 fixes #978, autotypes and unicode strings, thanks remcoboerma 2015-06-25 04:31:41 -05:00
mdipierro 28e6999e7d fixed issue #980, Admin application: can't access directories with space in directory name, thanks mmihaltz 2015-06-25 04:30:10 -05:00
mdipierro f4f77b0cb6 fixed issue #982, LOAD with ajax=False and args 2015-06-25 04:23:49 -05:00
mdipierro 23ddb6c3c2 fixed issue #999, gluon.sanitiizer.sanitze improvement, thanks macfiron 2015-06-25 04:19:01 -05:00
mdipierro b636a5d6e9 more companies 2015-06-25 03:26:18 -05:00
mdipierro efc392966e Merge pull request #1005 from cs09g/patch-3
change misspelling
2015-06-18 06:31:51 -05:00
mdipierro cffa59a80c Merge pull request #1004 from cs09g/patch-2
simplified conditions
2015-06-18 06:31:22 -05:00
mdipierro 82a1b9f628 Merge pull request #1003 from cs09g/patch-1
remove duplicated execution
2015-06-18 06:31:08 -05:00
mdipierro 94d2f1453d Merge pull request #1002 from cs09g/patch-5
change initialization
2015-06-18 06:30:30 -05:00
mdipierro a1875ee362 Merge pull request #1001 from cs09g/patch-3
Update appadmin.py
2015-06-18 06:29:57 -05:00
mdipierro 5f13dca712 Merge pull request #1000 from niphlod/fix/readme
after appveyor hooks have been defined...
2015-06-18 06:28:39 -05:00
Chase choi f78d423c92 change misspelling 2015-06-18 17:13:38 +09:00
Chase choi f60ae809b6 simplified conditions 2015-06-18 17:05:34 +09:00
Chase choi 34dd8af101 remove duplicated execution
is that really duplicated or missing something to add for difference?
2015-06-18 16:55:04 +09:00
Chase choi 6bf6ebab1b change initialization
ok must be True or False. 
set False is better for initialization
2015-06-18 16:40:59 +09:00
Chase choi 29bf50425b Update appadmin.py 2015-06-18 16:31:28 +09:00
niphlod 8a7612c976 after appveyor hooks have been defined... 2015-06-17 21:23:29 +02:00
mdipierro 97489fd277 Merge pull request #998 from niphlod/build/appveyor
move to codecov and enable appveyor too
2015-06-17 02:00:48 -05:00
mdipierro b86184fe58 Merge pull request #997 from niphlod/fix/bs3_grid_checkbox
fix display of checkboxes in search form of grid
2015-06-17 02:00:34 -05:00
niphlod 2ce53e9957 move to codecov and enable appveyor too 2015-06-14 21:17:52 +02:00
niphlod d61c372c95 fix display of checkboxes in search form of grid 2015-06-11 21:54:21 +02:00
mdipierro 73e176365f Merge pull request #995 from niphlod/fix/994
fixes #994
2015-06-07 21:47:28 -05:00
mdipierro 33f12d91a5 Merge pull request #992 from btreecat/master
Fixed authentication using different login methods.
2015-06-07 21:47:08 -05:00
mdipierro d0f1286f03 Merge pull request #991 from cs09g/patch-2
Update appadmin.py
2015-06-07 21:44:44 -05:00
mdipierro 04d698109e Merge pull request #990 from cs09g/patch-1
remove invalid initialize
2015-06-07 21:44:19 -05:00
mdipierro 0e9c5caf4d added request_reset_password_on... 2015-06-07 21:28:18 -05:00
niphlod 509b0a6987 fixes is_in_set repr too 2015-06-06 09:50:44 +02:00
niphlod e0074ebcac fixes #994
we were overriding default classes for specific widgets
2015-06-05 22:10:33 +02:00
Stephen Tanner 918fdf2f0c Fixed authentication using different login methods. 2015-06-02 12:24:35 -04:00
Chase choi 8e827f7a09 Update appadmin.py 2015-06-02 01:28:51 +09:00
Chase choi cf2d5b637b remove invalid initialize 2015-06-02 01:00:25 +09:00
mdipierro 236fdcfafc R-2.11.2 2015-05-30 11:30:16 -05:00
mdipierro ce0f83d00c Merge pull request #988 from gi0baro/master
Track pyDAL 15.05.29
2015-05-30 11:29:09 -05:00
gi0baro 156d771ab3 Track pyDAL 15.05.29 2015-05-29 13:45:52 -05:00
mdipierro 01474c99b0 R-2.11.1 2015-05-28 23:22:16 -05:00
mdipierro 66d15491ca Merge pull request #984 from ilvalle/minorfix
lazy request.uuid
2015-05-28 23:17:21 -05:00
mdipierro 376a27da73 Merge pull request #983 from Euphorbium/patch-1
fix cPickle not defined error
2015-05-28 23:16:33 -05:00
mdipierro 0f95c13dc7 Merge pull request #981 from gi0baro/master
Track pyDAL 15.05.26
2015-05-28 23:16:02 -05:00
peregrinius a2e7794b92 Invite user
Invite by email another user to access your application. Note, my
initial version was built on Auth.register_bare which doesn't seem to be
in this repository???
2015-05-29 15:22:36 +12:00
mdipierro 926de90ee4 fixed bug in orderby when it is a list 2015-05-28 13:59:03 -05:00
ilvalle 538f375284 lazy request.uuid 2015-05-28 18:30:06 +02:00
Juozas Masiulis 4c61c0962d fix cPickle not defined error 2015-05-28 14:29:43 +03:00
gi0baro 9b71646fc5 Track pyDAL 15.05.26 2015-05-26 14:36:04 +02:00
mdipierro 1e66fa3a93 new version number 2015-05-24 19:14:49 -05:00
mdipierro 57a8dfe034 Merge pull request #977 from austinprog/patch-1
Changed "Import about this GIT repo" Line 16, typo
2015-05-24 18:58:22 -05:00
mdipierro 77e7631740 Merge pull request #976 from niphlod/fix/ubuntu_nginx_hardening
thanks  @wmunguiam for spotting
2015-05-24 18:57:51 -05:00
mdipierro ba978d55cf Merge pull request #975 from gi0baro/master
Track pyDAL 15.05
2015-05-24 18:57:36 -05:00
mdipierro 12e8ee5c25 Merge pull request #974 from niphlod/fix/redis_cache_multiapp
redis multi-app. Thanks Lisandro for spotting it
2015-05-24 18:57:26 -05:00
Austin d293e98b43 Changed "Import about this GIT repo" Line 16, typo
My proposal is to change it to "Important reminder about this GIT Repo", as I think the "Import" part in the current one is a typo.
2015-05-24 18:13:03 -05:00
niphlod 4f316d0294 thanks @wmunguiam for spotting 2015-05-24 21:25:27 +02:00
gi0baro 81e15879d4 Track pyDAL 15.05 2015-05-23 16:37:52 +02:00
niphlod cd1d6c5af1 redis multi-app. Thanks Lisandro for spotting it
redis_cache didn't play well with multiple apps for a silly mistake.
Glad that Lisadro pointed out
2015-05-21 22:26:04 +02:00
mdipierro c7d3758c77 Merge pull request #973 from omniavx/patch-1
Update dal.py
2015-05-20 08:27:41 -05:00
mdipierro 040e52278e Merge pull request #956 from cassiobotaro/master
More changes in List (request.args)
2015-05-20 08:27:16 -05:00
mdipierro 3daf953c66 syncing maintenance again 2015-05-20 08:26:03 -05:00
mdipierro de3d722ac9 fixed import, thanks Auden RovelleQuartz 2015-05-20 08:24:33 -05:00
omniavx ff10eab373 Update dal.py
I was running my application and got this error

{
<type 'exceptions.ImportError'> cannot import name Set

Version
web2py™	Version 2.10.4-stable+timestamp.2015.04.26.15.11.54
Python	Python 2.7.3: /usr/bin/python (prefix: /usr)
Traceback
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Traceback (most recent call last):
  File "/home/www-data/web2py/gluon/restricted.py", line 227, in restricted
    exec ccode in environment
  File "/home/www-data/web2py/applications/omniavx_cxn/controllers/valuecache.py", line 6897, in <module>
  File "/home/www-data/web2py/gluon/globals.py", line 393, in <lambda>
    self._caller = lambda f: f()
  File "/home/www-data/web2py/applications/omniavx_cxn/controllers/valuecache.py", line 6584, in browse_bacct_callback
    from plugin_PowerGrid.CallBack import CallBack
  File "/home/www-data/web2py/gluon/custom_import.py", line 95, in custom_importer
    return base_importer(pname, globals, locals, fromlist, level)
  File "/home/www-data/web2py/gluon/custom_import.py", line 134, in __call__
    result = NATIVE_IMPORTER(name, globals, locals, fromlist, level)
  File "applications/omniavx_cxn/modules/plugin_PowerGrid/CallBack.py", line 41, in <module>
    from gluon.dal import Table ,Query, Set, Rows, Row
ImportError: cannot import name Set
}

same code produced no error in earlier version of web2py



line 15 of web2py/gluon/dal.py is 
{
from pydal.objects import Row, Rows, Table, Query, Expression
}

replacing that with 
{
from pydal.objects import Row, Rows, Table, Query, Set, Expression

}

solves the problem
2015-05-20 00:11:46 -05:00
mdipierro eb4d159b37 fixed process_batch_upload 2015-05-18 23:28:17 -05:00
Cássio Botaro 5ef7a8e9a1 maintains web2py pattern 2015-05-14 12:24:58 -03:00
mdipierro 76cfba7047 Merge pull request #964 from matclab/mail-send-lazy-to-unicode
#963 : Convert subject and body to unicode before sending mail
2015-05-14 09:17:04 -05:00
mdipierro f77f307869 Merge pull request #970 from ailnlv/patch-1
Fixing https://github.com/web2py/web2py/issues/969
2015-05-14 09:16:52 -05:00
mdipierro 5ef8648929 Merge pull request #967 from bletourmy/fix/966
fixes #966 - deadlock in cache.disk
2015-05-14 09:16:31 -05:00
mdipierro ed042685ea Merge pull request #965 from niphlod/fix/962
fixes #962
2015-05-14 09:16:10 -05:00
mdipierro d09ce57f12 Merge pull request #961 from niphlod/fix/628
fixes #628
2015-05-14 09:14:06 -05:00
ailnlv 169818b275 Fixing https://github.com/web2py/web2py/issues/969
Running readline.parse_and_bind("bind ^I rl_complete") makes the letter "b" stop working on the console. This patch solves the issue and correctly enables tab completition on OSX.
2015-05-13 19:23:56 -03:00
Bernard Letourmy 4b14a87463 fixes #966 - deadlock in cache.disk 2015-05-13 09:35:22 +08:00
niphlod cadf38b4f6 fixes #962 2015-05-11 21:24:20 +02:00
Mathieu Clabaut a6226d6391 Convert subject and body to unicode before sending mail
Not doing this was raising an exception :

Traceback (most recent call last):
  File /base/data/home/apps/e~sacred-bonus-88417/1.384178859090314065/gluon/restricted.py, line 227, in restricted
    exec ccode in environment
  File /base/data/home/apps/e~sacred-bonus-88417/1.384178859090314065/applications/foundit/controllers/default.py, line 127, in <module>
  File /base/data/home/apps/e~sacred-bonus-88417/1.384178859090314065/gluon/globals.py, line 393, in <lambda>
    self._caller = lambda f: f()
  File /base/data/home/apps/e~sacred-bonus-88417/1.384178859090314065/applications/foundit/controllers/default.py, line 34, in user
    return dict(form=auth())
  File /base/data/home/apps/e~sacred-bonus-88417/1.384178859090314065/gluon/tools.py, line 1595, in __call__
    return getattr(self, args[0])()
  File /base/data/home/apps/e~sacred-bonus-88417/1.384178859090314065/gluon/tools.py, line 3272, in request_reset_password
    if self.email_reset_password(user):
  File /base/data/home/apps/e~sacred-bonus-88417/1.384178859090314065/gluon/tools.py, line 3296, in email_reset_password
    message=self.messages.reset_password % d):
  File /base/data/home/apps/e~sacred-bonus-88417/1.384178859090314065/gluon/tools.py, line 798, in send
    subject=subject, body=text, **xcc)
  File /base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py, line 402, in send_mail
    message.send(make_sync_call=make_sync_call)
  File /base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py, line 1108, in send
    message = self.ToProto()
  File /base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py, line 1350, in ToProto
    message = super(EmailMessage, self).ToProto()
  File /base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py, line 1046, in ToProto
    message.set_subject(_to_str(self.subject))
  File cpp_message.pyx, line 124, in cpp_message.SetScalarAccessors.Setter (third_party/apphosting/python/protobuf/proto1/cpp_message.cc:2229)
TypeError: <class 'gluon.languages.lazyT'> has type <class 'gluon.languages.lazyT'>, but expected one of: str, unicode
2015-05-09 18:24:09 +02:00
niphlod 5c167907eb fixes #628
response.include_files is now cleaner and easier to maintain

You can specify a tuple of (type, url) to include external assets
without extension (such as the usecase described in #628)

Added tests for include_files, that was never included in CI tests
2015-05-08 21:51:56 +02:00
mdipierro 587ff56a94 linked 15.03-maintenance again 2015-05-07 22:26:42 -05:00
mdipierro 6f91fdd833 minor refactoring in grid(orderby) 2015-05-06 08:56:56 -05:00
mdipierro 6e2f9ad043 fixed examples support 2015-05-04 11:23:44 -05:00
Cássio Botaro cdca2793e0 Maintain py2.6k compability 2015-05-04 12:55:44 -03:00
Cássio Botaro a0ee649884 Update tests
- new tests to verify old behaviour 
- test otherwise without cast and defaut
- verify if behave like a list 
- more test with call function
2015-05-04 12:49:14 -03:00
Cássio Botaro 380b491724 Return old behaviours
- Better documented List
- Otherwise not binded with cast
2015-05-04 12:41:06 -03:00
mdipierro f45bf73992 Merge branch 'master' of github.com:web2py/web2py 2015-05-03 16:42:42 -05:00
mdipierro 94461724f6 Merge pull request #954 from cassiobotaro/master
Mantain backward compatibility
2015-05-03 16:42:12 -05:00
Cássio Botaro c36c391786 More test to prove backward compatibility 2015-05-03 14:03:26 -03:00
Cássio Botaro f6db7c995f Its necessary because of default=None trick 2015-05-03 14:02:11 -03:00
Cássio Botaro ccc4b96709 Added one more test
Added one more test to avoid mistake with backward compatibility
2015-05-03 13:36:24 -03:00
Cássio Botaro 71b02e3044 Maintain backward compatibility
Little change to maintain backward compatibility, related to #590
2015-05-03 13:35:05 -03:00
mdipierro 99fb1c3010 Merge branch 'master' of github.com:web2py/web2py 2015-05-03 10:31:37 -05:00
mdipierro 20067d7b93 Merge pull request #953 from niphlod/fix/691
fixes issue #691
2015-05-03 10:31:32 -05:00
mdipierro 44eb35c617 Merge pull request #952 from niphlod/fix/734
fixes #734
2015-05-03 10:31:21 -05:00
mdipierro df03317054 Merge pull request #951 from niphlod/tests/cache_ram_and_disk
more tests, general cleanup
2015-05-03 10:31:08 -05:00
mdipierro 9d873cbd1c reverted last commit 2015-05-03 10:30:43 -05:00
mdipierro 1bb4117cbd Merge pull request #950 from cassiobotaro/master
Fix List behaviour and added new feature
2015-05-03 10:27:46 -05:00
mdipierro e834186a86 Merge pull request #950 from cassiobotaro/master
Fix List behaviour and added new feature
2015-05-03 10:23:08 -05:00
mdipierro 1394942feb removed reference to python 2.5 2015-05-03 10:09:07 -05:00
niphlod 32b9b5c799 fixes issue #691 2015-05-03 16:06:10 +02:00
niphlod 340d7b5e6f fixes #734 2015-05-03 15:51:13 +02:00
niphlod 302f56ecc1 more tests, general cleanup 2015-05-03 15:33:19 +02:00
mdipierro 9b12459a82 Merge branch 'master' of github.com:web2py/web2py 2015-05-02 23:16:12 -05:00
mdipierro 8e3925820c allow disabling of confirmation in js delete 2015-05-02 23:16:05 -05:00
mdipierro 279d71d4cd Merge pull request #936 from niphlod/enhancement/919
added newer Recaptcha2 class to deal with v2.0. Fixes #919
2015-05-02 23:07:36 -05:00
Cássio Botaro 258e2e57ae Fix import errors 2015-05-02 20:36:35 -03:00
cassiobotaro 9357d810d8 Fix List behaviour and added new feature 2015-05-02 20:24:04 -03:00
mdipierro 54b385b321 grid(user_cursor=False) by default because it is broken 2015-04-26 17:16:19 -05:00
mdipierro df039e734c 2.10.4 stable 2015-04-26 10:10:18 -05:00
mdipierro 58533954dc R-2.10.4 2015-04-26 09:07:07 -05:00
mdipierro 236dc4b943 fixed submodule tracking 2015-04-26 09:04:55 -05:00
mdipierro 6612fd1cfe told git to track the right submodule branch 2015-04-26 08:50:16 -05:00
mdipierro 520950ba74 track track 15.03-maintenance (19/04/15) 2015-04-26 08:44:45 -05:00
mdipierro e943aa9c25 minor compatibility fix in ldap_auth 2015-04-26 08:39:47 -05:00
mdipierro 756aec7206 Merge pull request #944 from stephenrauch/ldap_auth-fix-nosql
Fix ldap_auth for NoSQL databases
2015-04-26 08:29:26 -05:00
mdipierro 970e2ed35c Merge pull request #939 from smorrison/slack_webhook_support
add support for reporting web2py errors via slack.com
2015-04-26 08:29:00 -05:00
mdipierro 1388c39636 Merge pull request #935 from niphlod/docs/dal
extend underline for proper sphinx formatting
2015-04-26 08:27:48 -05:00
mdipierro 6e84737924 Merge pull request #934 from niphlod/fix/931
fixes #931 . Thanks @butsyk for spotting the bug
2015-04-26 08:27:35 -05:00
stephenrauch 0ad50630f2 Fix ldap_auth for NoSQL databases
Unroll query with join to two queries when working with DB's which don't
support joins.
2015-04-24 11:02:18 -07:00
Sean Morrison f42ee15f5f add support for reporting web2py errors via slack.com 2015-04-22 19:00:21 -05:00
niphlod 77f154a56b added newer Recaptcha2 class to deal with v2.0. Fixes #919
Improvements over the "old" v1.0
- behaves well also without javascript
- use_ssl is redundant, v2.0 works only in https mode
- ajax is not useful anymore as the newer API is a lot easier

Adjusted also the addrow() method that was missing newer formstyles.
2015-04-22 00:10:05 +02:00
niphlod 2b0bfba649 extend underline for proper sphinx formatting 2015-04-21 23:59:07 +02:00
niphlod 9f1edf267d fixes #931 . Thanks @butsyk for spotting the bug 2015-04-21 21:59:42 +02:00
mdipierro f3bda9ad02 changed version 2015-04-20 18:02:17 -05:00
mdipierro f8afc76263 Merge pull request #930 from gi0baro/master
pydal -> track 15.03-maintenance (20/04/15)
2015-04-20 10:39:29 -05:00
gi0baro 65b4aaf842 pydal -> track 15.03-maintenance (20/04/15) 2015-04-20 17:29:22 +02:00
mdipierro 1b729cfbfc Merge pull request #928 from niphlod/fix/920
small typo. Fixes #920
2015-04-19 15:32:28 -05:00
mdipierro 1aa5f30091 Merge pull request #926 from niphlod/enhancement/web2py_on_iis
added web.config to deploy web2py on IIS
2015-04-19 15:32:11 -05:00
mdipierro b17174c04c Merge pull request #925 from gi0baro/master
pydal -> track 15.03-maintenance (19/04/15)
2015-04-19 15:31:41 -05:00
niphlod ac80adc9b4 small typo. Fixes #920 2015-04-19 19:49:25 +02:00
niphlod 888fa3dfc8 added setup script 2015-04-19 19:00:59 +02:00
niphlod f3d815e84b added web.config to deploy web2py on IIS 2015-04-19 15:51:17 +02:00
gi0baro 9915fdf093 pydal -> track 15.03-maintenance (19/04/15) 2015-04-19 14:45:19 +02:00
mdipierro ef8f802df9 R-2.10.4.beta 2015-04-18 15:44:04 -05:00
mdipierro f7bf1020df reverted gluon/packages/dal 2015-04-18 15:28:12 -05:00
mdipierro 75b8ceb022 Merge pull request #923 from gi0baro/validators
Fix serializers injection over new pydal
2015-04-18 15:17:06 -05:00
mdipierro b4f3784136 Merge pull request #922 from dokime7/patch-7
Fix crash with list:reference field
2015-04-18 15:16:25 -05:00
mdipierro f1297bb827 Merge pull request #918 from niphlod/enhancement/anyserver
added waitress to anyserver
2015-04-18 15:15:02 -05:00
mdipierro 435ebeaae4 more consulting companies 2015-04-18 15:13:03 -05:00
gi0baro 537045082c Updated dal test due to new serializers 2015-04-18 15:08:39 +02:00
gi0baro 4bea52a7b5 Fix serializers injection over new pydal 2015-04-18 15:04:01 +02:00
Jeremie Dokime 33295e516f Fix crash with list:reference field
When using validate_and_update() or validate_and_insert() on a table with a list:reference field, the request crashes after timeout with:
  File "web2py/gluon/globals.py", line 270, in body
    raise HTTP(400, "Bad Request - HTTP body is incomplete")

The request crashes because there is an hidden exception with the isinstance function:
isinstance() arg 2 must be a class, type, or tuple of classes and types

When no using GAE, the GoogleDatastoreAdapter variable is None, so isinstance crash.
See the last line of pydal/adapters/__init__.py

This is a regression intruduced after the v2.9.12.
2015-04-18 02:15:45 +02:00
mdipierro f33ccf3366 experimental fix for represent 2015-04-16 16:53:12 -05:00
niphlod 0784680c90 added waitress to anyserver 2015-04-15 23:55:44 +02:00
mdipierro e940228eaf Merge pull request #912 from ilvalle/sqlcustomtype
extend sqlcustomform to support widget/represent
2015-04-15 13:01:50 -05:00
mdipierro 50769a627a Merge pull request #916 from gi0baro/issue-904
Fixes #904
2015-04-15 13:01:19 -05:00
mdipierro e68ecaa131 Merge pull request #915 from BuhtigithuB/update/gluon-contrib-pypyodbc
Update gluon/contrib/pypyodbc.py 1.3.0 -> 1.3.3
2015-04-15 13:01:01 -05:00
gi0baro 95e6e8577b Fixes #904 2015-04-14 15:25:26 +02:00
Hardirc 19c83d4ad6 Update gluon/contrib/pypyodbc.py 1.3.0 -> 1.3.3 2015-04-13 18:43:48 -04:00
ilvalle 9c92bd1050 extend sqlcustomform to support widget/represent (possible fix to web2py/pydal#127) 2015-04-12 21:04:05 +02:00
mdipierro b3b95ccf5f Merge pull request #906 from niphlod/fix/895
file is already open at this point... fixes #895
2015-04-08 23:24:16 -05:00
niphlod cefa30841b file is already open at this point... fixes #895 2015-04-08 21:47:04 +02:00
mdipierro 15ff8669cb fixed dal tracking, thanks Niphlod 2015-04-06 16:24:49 -05:00
mdipierro a921751e8e stripe form bs3 compatible, disabled cache.ram max utilization 2015-04-05 18:17:27 -05:00
pallav_fdsi 842207ab33 Merge branch 'master' of https://github.com/web2py/web2py 2015-04-04 19:51:26 -04:00
mdipierro b02e8a6d5f fixed problem with custom import and upgraded jquery.js 2015-04-02 16:30:15 -05:00
mdipierro a2b17967cf Merge pull request #898 from ilvalle/issue-896
fix web2py/web2py#896, avoid to select blob fields in sqlform.grid
2015-04-02 16:24:26 -05:00
mdipierro 343ebf1714 Merge pull request #897 from BuhtigithuB/update-contrib/feedparser-py
Update gluon/contrib/feedparser.py from 5.1.2 -> 5.1.3
2015-04-02 16:23:34 -05:00
mdipierro e330791fe3 Merge pull request #894 from niphlod/fix/windows_build
fix windows build
2015-04-02 16:22:49 -05:00
mdipierro 5e1e97ffc4 Merge pull request #893 from niphlod/fix/duplicate_module
not needed anymore module
2015-04-02 16:20:39 -05:00
ilvalle 60f8816a10 fix web2py/web2py#896, avoid to select blob fields in sqlform.grid 2015-04-02 21:38:05 +02:00
Richard Vézina 6187c89ba6 Update gluon/contrib/feedparser.py from 5.1.2 -> 5.1.3 2015-04-02 13:58:48 -04:00
niphlod e441e15907 fix windows build 2015-04-01 21:35:52 +02:00
niphlod e6c3410639 not needed anymore module 2015-04-01 20:55:47 +02:00
mdipierro 6b6cb5839c Merge branch 'master' of github.com:web2py/web2py 2015-04-01 13:55:07 -05:00
mdipierro 2a7e9c0c59 possible fix for issue #892 2015-04-01 13:54:48 -05:00
mdipierro 5b637c0a82 Merge pull request #891 from leonelcamara/cache_cleanup
Fixes issue with locked files during cleanup
2015-04-01 12:41:52 -05:00
Leonel Câmara 5cdd7c1215 Fixes issue with locked files during cleanup 2015-04-01 18:27:05 +01:00
mdipierro 0aade6b378 R-2.10.2 2015-03-31 22:26:25 -05:00
mdipierro 5b75130187 quick fix for cacheondisk problem and admin 2015-03-31 22:25:10 -05:00
mdipierro 2755354e2e fixed a problem with circular imports 2015-03-31 17:15:19 -05:00
mdipierro d088c622a7 fixed VERSION 2015-03-31 15:15:48 -05:00
mdipierro 70b0d67345 R-2.10.1 2015-03-31 14:57:40 -05:00
mdipierro 1b39736561 Merge branch 'master' of github.com:web2py/web2py 2015-03-31 14:45:59 -05:00
mdipierro 267175b947 Merge pull request #888 from BuhtigithuB/fix/pep8-utils-py
Improve PEP8 gluon/utils.py
2015-03-31 14:45:48 -05:00
mdipierro 70aa5136a6 Merge pull request #887 from BuhtigithuB/fix/pep8-validators-py
Improve PEP8 gluon/validators.py
2015-03-31 14:45:38 -05:00
mdipierro f036940ce1 Merge pull request #886 from BuhtigithuB/fix/pep8-widget-py
Improve PEP8 gluon/widget.py
2015-03-31 14:45:31 -05:00
mdipierro 42e2c150e7 Merge pull request #885 from BuhtigithuB/fix/pep8-tools-py
Improve PEP8 gluon/tools.py
2015-03-31 14:45:23 -05:00
Richard Vézina bb64bb2b2e Improve PEP8 gluon/utils.py 2015-03-31 14:05:34 -04:00
Richard Vézina bbd6a081eb Improve PEP8 gluon/validators.py 2015-03-31 14:03:38 -04:00
Richard Vézina b2cd2dc149 Improve PEP8 gluon/widget.py 2015-03-31 14:01:25 -04:00
Richard Vézina e4ef75c550 Improve PEP8 gluon/tools.py 2015-03-31 13:56:21 -04:00
mdipierro f5b0bff445 Merge branch 'master' of github.com:web2py/web2py 2015-03-30 01:26:20 -05:00
mdipierro f9c755bc18 Merge pull request #883 from BuhtigithuB/pep8-storage-py
Improve PEP8 gluon/storage.py
2015-03-30 01:26:06 -05:00
mdipierro 11a2ae36e6 Merge pull request #882 from leonelcamara/lock_disk
Finely grained lock disk
2015-03-30 01:25:55 -05:00
mdipierro 13897f00ad Merge branch 'master' of github.com:web2py/web2py 2015-03-29 18:07:29 -05:00
mdipierro 0c993db95f Merge pull request #880 from alimujtaba/master
check cmd_options existence before using it in restricted.py
2015-03-29 18:06:23 -05:00
mdipierro 7c4420aab2 Merge pull request #879 from ilvalle/fix-links
updated welcome menu with the 'Helping web2py' book chapter
2015-03-29 18:05:34 -05:00
mdipierro ba32ba7c62 Merge pull request #876 from bbertka/master
Added CF deployment script
2015-03-29 18:05:19 -05:00
mdipierro 5bf1eca384 Merge pull request #875 from amerikan/master
Made buttons and table look styled in appadmin
2015-03-29 18:05:02 -05:00
mdipierro f445619bee Merge pull request #874 from niphlod/welcome/bootstrap_update
bootstrap 3.3.4 is out...
2015-03-29 18:04:35 -05:00
mdipierro da162e0941 Merge pull request #873 from sp1d3rx/patch-1
Update ajax_examples.py so it does what it says.
2015-03-29 18:04:17 -05:00
mdipierro c63c91aa8a Merge pull request #872 from BuhtigithuB/pep8-sqlhtml-py
Improve PEP8 gluon/sqlhtml.py
2015-03-29 18:03:34 -05:00
Ali Mujtaba 4b3439f34c check cmd_options existence before using it in restricted.py 2015-03-29 22:09:47 +05:00
ilvalle bd6235a00b updated welcome menu with the 'Helping web2py' book chapter 2015-03-29 11:11:24 +02:00
Leonel Câmara 3e46e985bf Fix thundering herd problem due to the lock for a key being released too early 2015-03-28 00:56:53 +00:00
Leonel Câmara 9050840962 Changed CacheOnDisk to use fine grained locking instead of atomic replacement 2015-03-27 01:49:48 +00:00
Ben Bertka 0a82c9c822 Added CF deployment script 2015-03-25 23:37:19 -07:00
Erik Montes 0b739ccb11 Made buttons and table look styled in appadmin
Bootstrap 3 requires ‘table’ and ‘btn-*’ as classes to make the
respective elements look styled
2015-03-25 17:40:42 -07:00
niphlod 6a3bd509e0 bootstrap 3.3.4 is out. 2015-03-25 21:25:29 +01:00
sp1d3rx 6d0e93d737 Update ajax_examples.py so it does what it says.
Fixed the example so it actually does what it says. It said "The last 10 entries will appear sorted in a table below.". What it did was if the number of entries was 10, it would truncate the entries and start over again. So, in order for this to show the last 10 entries, it has to delete the oldest entry after 10. The best way to do that is to not sort the list, except when displaying and then delete the first entry in the list before inserting the 11th entry.
2015-03-24 10:53:34 -07:00
mdipierro 0184d33e73 Merge branch 'master' of github.com:web2py/web2py 2015-03-24 11:40:28 -05:00
mdipierro bd899ea304 Merge pull request #870 from BuhtigithuB/pep8-shell-py
Improve PEP8 gluon/shell.py
2015-03-24 11:40:13 -05:00
mdipierro debd84e287 Merge pull request #871 from gi0baro/master
Track pyDAL 15.03
2015-03-24 11:39:42 -05:00
mdipierro fb902dd9ce throttling cache collection 2015-03-24 11:26:01 -05:00
gi0baro baeb156333 Track pyDAL 15.03 2015-03-24 11:45:23 +01:00
mdipierro 3be7ff0532 Merge pull request #869 from BuhtigithuB/pep8-settings-py
Improve PEP8 gluon/settings.py
2015-03-23 10:47:25 -05:00
mdipierro 4f64ffb606 Merge pull request #868 from Kalmuraee/master
Arabic Translation Added
2015-03-23 10:47:13 -05:00
mdipierro e397ad5782 cache.ram.max_ram_utilization = 90 2015-03-22 19:16:29 -05:00
mdipierro ac78bf2f7d Merge pull request #867 from BuhtigithuB/pep8-scheduler-py
Improve PEP8 gluon/scheduler.py
2015-03-22 19:13:16 -05:00
mdipierro 438cdc809b used gluon/contrib/orderddict 2015-03-22 19:12:26 -05:00
mdipierro 3ea49739d3 expire cache when ram excees 90% 2015-03-22 13:40:05 -05:00
mdipierro 81fc9dbc6c Merge pull request #866 from BuhtigithuB/pep8-rocket-py
Improve PEP8 gluon/rocket.py
2015-03-22 12:59:34 -05:00
mdipierro e8357bff7f Merge pull request #863 from BuhtigithuB/pep8-rewrite-py
Improve PEP8 gluon/rewrite.py
2015-03-22 00:37:04 -05:00
mdipierro d7435a07ad Merge pull request #864 from niphlod/fix/redis_sessions
fixes issue with deleting sessions
2015-03-22 00:36:47 -05:00
niphlod 3291075384 fixes issue with deleting sessions 2015-03-21 21:54:29 +01:00
mdipierro aa82638c3b Merge pull request #862 from niphlod/fix/issue679
fixes #679
2015-03-20 20:33:25 -05:00
mdipierro c30bffd2ae Merge pull request #861 from BuhtigithuB/pep8-recfile-py
Improve PEP8 gluon/recfile.py
2015-03-20 20:33:01 -05:00
mdipierro f27b9d7a23 following Niphlod's advice in app.example.yaml regex syntax 2015-03-20 18:39:19 -05:00
mdipierro ead8aab21e fixed app.example.yaml, thanks Niphlod 2015-03-20 18:13:03 -05:00
niphlod 4f1606fcf2 fixes #679 2015-03-20 23:16:30 +01:00
mdipierro 849177e09f adding pydal 15.03.20 2015-03-20 14:18:37 -05:00
mdipierro f1547486c0 fixed attachment on GAE 2015-03-20 13:34:43 -05:00
mdipierro 72d7b571de Merge pull request #860 from BuhtigithuB/pep8-newcron-py
Improve PEP8 gluon/newcron.py
2015-03-20 13:23:09 -05:00
mdipierro 3f6835f300 fixed issue #757, rss2 with weird chars (again) 2015-03-20 11:36:24 -05:00
mdipierro 133db9e3bb fixed issue #757, rss2 with weird chars 2015-03-20 11:18:18 -05:00
mdipierro daf371466a fixed issue #789, callable next 2015-03-20 11:05:15 -05:00
mdipierro 723c543f73 fixed issue #814, link to releases: 2015-03-20 11:00:53 -05:00
mdipierro 2a865a6f3e Merge pull request #859 from BuhtigithuB/pep8-myregex-py
Improve PEP8 gluon/myregex.py
2015-03-20 10:47:50 -05:00
mdipierro a56c1f37ed no more DAL and pyDAL 2015-03-20 09:11:24 -05:00
mdipierro 29b58ff70c added DAL serilization test 2015-03-20 01:35:55 -05:00
mdipierro 65b80d115a allow serialization of dal.py/DAL 2015-03-20 01:28:10 -05:00
mdipierro 385d47c5f0 Merge pull request #857 from gi0baro/pickle-issues
Removed representation utils from `_default_validators` method
2015-03-19 22:21:26 -05:00
mdipierro ce6b60c416 Merge pull request #856 from BuhtigithuB/pep8-main-py
Improve PEP8 gluon/main.py
2015-03-19 22:20:35 -05:00
gi0baro caa1976510 Removed representation utils from _default_validators method 2015-03-20 01:41:24 +01:00
mdipierro 023ee43245 minor changes to scrips and contrib 2015-03-19 12:22:21 -05:00
mdipierro a5097cdbc7 Merge pull request #853 from BuhtigithuB/pep8-languages-py
Improve PEP8 gluon/languages.py
2015-03-19 11:56:06 -05:00
mdipierro 109d104f3d removed broken links from menus 2015-03-19 11:54:32 -05:00
mdipierro 8de4fbf38f margin right 2015-03-18 18:32:10 -05:00
mdipierro dbe3951507 fixed checboxes and radio widgets 2015-03-18 18:28:38 -05:00
mdipierro f9212bc75e removed api collections json, fixed spilling list:string widget 2015-03-18 18:19:15 -05:00
mdipierro 058d6863a6 Merge pull request #854 from niphlod/fix/bs3
first iteration on bs3 cleanup
2015-03-18 18:13:21 -05:00
mdipierro 6c6cdd79f3 Merge pull request #855 from niphlod/fix/w2p_pack
Thanks Simone!
2015-03-18 18:10:53 -05:00
niphlod cec0f8a0cf fix app packaging 2015-03-19 00:04:24 +01:00
niphlod 0086f7d28a first iteration on bs3 cleanup 2015-03-18 23:11:55 +01:00
mdipierro 09eb7ce3b7 removed versioning in new welcome app 2015-03-17 16:56:47 -05:00
mdipierro d7e96ac114 fixed some style/layout issues, thanks Niphlod 2015-03-17 16:52:33 -05:00
mdipierro 2ff0f299da add remove static welcome files 2015-03-17 13:02:11 -05:00
mdipierro c75c3c2d07 fixed packaging 2015-03-17 12:57:53 -05:00
mdipierro 72a68d7f52 fixed link to profile 2015-03-17 12:53:40 -05:00
mdipierro dcaa103b8d restored some files that got corrupted in bs3->bs2, thanks Niphlod 2015-03-17 11:57:41 -05:00
mdipierro 61ccfa2b72 welcome3 is standard (but not final) 2015-03-16 21:44:45 -05:00
mdipierro b9cd4ffc58 moved to latest dal 2015-03-16 21:41:04 -05:00
mdipierro 6ecc147d8c reverted changes to html.py 2015-03-16 18:03:37 -05:00
mdipierro 7bfa85fa10 Merge branch 'master' of github.com:web2py/web2py 2015-03-16 00:56:33 -05:00
mdipierro 1cd78a5c6d Merge pull request #852 from BuhtigithuB/BuhtigithuB-patch-1
unittest for gluon/utils.py  compare()
2015-03-16 00:56:08 -05:00
mdipierro 6386a80588 Merge pull request #851 from BuhtigithuB/pep8-http-py
Pep8 http py
2015-03-16 00:55:27 -05:00
BuhtigithuB 0094a323d7 test_simple_hash() 2015-03-15 21:07:21 -04:00
BuhtigithuB 901236765f forget to importe compare 2015-03-15 20:21:52 -04:00
BuhtigithuB 05daa164ac unittest test compare() 2015-03-15 20:07:24 -04:00
mdipierro 6f72641459 fixed problem with URL('') 2015-03-15 14:41:09 -05:00
mdipierro 198fbf9f59 allow URL('') 2015-03-15 14:32:29 -05:00
Hardirc 4ee872e4ce Merge remote-tracking branch 'upstream/master' 2015-03-15 11:47:29 -04:00
mdipierro c77683d80e added more js files to welcome3 2015-03-13 13:10:50 -05:00
mdipierro b0043d7290 added back modernizr and respond 2015-03-13 12:05:08 -05:00
mdipierro 044af68e5c reverted a mistake 2015-03-13 12:00:22 -05:00
mdipierro 6498d5ae7e Merge pull request #849 from gi0baro/master
Reverting 9dba971 reference change on pydal
2015-03-13 10:59:24 -05:00
gi0baro 652f0316f9 Reverting 9dba971 reference change on pydal 2015-03-13 16:46:40 +01:00
mdipierro eecce3dd8f faster update_groups 2015-03-12 23:09:19 -05:00
mdipierro 9dba971d3d fixed db.Table and db.Field 2015-03-12 19:49:32 -05:00
mdipierro 60b3b19ede another small bs3 fix 2015-03-12 17:25:15 -05:00
mdipierro ed5ac272a5 some more changes to welcome3 2015-03-12 09:35:28 -05:00
Hardirc 574266a6ae Merge remote-tracking branch 'upstream/master' 2015-03-12 02:33:11 -04:00
mdipierro 4d63e79fb5 Merge pull request #846 from niphlod/enhancement/repr_cache
caches recursive selects for references
2015-03-11 18:31:30 -05:00
mdipierro 6f2e8de998 Merge pull request #841 from kirsn/master
Issue 794: sep = separator or current.response.form_label_separator
2015-03-11 18:28:55 -05:00
mdipierro a5e4cbeaf7 Merge pull request #840 from BuhtigithuB/pep8-globals-py
Improve PEP8 globals.py
2015-03-11 18:28:40 -05:00
mdipierro 8ac3f204fa inverted messages 2015-03-11 00:53:19 -05:00
mdipierro 9b3a9a32e4 reduced space in forms 2015-03-11 00:42:01 -05:00
mdipierro 71aac68c20 fixed whitespaces in welcome3 2015-03-11 00:35:24 -05:00
mdipierro ae48f471d0 minor flash styling 2015-03-11 00:23:43 -05:00
mdipierro d4ebb5462b simpled code in index.html 2015-03-11 00:12:54 -05:00
mdipierro 3e3fdbd06a image header only on index 2015-03-10 23:58:44 -05:00
mdipierro 915c5a71d8 bold buttons, no shadow 2015-03-10 23:56:34 -05:00
mdipierro 62fa6a8a78 example of image 2015-03-10 23:44:46 -05:00
mdipierro 664a59f46c minor simplifications 2015-03-10 23:11:04 -05:00
mdipierro 3948132817 better bootstrap3 2015-03-10 23:07:00 -05:00
mdipierro a2060eedce improved static/js/web2py-bootstrap3.js 2015-03-10 22:18:42 -05:00
niphlod d1ec005924 caches recursive selects for references
Why didn't we think before ? References are lazy, but when asked 
for representation why should we fetch the same referenced record
over and over ?

NB: the code caches only represent() fetching records from tables, that
are the only idempotent represent() calls out there. We could cache
every representation only asking for every represent() call to be 
idempotent. As I feel there will be someone returning random values,
I left it out.

I'll make a PR soon for pyDAL to fix the same behaviour.
2015-03-11 00:48:51 +01:00
mdipierro ac24ce446e minor changes to welcome3 2015-03-10 13:47:53 -05:00
mdipierro 46e0dcebf2 welcome3 2015-03-10 13:42:58 -05:00
mdipierro 3f9f8db62c another README revision 2015-03-09 12:56:29 -05:00
mdipierro 219fb3e9cc another README revision 2015-03-09 12:55:10 -05:00
mdipierro 037d652b0b listed packages under README 2015-03-09 12:28:10 -05:00
mdipierro 4d6c9f62f0 fixed typo in readme 2015-03-09 12:10:47 -05:00
mdipierro 0f300cf845 fixed readme 2015-03-09 11:57:09 -05:00
Kiran Subbaraman 0839cf9dd2 issues/747
closes issue issues#747
2015-03-08 22:44:15 +05:30
mdipierro 0c60f05e62 Merge pull request #839 from BuhtigithuB/pep8fileutils-py
PEP8 fileutils py
2015-03-07 12:34:19 -06:00
Hardirc f296376f5c Improve PEP8 gluon/storage.py 2015-03-06 22:28:13 -05:00
Hardirc 4296105942 Improve PEP8 gluon/sqlhtml.py 2015-03-06 22:27:21 -05:00
Hardirc 86880ea080 Improve PEP8 gluon/shell.py 2015-03-06 22:25:03 -05:00
Hardirc 01832d729f Improve PEP8 gluon/settings.py 2015-03-06 22:24:02 -05:00
Hardirc 3e19e3d0db Improve PEP8 gluon/scheduler.py 2015-03-06 22:22:00 -05:00
Hardirc 6bbc75df2e Improve PEP8 gluon/rocket.py 2015-03-06 22:20:22 -05:00
Hardirc af62288832 Improve PEP8 gluon/rewrite.py 2015-03-06 22:19:09 -05:00
Hardirc d00667e804 Improve PEP8 gluon/recfile.py 2015-03-06 22:15:42 -05:00
Hardirc 8ac3191e33 Improve PEP8 gluon/newcron.py 2015-03-06 22:14:10 -05:00
Hardirc 0546e9b396 Improve PEP8 gluon/myregex.py 2015-03-06 22:12:56 -05:00
Hardirc 29c0eb6bac Improve PEP8 gluon/main.py 2015-03-06 22:11:31 -05:00
Hardirc f227397ccf Improve PEP8 gluon/languages.py 2015-03-06 22:08:50 -05:00
Hardirc df6fc812e3 Improve PEP8 http.py 2015-03-06 22:06:37 -05:00
Hardirc 362e6dbad2 Improve PEP8 gluon/html.py 2015-03-06 22:04:46 -05:00
Hardirc bf7bb17f8d Improve PEP8 globals.py 2015-03-06 21:54:41 -05:00
Hardirc 8f6d2342ac Improve PEP8 gluon/fileutils.py 2015-03-06 21:16:55 -05:00
Hardirc 8608f78e6b Improve PEP8 gluon/fileutils.py 2015-03-06 20:57:01 -05:00
Hardirc 3d0a0dfa78 Fix single double quote for triple double quote docstring 2015-03-06 20:39:30 -05:00
mdipierro b00a16ffa3 added some more consulting companies 2015-03-06 11:32:49 -06:00
mdipierro a5145340fb Merge pull request #831 from niphlod/fix/827
fix docs at the top to honor correctly expiration when used in models
2015-03-05 16:26:45 -06:00
mdipierro bbb47ba075 Merge pull request #830 from BuhtigithuB/master
Fix click popagation to both new and actual tab when CTRL+Click
2015-03-05 16:26:36 -06:00
mdipierro 262c99ce33 Merge pull request #828 from niphlod/fix/656
fixes #656
2015-03-05 16:26:03 -06:00
mdipierro 91873f9ed4 Merge branch 'gi0baro-master' 2015-03-05 16:25:31 -06:00
mdipierro 0f5a59627b Merge branch 'master' of https://github.com/gi0baro/web2py into gi0baro-master 2015-03-05 16:25:19 -06:00
niphlod c4a703eb84 fix docs at the top to honor correctly expiration when used in models
Thanks @KabluBR  for spotting it
2015-03-03 20:30:40 +01:00
mdipierro 4168002a58 allow imports form gluon/dal.py 2015-03-03 11:05:13 -06:00
BuhtigithuB 1554987e62 Fix click popagation to both new and actual tab when CTRL+Click
This solved the issue #829
2015-03-03 10:16:25 -05:00
niphlod 421c905621 fixes #656 2015-03-02 23:00:45 +01:00
mdipierro befb5b286a Merge branch 'master' of github.com:web2py/web2py 2015-03-01 11:04:53 -06:00
mdipierro 5bed152a0d email cid on GAE 2015-03-01 11:04:37 -06:00
gi0baro 63ed89ef5d Tracking pyDAL v15.02.27 2015-02-27 12:32:42 +01:00
mdipierro 9ee8fe25fe Merge pull request #821 from leonelcamara/Fix_issue_#819
Fixed issue 819
2015-02-25 11:45:06 -06:00
mdipierro 089e632aab Merge pull request #818 from leonelcamara/fix_sheduler_task_args
Fix - Scheduler - Convert task args back to utf-8
2015-02-25 11:44:46 -06:00
mdipierro 99cc5750bc Merge pull request #817 from niphlod/fix/773
fixes issue #773
2015-02-25 11:44:30 -06:00
mdipierro 7bd1d4b57f Merge pull request #816 from ilvalle/fix-editor
fix issue 799, removed new lines from response header
2015-02-25 11:44:12 -06:00
Leonel Câmara 8f07005965 Fixed issue 819
The problem was that it was only checking for button to use html instead of val, what you need is to only use val if it it's an input and use html for everything else.
2015-02-25 13:26:29 +00:00
Leonel Câmara a9f834c2e8 Fix - Scheduler - Convert task args back to utf-8
See this thread for more details:
https://groups.google.com/forum/#!topic/web2py-developers/0OPEm9WELoM
2015-02-24 23:13:01 +00:00
niphlod e62bead5e2 fixes issue #773
Removed redundant tests in test_validators.py since there's test_isurl.py
Added allowed_tlds from http://data.iana.org/TLD/tlds-alpha-by-domain.txt
Added script to easily update the official_top_level_domains for the future
2015-02-24 23:34:27 +01:00
ilvalle f3e5b0dce1 fix issue 799, removed new lines from response header 2015-02-24 19:45:35 +01:00
mdipierro 942b56fdc8 Merge pull request #812 from niphlod/fix/635
fixes issue #635
2015-02-24 09:26:40 -06:00
mdipierro dbd5bf0be6 Merge pull request #811 from niphlod/update/ipaddr
updated ipaddr to the latest version
2015-02-24 09:26:21 -06:00
mdipierro bd180c18d2 Merge pull request #810 from niphlod/fix/742
fixes issue #742
2015-02-24 09:26:03 -06:00
mdipierro a37c90d957 Merge pull request #809 from niphlod/fix/806
fixes #806
2015-02-24 09:25:43 -06:00
mdipierro b402d2a03f Merge pull request #808 from ilvalle/codemirror-4.13
codemirror 4.13
2015-02-24 09:25:29 -06:00
mdipierro a4f181ff8e Merge pull request #807 from sven/master
Make extract_sqlite_models.py work with SQLite 3.8.6
2015-02-24 09:25:09 -06:00
niphlod fb49327e93 fixes issue #635
since there is no more a proper place to put the new regex, it's on top
of the module for speedup. The patch leaves open a few corner-cases,
but since we have "headers" to alter the headers in SQLTABLE, any
corner case can be fixed passing properly filled "headers" parameter.
This just makes the simple case described on the issue work fine, that
should accomodate the 99% of the usecases for with_alias() needs
at the field level.
2015-02-23 23:00:59 +01:00
niphlod 69e9f9867a updated ipaddr to the latest version
The API changed just a little bit, so a small refactor of validators.py 
was needed
2015-02-23 21:49:00 +01:00
niphlod 17f4e46423 fixes issue #742 2015-02-23 21:34:23 +01:00
niphlod 74cac47d43 fixes #806 2015-02-22 18:04:48 +01:00
ilvalle 08dd716312 codemirror 4.13 2015-02-21 15:42:31 +01:00
Sven Bachmann d7d00d1f45 fixed SQLite type matching by converting all types to lower case
SQLite 3.8.6 create table dump uses upper case types.
2015-02-20 21:41:02 +01:00
Sven Bachmann 11c90ef885 fixed sqlite create table parse regex
At least SQLite 3.8.6 uses the format:

[item]        type,
[item]        type,
[item]        type,

The previous variant tried to parse lines like:

"item"        type,
"item"        type,
"item"        type,
2015-02-20 21:37:40 +01:00
mdipierro 8d83bb3076 Merge pull request #804 from niphlod/fix/sessions2trash
fixed sessions2trash.py not removing empty dirs
2015-02-20 08:38:27 -06:00
mdipierro 41cfb1829a Merge pull request #802 from Pivert/issue/801
Issue/801 - Fix the :write not saving problem in codemirror vim mode
2015-02-20 08:37:55 -06:00
mdipierro defe76d947 Merge pull request #797 from mcemeren/master
Fixed issue;sanitizer closing no close tags
2015-02-20 08:37:35 -06:00
niphlod 9f827df914 fixed sessions2trash.py not removing empty dirs 2015-02-19 22:56:27 +01:00
Cem Eren 0760752719 Added test for sanitizer for the issue of closing no-close tags 2015-02-19 11:29:49 +02:00
www-data 74d942f09b Fixed bug #801 2015-02-18 19:23:07 +01:00
www-data 46a52bed8b Added the 2 missing files. This is probably consequences of codemirror
update.
2015-02-18 18:38:33 +01:00
mdipierro 4e019fe6fd added missing codemirror file 2015-02-18 11:02:36 -06:00
mdipierro c2a46c5d6d web2py.py -e 2015-02-18 10:29:20 -06:00
mdipierro 8a9d95de41 fixed 'Return object from represent method of field' 2015-02-17 12:01:36 -06:00
Cem Eren 9ebc6d5ca7 Fixed issue;sanitizer closing no close tags 2015-02-16 18:35:30 +02:00
mdipierro d6c565f33f fix HIGHEST PROTOCOL? 2015-02-15 23:35:15 -06:00
mdipierro e90433c116 no more handlers in binaries 2015-02-15 17:02:47 -06:00
mdipierro b8ce120a8e Merge pull request #792 from niphlod/fix/735
fixes #735. Review CAREFULLY before merging
2015-02-15 16:44:09 -06:00
mdipierro 1c431909bf Merge pull request #796 from niphlod/fix/docs
adjusted docs to newer structure
2015-02-15 16:43:03 -06:00
mdipierro 65bfd4094e Merge pull request #795 from ilvalle/codemirror-4.12
removed unsed codemirror files
2015-02-15 16:42:57 -06:00
mdipierro 8139b65152 updated list of supporting companies 2015-02-15 16:16:15 -06:00
niphlod 3fed961c20 adjusted docs to newer structure 2015-02-15 23:13:57 +01:00
mdipierro c59504067b fixed some text 2015-02-15 15:29:40 -06:00
mdipierro 6af4c283cc no more reference to googlecode 2015-02-15 15:24:30 -06:00
ilvalle 85f05109de removed unsed codemirror files 2015-02-14 17:07:58 +01:00
mdipierro b22aa355d0 better Makefile 2015-02-14 00:10:25 -06:00
mdipierro 613c509d96 better Makefile 2015-02-14 00:07:02 -06:00
mdipierro e00fcc7979 better Makefile 2015-02-13 23:59:46 -06:00
mdipierro a3cbfb602c no more epydoc 2015-02-13 23:31:12 -06:00
mdipierro 2ad7ee2544 improved Makefile 2015-02-13 23:30:30 -06:00
mdipierro c56c96ede1 cp --parents 2015-02-13 23:23:33 -06:00
niphlod 4d9548b1f5 fixes #735. Review CAREFULLY before merging 2015-02-13 22:54:27 +01:00
mdipierro 2aa8eaccb0 Merge pull request #788 from ilvalle/admin-fix-inspect
Fix appadmin code inspection for db hooks
2015-02-09 16:56:30 -06:00
mdipierro 47b3e46510 Merge pull request #781 from Pivert/update/codemirror_4.12
Update/codemirror 4.12
2015-02-09 16:56:09 -06:00
mdipierro c02d9fe665 Merge pull request #780 from Pivert/issue/2046
Fixed issue/2046:
2015-02-09 16:55:03 -06:00
mdipierro 73cdda20e6 Merge pull request #777 from niphlod/fix/pg8000_import
this somehow got merged wrongly (came from #762)
2015-02-09 16:54:51 -06:00
mdipierro 0d9f61eeab Merge pull request #775 from leonelcamara/fix_enableElement
Fix enable element
2015-02-09 16:52:57 -06:00
ilvalle e939d084fe Fix appadmin code inspection for db hooks 2015-02-09 19:38:23 +01:00
Francois Delpierre 11722b9c82 Updated codemirror to v4.12.
Did a lot of cleanup to limit the size of the plugin.
I kept the emmet plugin.
2015-02-07 18:41:17 +01:00
Francois Delpierre fd0cde4263 Fixed issue/2046:
Double scrollback in web editor because does not properly calculate display height
2015-02-07 17:22:48 +01:00
niphlod d7a0e6c4d7 this somehow got merged wrongly (came from #762) 2015-02-06 21:28:47 +01:00
mdipierro 69c2bfba9a Merge pull request #774 from niphlod/fix/issue_769
fixes #769
2015-02-05 18:09:50 -06:00
mdipierro 7e22309844 Merge pull request #768 from niphlod/enhancement/sqlhtml
pep8ized a taddle bit sqlhtml.py
2015-02-05 18:09:34 -06:00
mdipierro 0da70c9552 Merge pull request #765 from niphlod/enhancement/tests_with_travis_docker
exploiting new travis-ci environment
2015-02-05 18:09:24 -06:00
mdipierro 407fc85dc5 Merge pull request #763 from niphlod/fix/README
fixed issue report link
2015-02-05 18:09:07 -06:00
mdipierro 4984892fe0 merged 2015-02-05 18:08:35 -06:00
mdipierro d98d0872b3 Merge pull request #761 from gi0baro/master
Updated missing pydal warning message
2015-02-05 17:58:04 -06:00
mdipierro 0c1c36e022 Merge pull request #758 from niphlod/fix/safer_adapters_import
we should always avoid importing "optionals" without a try:except.
2015-02-05 17:57:45 -06:00
Leonel Câmara 5eb2d7b9ee minor (removed extra space) 2015-02-05 09:34:37 +00:00
Leonel Câmara 53a774827e made w2p:enable-with follow the same style as w2p_disable_with
Fixed a bug in enableElement where val was being used for button elements instead of html.
2015-02-05 09:32:11 +00:00
niphlod 1b34216072 fixes #769
- fixed response.include_files() to behave correctly with 
  response.static_version_urls
- added response.static_version_urls to admin
- refactored admin URL() usage passing always and correctly 'static'
  as the controller
2015-02-04 22:18:42 +01:00
ilvalle 7bbeb669b9 updated pg8000 imports 2015-02-01 17:56:30 +01:00
niphlod 46c4b1af27 pep8ized a taddle bit sqlhtml.py 2015-01-28 22:34:04 +01:00
niphlod f503750b6a exploiting new travis-ci environment 2015-01-27 22:13:13 +01:00
niphlod 440fa16bec fixed issue report link 2015-01-27 21:26:33 +01:00
ilvalle 0f9fe09a15 Merge remote-tracking branch 'upstream/master' into pg8000 2015-01-27 14:02:01 +01:00
mdipierro 5da5d510a0 fixed some problems with new dal and SQLHTML 2015-01-27 00:16:45 -06:00
gi0baro c2332b4dbd Updated missing pydal warning message 2015-01-27 02:40:18 +01:00
niphlod 7e07ff8b39 we should always avoid importing "optionals" without a try:except.
one clear case of "should never happen"... that happened.
in this case docs were failing builds on readthedocs because of 
pypyodbc not being able to load any odbc library.
2015-01-27 00:13:45 +01:00
mdipierro 89c5668366 Merge branch 'master' of github.com:web2py/web2py 2015-01-26 09:22:47 -06:00
mdipierro 554722318a fixed a problem with SQLFORM and DAL import 2015-01-26 09:22:12 -06:00
pallav_fdsi c58f29bb9c Merge branch 'master' of https://github.com/web2py/web2py 2015-01-25 15:58:39 -05:00
mdipierro c18e32134c Merge pull request #600 from kirsn/master
Issue 2037: apply truncate correctly
2015-01-25 13:15:21 -06:00
kirsn 36fdd2e04f Issue 2037: apply truncate correctly 2015-01-26 00:25:52 +05:30
mdipierro fa7e603a7a changed the text that reports missing mydal 2015-01-25 12:32:31 -06:00
mdipierro 5a0ee72260 Merge pull request #599 from gi0baro/pydal-sm
From DAL to pyDAL as git submodule
2015-01-25 12:13:08 -06:00
gi0baro 07e31b140a Track pyDAL b533d6a7a8da8db13d73fbf706cc41cff3f05f8f, as it contains changes form latest web2py master 2015-01-25 14:15:24 +01:00
gi0baro 8ff22d81a1 Use contrib drivers on pyDAL 2015-01-25 14:03:43 +01:00
gi0baro 98efb1f874 Added a warn message when pydal isn't available 2015-01-25 02:16:08 +01:00
gi0baro d5520c88b5 Merge branch 'master' of https://github.com/web2py/web2py into pydal-sm
Conflicts:
	gluon/dal/adapters/postgres.py
	gluon/dal/objects.py
2015-01-25 02:07:23 +01:00
gi0baro 428cc7263c Track v0.12.25 2015-01-25 01:47:58 +01:00
mdipierro 4a27ce1f57 Merge pull request #598 from dmatic/master
Script for centos7 now also installs 'unzip' package
2015-01-23 12:10:47 -06:00
mdipierro d00be02089 Merge pull request #597 from flavour/ST_SimplifyPreserveTopology
Add support for ST_SimplifyPreserveTopology
2015-01-23 12:10:18 -06:00
mdipierro bd8f2a93ba Merge pull request #596 from kirsn/master
Issue 2035: Fix the caching on Windows
2015-01-23 12:09:48 -06:00
Dragan Matić a90a701c0d Script for centos7 now also installs 'unzip' package
Some virtual server providers (like DigitalOcean) do not have unzip
installed in their centos7 image so we need to install it in our script.
2015-01-23 11:26:18 +01:00
gi0baro 7d6e473cd0 Merge branch 'master' of https://github.com/web2py/web2py into pydal-pip
Conflicts:
	gluon/dal/_load.py
2015-01-22 14:49:07 +01:00
Fran Boon 739b2e8a7b Update objects.py 2015-01-22 11:52:42 +00:00
Giovanni Barillari ff43ab7a20 Fix uuid attribute of DAL
It's a bound method: requires instance as first parameter
2015-01-22 12:51:56 +01:00
Fran Boon d2c25a0021 Add support for ST_SimplifyPreserveTopology 2015-01-22 11:45:46 +00:00
kirsn 84c967de98 Issue 2035: Fix the caching on Windows - issue with filenames greater than 256 chars 2015-01-21 23:35:57 +05:30
mdipierro a2f5d1cfc5 Merge pull request #595 from kvar/master
DAL imports portalocker from gluon to avoid conflict with another portal...
2015-01-21 09:33:11 -06:00
mdipierro 137f6b9640 Merge pull request #594 from michele-comitini/fix_case_sensitivity_w_recover_password
auth.settings.*_case_sensitivity support for password retrieval
2015-01-21 09:32:34 -06:00
mdipierro 52d46c4bd5 Merge pull request #592 from leonelcamara/fix_appcleanup
Make app_cleanup use recursive_unlink to clean the cache folder. This fi...
2015-01-21 09:32:01 -06:00
Kristofor Varhus d6b4ae828c DAL imports portalocker from gluon to avoid conflict with another portalocker module 2015-01-21 09:39:09 -05:00
Michele Comitini acab0ad231 auth.settings.*_case_sensitivity support for password retrieval 2015-01-21 01:47:25 +01:00
Leonel Câmara 580d5f00c9 Make app_cleanup use recursive_unlink to clean the cache folder. This fixes a bug with the admin cleaning of an app seen here:
https://groups.google.com/d/msg/web2py/YMpbAlMLln8/VFuY_xQ7WFYJ
2015-01-19 23:50:39 +00:00
gi0baro 2277f65f66 Fix import in dal.py 2015-01-18 18:14:53 +01:00
gi0baro 5043731577 Updated tools tests for pydal 2015-01-17 13:35:52 +01:00
gi0baro 4b337c3e2c Merge branch 'master' into pydal-pip
Conflicts:
	gluon/__init__.py
	gluon/dal/_load.py
	gluon/dal/adapters/base.py
	gluon/dal/adapters/google.py
	gluon/dal/adapters/postgres.py
	gluon/dal/adapters/teradata.py
	gluon/dal/base.py
	gluon/dal/objects.py
	gluon/tests/__init__.py
	gluon/tests/test_dal_nosql.py
2015-01-17 13:32:06 +01:00
mdipierro 5bc5d0496e R-2.9.12 2015-01-17 00:07:10 -06:00
mdipierro fe34d78578 Merge pull request #591 from prasadmuley/issue2006_export_customize_query_defined_in_searchable
Fix: Exporting from a SQLFORM.grid with customized search queries
2015-01-16 13:06:26 -06:00
Prasad Muley 35840bc572 Fix: Exporting from a SQLFORM.grid with customized search queries
Massimo manually applied older diff file.
He also merged my newer diff file. So Optimized code
2015-01-16 21:01:33 +05:30
mdipierro f840cdae5f Merge pull request #590 from prasadmuley/issue2006_export_customize_query_defined_in_searchable
Fix: Exporting from a SQLFORM.grid with customized search queries
2015-01-16 08:51:58 -06:00
mdipierro b36c38cc88 Merge pull request #586 from ilvalle/test-auth
Initial tests for auth
2015-01-16 08:43:40 -06:00
Prasad Muley 5958704509 Fix: Exporting from a SQLFORM.grid with customized search queries
issues #2006
2015-01-15 22:02:07 +05:30
mdipierro 0aa58c5f93 Merge branch 'master' of github.com:web2py/web2py 2015-01-15 10:18:32 -06:00
mdipierro c6cc06f6c0 fixed grid export with custom search, thanks Prasad Muley 2015-01-15 09:58:13 -06:00
mdipierro bda69b0e88 mail timeout 2015-01-15 09:47:57 -06:00
mdipierro 0cfbab6206 Merge pull request #589 from rif/patch-1
fix issuer comparison
2015-01-14 11:07:28 -06:00
mdipierro 385bcf6988 Merge pull request #588 from willimoa/enhancement/td_dal
Initial simple change for adding geospatial support to Teradata adaptor.
2015-01-14 11:06:38 -06:00
Radu Ioan Fericean aaf1dd614a fix issuer comparison
the issuer looks like gmail.login.persona.org and the expected value was login.persona.org
2015-01-14 14:16:42 +02:00
Andrew Willimott 1c2358671d Initial simple change for adding geospatial support to Teradata adaptor. 2015-01-14 14:28:43 +13:00
mdipierro 181546e49d fixed conflict 2015-01-12 21:16:03 -06:00
mdipierro 57c5fb64f6 fixed issue 1978, thanks mbelletti 2015-01-12 21:00:49 -06:00
mdipierro 15bf3e2ede fixed issue 1991, thanks Mark 2015-01-12 20:53:28 -06:00
mdipierro b872cced33 fixed issue 2001, thanks Anthony 2015-01-12 20:39:14 -06:00
mdipierro 2af5e02c5f fixed issue #2032, thanks Paolo 2015-01-12 20:06:05 -06:00
ilvalle 1c281cc163 Initial tests for auth 2015-01-12 08:18:00 +01:00
mdipierro e9de0766bc Merge pull request #585 from ilvalle/issue2023
fix issue 2023: common_filter issue in _enable_record_versioning
2015-01-10 20:40:26 -06:00
mdipierro 9e555ed4b5 Merge pull request #584 from anssih/ndborder
GoogleSQLAdapter: Fix NDB orderby without limitby broken in 2.9.6
2015-01-10 20:36:46 -06:00
mdipierro a78dce6778 Merge pull request #583 from leonelcamara/Issue_2025_cache_windowserror
fixes issue 2025 - Encode filenames using base32 if you're running on wi...
2015-01-10 20:35:43 -06:00
mdipierro 01a0a4eb67 Merge pull request #582 from enricapbes/master
Catalan translation for messages of Welcome app of web2py
2015-01-10 20:35:24 -06:00
ilvalle c5c5b5708e fix issue 2023: common_filter issue in _enable_record_versioning 2015-01-10 18:11:00 +01:00
Anssi Hannula 6be1f624b9 GoogleSQLAdapter: Fix NDB orderby without limitby broken in 2.9.6
Commit 8d648f6137 ("restore beahvior in gae that if no limitby,
returns iterator") made select_raw() store the query iterator in a
wrong variable ("rows", which is unused, should be "items"), causing
unsorted results to be returned.

Fix the assignment.
2015-01-10 03:44:51 +02:00
Leonel Câmara daf382c4fb fixes issue 2025 - Encode filenames using base32 if you're running on windows to avoid invalid characters. 2015-01-07 21:36:15 +00:00
mdipierro f76a780d50 fixed import of reserved_sql_keywords 2015-01-07 10:39:17 -06:00
mdipierro 15c3ac1cb9 fixed Makefile for new dal 2015-01-06 22:59:05 -06:00
enricapbes 3d4de72b9c Update ca.py 2015-01-06 21:30:25 +01:00
enricapbes 8c1ca50205 Update ca.py 2015-01-06 21:29:57 +01:00
enricapbes eb8cc3fc76 Update ca.py 2015-01-06 21:22:43 +01:00
mdipierro 83b94b8207 2.9.12-beta 2015-01-06 11:17:38 -06:00
enricapbes f396094daf Update ca.py 2015-01-06 10:47:11 +01:00
enricapbes 16c0e1a4b8 Update ca.py 2015-01-06 10:39:47 +01:00
enricapbes 1815864a67 Catalan translation
Added translation to catalan language
2015-01-06 10:38:53 +01:00
mdipierro 261490c082 Merge pull request #581 from ShySec/master
added support for POST variable passing to LOAD function
2015-01-05 14:17:24 -06:00
mdipierro ef5913a519 Merge pull request #580 from ilvalle/fix_boolean_exp
Fix expression evaluation with postgres
2015-01-05 14:15:45 -06:00
mdipierro 997b877766 Merge pull request #579 from ilvalle/issue2003
fix issue 2003: double translation
2015-01-05 14:14:44 -06:00
kelson 132dfbcb19 added support for POST variable passing to LOAD function
A new post_vars parameter allows controllers to pass POST varaibles through LOAD as appropriate. GET variables are currently passed by default (via vars).
2015-01-03 14:59:13 -05:00
ilvalle 3e1a918707 Fix expression evaluation with postgres 2015-01-03 14:11:06 +01:00
ilvalle e6de16b111 fix issue 2003: double translation 2015-01-03 11:58:08 +01:00
mdipierro 354e63d0fe Merge pull request #577 from ilvalle/language
fix issue 2011: capital letters in it.py
2014-12-29 03:38:24 -06:00
ilvalle d7bc489e71 fix issue 2011: capital letters in it.py 2014-12-28 17:19:17 +01:00
gi0baro 21cb35d4ca Updated directory structure for pydal integration 2014-12-27 12:16:52 +01:00
ilvalle c50e12b8b5 updated pg8000 postgresql driver 2014-12-27 09:51:21 +01:00
gi0baro 2a287852ad Tracking pyDAL v0.12.25 2014-12-26 14:05:27 +01:00
mdipierro 1a85953325 Merge pull request #567 from kjkuan/fix-chunked-encoding-with-empty-body
Fix the problem with chunked encoding with an empty body.
2014-12-25 12:21:06 -06:00
mdipierro 3b655c4b71 Merge pull request #576 from niphlod/fix/readme_badges
more consistent badges with shields.io
2014-12-25 12:16:44 -06:00
mdipierro 675b7e356f Merge pull request #575 from reingart/master
Fix incorrect namespace in SOAP webservice response
2014-12-25 12:16:17 -06:00
mdipierro 1db3758980 Merge pull request #574 from ilvalle/fix-serialization
fix issue 2027: bug in query serialization
2014-12-25 12:15:17 -06:00
gi0baro ea14c5b83b DAL.validators_method become a bound method, requires dal instance as first parameter 2014-12-24 15:19:34 +01:00
gi0baro 8000bda0c9 Removed _default_validators impossible comparison check from DAL tests 2014-12-24 15:03:55 +01:00
gi0baro c49e32bfd6 Updated DAL tests due to latest pyDAL validators change 2014-12-24 15:00:06 +01:00
gi0baro 76fa952be8 Avoid circular imports on latest sqlhtml_validators changes 2014-12-24 14:56:31 +01:00
gi0baro e99eb431ba Fixed an import due to last commit 2014-12-24 14:53:37 +01:00
gi0baro dd73678601 Moved sqlhtml_validators method back into web2py 2014-12-24 14:44:59 +01:00
gi0baro 4bc3422ac6 Updated pydal 2014-12-24 13:27:56 +01:00
niphlod c0b32eaeec more consistent badges with shields.io 2014-12-23 21:24:27 +01:00
Mariano Reingart 80261f52ed Fix incorrect namespace in SOAP webservice response 2014-12-23 16:58:04 -03:00
ilvalle 29661ad881 fix as_json serialization 2014-12-23 17:49:03 +01:00
mdipierro 81fbc2ea2f Merge pull request #562 from timnyborg/patch-2
Enable map_hyphen to work for application names
2014-12-23 07:13:12 -06:00
mdipierro 3da506eec7 Merge pull request #572 from erikmontes/master
class typo fix
2014-12-23 07:11:35 -06:00
Erik Montes cbe37bf602 class typo fix 2014-12-22 20:41:49 -08:00
mdipierro 75a32a1cde Merge pull request #571 from niphlod/contrib/appconfig
new module appconfig.py
2014-12-22 22:32:35 -06:00
mdipierro 528c27f852 Merge pull request #570 from ilvalle/fix-stream
fix issue 2029: response.stream bug with spaces in filename
2014-12-22 22:31:57 -06:00
mdipierro c5f699ebad Merge pull request #569 from ilvalle/grid-search-fix
fix issue 1931: preserve vars in grid search
2014-12-22 22:31:13 -06:00
mdipierro 3c87c84578 Merge pull request #565 from niphlod/scheduler/enhancement
better assignment (tasks go to not running workers only). Thanks @PengfeiYu
2014-12-22 22:28:26 -06:00
mdipierro e92a581c73 Merge pull request #564 from ilvalle/issue-2024
issue 2024 response.json sets default content-type to application/json
2014-12-22 22:27:43 -06:00
mdipierro 28d07ef471 Merge pull request #563 from ilvalle/fix-cache
fix cache clear with regex and tests
2014-12-22 22:26:35 -06:00
mdipierro 687f9d0fd9 Merge pull request #559 from reingart/master
Fix debugger interaction due new DAL
2014-12-22 22:08:11 -06:00
mdipierro 3051135774 Merge pull request #558 from timnyborg/patch-1
Update sqlhtml.py
2014-12-22 22:06:48 -06:00
niphlod ce025a6b8e new module appconfig.py 2014-12-21 20:30:18 +01:00
ilvalle 207f53fd6f fix issue 2029: response.stream bug with spaces in filename 2014-12-20 17:47:55 +01:00
Jack Kuan 39af574e7f Avoid sending the terminating chunk in case it's a HEAD request. 2014-12-19 23:44:55 -10:00
ilvalle 9825bbc926 fix issue 1931: preserve vars in grid search 2014-12-19 14:42:17 +01:00
niphlod 9132343820 better assignment (tasks go to not running workers only). Thanks @PengfeiYu
- pep8 adjustments
- tasks were assigned to all ACTIVE workers... if a worker is busy processing a task, 
  there's no point on assigning tasks to it
2014-12-18 23:48:10 +01:00
Jack Kuan 9b490340e5 Fix the problem with chunked encoding with an empty body.
When the response body is empty, rocket won't send the final zero-length
terminating chunk for chunked encoding. I think this causes the browser
to wait for the connection close in order to tell the end of the
response.
2014-12-18 10:15:13 -10:00
ilvalle 952890d9cc set directly 'application/json' to avoid a call to contenttype 2014-12-18 09:34:46 +01:00
ilvalle 8d72074209 issue 2024: response.json sets by default content-type to application/json 2014-12-17 17:28:30 +01:00
ilvalle d93810697f fix cache clear with regex and tests 2014-12-16 20:32:51 +01:00
Tim Nyborg 23ee6bd2cf Update rewrite.py 2014-12-16 12:00:23 +00:00
Tim Nyborg c0536d3b74 Allow map_hyphen to work for application names
1. Handle hyphen -> underscore replacement of the app name early in map_app(), so the application can be identified and its routing rules used (if they exist).  Without this, the rewriter fails to find the application with the hyphen in place, and reverts to the default.

2. Disable underscore -> hyphen mapping of app name when creating static URLs, as they will be invalid paths
2014-12-16 11:47:33 +00:00
gi0baro c213071ae9 Updated to latest pydal 2014-12-15 23:20:53 +01:00
gi0baro 24f197935e Handling new pydal Exceptions in response.download 2014-12-15 23:09:35 +01:00
gi0baro b04b3ab529 Fixed wrong unittest2 pip install for py26 in travis.yml 2014-12-15 22:58:16 +01:00
gi0baro 846d8f4e4b Get tests working back on py26, disabled web2py_uuid comparison check 2014-12-15 22:51:02 +01:00
gi0baro ad1fe87386 Updated tests configuration, avoid circular imports with new dal 2014-12-15 22:37:34 +01:00
gi0baro f60c1dff93 Fixing imports for new pydal 2014-12-15 22:24:04 +01:00
gi0baro 5a605f59b9 Started adding new tests for dal implementation 2014-12-15 21:16:35 +01:00
gi0baro dcadcf0ffb Added pyDAL from repository, adapted web2py code 2014-12-15 20:13:40 +01:00
Mariano Reingart 0024307e6c Fix debugger interaction due new DAL
Originally, __all__ was used to filter DAL and Field globals, but now the new module doesn't explicity set that attribute, so this filter was removed.
Note that using __dict__ as a replacement is not an option, as the new dal module exports a lot of common names like connection, base, etc.
2014-12-15 15:45:27 -03:00
timnyborg 886f84778c Update sqlhtml.py
Correcting some bootstrap3 icon classes
2014-12-15 11:03:47 +00:00
mdipierro 5ea654ed06 Merge pull request #554 from kjkuan/fix-circular-imports-take-2
Make web2py's custom_import work with circular imports.
2014-12-12 05:21:13 -06:00
mdipierro de55a729dc Merge pull request #557 from ilvalle/fileutils.py
updated _extractall (python 2.4 support was dropped)
2014-12-12 05:12:25 -06:00
mdipierro 199e719838 Merge pull request #556 from ilvalle/test_pack
test for w2p_pack/w2p_unpack
2014-12-12 05:11:15 -06:00
mdipierro 53e9e3b3e0 Merge pull request #555 from ilvalle/bigint
Fix and initial tests for bigint
2014-12-12 05:10:20 -06:00
ilvalle 0049f9e0c2 updated _extractall (python 2.4 support was dropped) 2014-12-11 14:27:39 +01:00
ilvalle fd6c36e5f0 fix and initial tests for bigint 2014-12-11 11:27:16 +01:00
ilvalle 3e1037a73a test for w2p_pack/w2p_unpack 2014-12-11 10:23:15 +01:00
mdipierro a97ec075da Merge branch 'ilvalle-test_pack' 2014-12-09 20:59:40 -06:00
mdipierro 4839df37e8 more tests, thanks Paolo 2014-12-09 20:59:26 -06:00
mdipierro 47165ed3b7 Merge pull request #551 from ilvalle/fix-searchgrid
Fix search widget in SQLFORM.grid for SQLCustomType values
2014-12-09 20:57:21 -06:00
mdipierro 654cb650fb Merge pull request #550 from ilvalle/fix-sqlcustomtype
Fix NULL values with SQLCustomType
2014-12-09 20:56:30 -06:00
mdipierro aaa17250d9 Merge pull request #549 from lminko/master
added Burmese (Myanmar) localization to admin and welcome apps.
2014-12-09 20:54:58 -06:00
ilvalle e9a89eff82 tests for lazy tables and substring expr 2014-12-06 00:45:56 +01:00
Jack Kuan a01dbbab49 Make web2py's custom_import work with circular imports. 2014-12-05 16:18:52 -05:00
ilvalle 5474c68994 More gis tests 2014-12-04 12:18:17 +01:00
ilvalle bda101d43f fix gis field case according to ignore_field_case 2014-12-04 12:13:28 +01:00
ilvalle 058930d42b test for compileapp 2014-12-03 20:42:54 +01:00
ilvalle 2a8c04c69f better SQLCustomType tests 2014-12-03 19:32:25 +01:00
ilvalle f64098af14 Initial tests for SQLCustomType 2014-12-03 18:20:07 +01:00
ilvalle b6993f7cc4 fix search widget in SQLFORM.grid for SQLCustomType values 2014-12-01 17:12:04 +01:00
ilvalle 6228de8e10 Fix NULL values with SQLCustomType 2014-11-30 19:53:33 +01:00
La Min Ko dff6bfb5b9 added Burmese (Myanmar) localization to admin and welcome apps. 2014-11-30 10:47:33 +06:30
mdipierro a1524d4da4 Merge pull request #547 from timrichardson/issues/2017
Issues/2017
2014-11-28 11:05:35 -06:00
mdipierro 3b9a5ee3b5 Merge pull request #546 from niphlod/fix/scheduler
timeout = 0 leads to erratic behaviour.
2014-11-28 11:04:52 -06:00
Tim Richardson 556609f5a2 Use 'True' and 'False' for booleans 2014-11-26 13:51:59 +11:00
niphlod dafe900629 timeout = 0 leads to erratic behaviour. Allowing timeout = 0 is considered unsafe 2014-11-25 21:17:53 +01:00
Tim Richardson 7a6bdf7cbd consistent quotes 2014-11-24 23:40:45 +11:00
Tim Richardson a82d3f88b6 boolean widgets in the SQLFORM.grid search widget should be "off" if unchecked. 2014-11-24 23:34:00 +11:00
pallav_fdsi 0b0f82b514 Merge branch 'master' of https://github.com/web2py/web2py 2014-11-21 00:29:14 -05:00
mdipierro 64e90a7250 Merge pull request #544 from niphlod/fix/2013
fix issue with rname and oracle. Thanks @fernando. Fixes #2013
2014-11-16 23:17:41 -06:00
mdipierro e36a1657fc Merge pull request #543 from AJDurant/master
enable dropdown-toggle when user logged in
2014-11-16 23:16:19 -06:00
mdipierro 58284e3674 Merge pull request #541 from ilvalle/show_if_readonly_form
Added support for show_if in readonly sqlform (ex: sqlform.grid view )
2014-11-16 23:15:37 -06:00
mdipierro 5a83c3e6b7 table callbacks panel in admin editor 2014-11-16 23:14:53 -06:00
mdipierro a22d5a4685 Merge pull request #539 from ilvalle/master
table callbacks panel in admin editor
2014-11-16 23:14:11 -06:00
niphlod 22506a6b03 fix issue with rname and oracle. Thanks @fernando. Fixes #2013 2014-11-16 18:50:53 +01:00
Andy Durant db9eeee1c3 enable dropdown-toggle when user logged in 2014-11-13 18:15:41 +00:00
ilvalle 5449f04148 added support for show_if in readonly sqlform (ex: sqlform.grid view ) 2014-11-11 10:40:16 +01:00
pallav_fdsi 3ab8a7bfd6 Merge branch 'master' of https://github.com/web2py/web2py 2014-11-11 00:21:27 -05:00
mdipierro 9f405b2ab7 Merge branch 'master' of github.com:web2py/web2py 2014-11-09 09:31:49 -06:00
mdipierro e315db5cd8 Merge pull request #540 from niphlod/enhancement/js_norm_buttonname
streamline behaviour of component (trapped) forms with multiple submit buttons
2014-11-09 09:31:31 -06:00
niphlod a6b50dcdcd streamline behaviour of component (trapped) forms with multiple submit buttons
this is because jquery can't know what button was pressed when the 
submit event is triggered. We circumvent it adding an hidden field before
triggering the submission

BTW: don't know why the commit seems huge. I just changed a bit the trap_form
function to handle the corner case and streamlined what disableElement, 
enableElement, disableFormElements, enableFormElements do, 
along with formInputClickSelector
2014-11-08 23:04:58 +01:00
pallav_fdsi c5a9d2c456 Ignore the contents of the site-packages directory 2014-11-06 10:35:49 -05:00
mdipierro 67ba09af37 fixed data bug in hypermedia 2014-11-05 09:09:36 -06:00
mdipierro 894babaed3 Merge pull request #538 from niphlod/enhancement/scheduler
update dependencies only if COMPLETED, allow to set status on a specific...
2014-11-03 07:08:48 -06:00
niphlod c071bc964b update dependencies only if COMPLETED, allow to set status on a specific worker 2014-10-30 21:54:36 +01:00
ilvalle 63d8785918 hooks panel in admin editor 2014-10-30 18:07:00 +01:00
Henry Nguyen 4a4f22b654 Fixed missing update for new DAL structure
Other values were updated in 5e5e649c28 but this was missing from that commit.
2014-10-30 18:06:28 +01:00
mdipierro b906177efc Merge pull request #536 from henrynguyen7/patch-1
Fixed missing update for new DAL structure
2014-10-29 13:06:52 -05:00
mdipierro 7f1f6ae35f fixed heorku order of install, thanks Jay 2014-10-25 11:14:07 -05:00
mdipierro f299205869 Merge pull request #537 from btreecat/master
Add option of using offical ibm_db_dbi driver instead of ODBC driver for DB2
2014-10-24 17:27:57 -05:00
Stephen Tanner 41deff244c Allow URI for ibm_db_dbi driver to user lower or upper case params. 2014-10-24 15:28:59 -04:00
Henry Nguyen 7aa51fcbb0 Fixed missing update for new DAL structure
Other values were updated in 5e5e649c28 but this was missing from that commit.
2014-10-24 12:18:17 -07:00
Stephen Tanner b9fe941dcc Modified DAL and DB2 adapter to allow use of the official ibm_db_dbi driver or ODBC. 2014-10-24 14:58:52 -04:00
Stephen Tanner b7b94ca6b5 Merge pull request #1 from web2py/master
Syncing with upstream.
2014-10-24 14:35:48 -04:00
mdipierro fc19a4dd39 Merge pull request #535 from niphlod/fix/binaries_switch
fix binaries build. thanks @David Ripplinger
2014-10-22 21:29:52 -05:00
mdipierro ac53ef12e3 Merge pull request #534 from niphlod/fix/1998
fixes issue 1998
2014-10-22 21:29:15 -05:00
mdipierro a3a3936d3a Merge pull request #533 from jotbe/master
Cleanup: Removed presumed debug print statement.
2014-10-22 21:28:35 -05:00
mdipierro 8eef404e29 Merge branch 'niphlod-fix/pg8000' 2014-10-22 21:28:01 -05:00
mdipierro 50540b2f97 Merge branch 'fix/pg8000' of https://github.com/niphlod/web2py into niphlod-fix/pg8000 2014-10-22 21:26:59 -05:00
mdipierro 8ec68e393a Merge pull request #531 from leonelcamara/apostrophe_fpdf
Fix for sanitize('&#x27;') returning '&amp;#x27;' instead of '&#x27;'
2014-10-22 21:25:49 -05:00
niphlod 98f245655b some freezers publish also __file__ in globals() 2014-10-22 22:04:52 +02:00
niphlod fc38f460eb fixes issue 1998 2014-10-21 21:33:43 +02:00
Jan Beilicke 643748db02 Cleanup: Removed presumed debug print statement. 2014-10-21 15:56:21 +02:00
mdipierro 274634a71a Merge branch 'leonelcamara-issue_1996_appadmin_cache_disk' 2014-10-18 15:22:43 -05:00
mdipierro 2b8add6778 merged 2014-10-18 15:21:41 -05:00
mdipierro ba374dea2c Merge pull request #528 from ilvalle/pg_rename
renamed postgre.py into postgres.py, removed 2 overriding PG
2014-10-18 15:18:40 -05:00
mdipierro 85a0e8f1b0 added space for testing 2014-10-18 15:09:53 -05:00
niphlod 794979abe1 pg8000 doesn't support json at all 2014-10-18 20:20:34 +02:00
mdipierro 36010cb86e Merge pull request #527 from ilvalle/tests
few more tests: gis functions, starts/endswith
2014-10-18 11:41:22 -05:00
Leonel Câmara f10b1b93a9 fixed remaining methods in HTMLParser that were still using the old htmllib.HTMLParser interface 2014-10-18 13:05:27 +01:00
Leonel Câmara b2401a5923 Fix for sanitize('&#x27;') returning '&amp;#x27;' instead of '&#x27;' 2014-10-18 12:37:32 +01:00
Leonel Câmara 9d4b2e66c4 Fix for issue 1996
This bug was caused by appadmin creating unnecessary files in the cache folder.
2014-10-17 19:12:00 +01:00
ilvalle 9076971d75 renamed postgre.py into postgres.py, removed starts/ends with overriding in PG adapter 2014-10-17 17:56:54 +02:00
ilvalle 64ae27862a few more tests: gis functions, starts/endswith 2014-10-17 11:16:07 +02:00
mdipierro bd05dc68ea Merge branch 'niphlod-enhancement/makefile_coverage' 2014-10-16 16:14:39 -05:00
mdipierro ab14cc626b Merge branch 'enhancement/makefile_coverage' of https://github.com/niphlod/web2py into niphlod-enhancement/makefile_coverage 2014-10-16 16:14:26 -05:00
mdipierro a2347f54d6 Merge branch 'niphlod-fix/ilike' 2014-10-16 16:13:44 -05:00
mdipierro 601e928438 Merge branch 'fix/ilike' of https://github.com/niphlod/web2py into niphlod-fix/ilike 2014-10-16 16:13:25 -05:00
mdipierro 9091a5af25 Merge pull request #525 from ilvalle/gitignore
updated .gitignore for progress.log and temp directory
2014-10-16 16:12:32 -05:00
mdipierro 8804a9ed77 Merge pull request #524 from niphlod/js/speed
Waiting for a sane "prefixing", a much more efficient way to find errors
2014-10-16 16:12:05 -05:00
mdipierro 99ddeb65fe Merge pull request #523 from niphlod/tests/languages_on_gae
fix for GAE tests often failing for no apparent reason
2014-10-16 16:11:39 -05:00
mdipierro ca1092efd3 Merge branch 'master' of github.com:web2py/web2py 2014-10-16 16:09:38 -05:00
mdipierro f988f381f2 Merge pull request #522 from ilvalle/issue_1993
fix issue 1993: git push in the admin console throw an error
2014-10-16 16:09:10 -05:00
mdipierro ed25027499 Merge branch 'master' of github.com:web2py/web2py 2014-10-16 16:08:36 -05:00
mdipierro 4892bbe0bd Merge pull request #521 from janknaupato/master
Fix for issue 1932: Aggregrate function won't show up in SQLTABLE
2014-10-16 16:08:33 -05:00
mdipierro 39dec30f52 Merge branch 'master' of github.com:web2py/web2py 2014-10-16 16:07:54 -05:00
mdipierro 1f3030c75a Merge pull request #520 from niphlod/js/main_hook
refactor main_hook to a function
2014-10-16 16:07:47 -05:00
mdipierro 4211c38ac5 Merge branch 'master' of github.com:web2py/web2py 2014-10-16 16:07:11 -05:00
mdipierro 0955bc0967 Merge pull request #519 from btreecat/master
Fix DB2 Adapter for executesql and placeholders
2014-10-16 16:07:03 -05:00
mdipierro ad5b9da4f4 Merge branch 'master' of github.com:web2py/web2py 2014-10-16 16:05:35 -05:00
mdipierro 1c7153c985 Merge pull request #518 from gi0baro/dal-backward
Added back DAL.Table for backward compatibility
2014-10-16 16:05:32 -05:00
mdipierro 4448f01e47 Merge branch 'master' of github.com:web2py/web2py 2014-10-16 16:04:46 -05:00
mdipierro 297961739b Merge pull request #517 from ilvalle/master
Added initial gis tests
2014-10-16 16:04:36 -05:00
mdipierro 7aa703dc5e Merge branch 'master' of github.com:web2py/web2py 2014-10-16 16:03:51 -05:00
mdipierro eeb06ce14f Merge pull request #516 from leonelcamara/reset_password_key
Change reset_password to send the password as GET query var instead of a...
2014-10-16 16:02:36 -05:00
mdipierro 547ec7200e Merge branch 'master' of github.com:web2py/web2py 2014-10-16 16:01:57 -05:00
mdipierro 6cc55abc42 Merge pull request #513 from niphlod/docs/new_structure
with dal new structure, API doc generation was left out of the picture. ...
2014-10-16 15:59:04 -05:00
mdipierro d33091d76b added ssl option for tornado, thanks dmvieira 2014-10-16 15:58:57 -05:00
mdipierro e730b11b78 Merge pull request #512 from niphlod/issue/1980
fixes issue 1980
2014-10-16 15:48:55 -05:00
mdipierro 989a635dbb fixed conflict 2014-10-16 15:47:57 -05:00
niphlod 7e0e7eb6c8 ilike was wronlgy defined 2014-10-16 22:27:40 +02:00
niphlod b43ef65eb1 while we wait for a sane "prefixing", use a much more efficient way to find errors
This comes from an unfortunate choice of naming conventions and the fact that 
manage errors gets called even on the full document on page load.
I had a table full of .error-"classed" elements and it took nearly 30 seconds for that
snippet to hide and fade them in. We should definitevely prefix every css class with
something that won't clash with everything else.
2014-10-16 21:08:55 +02:00
niphlod b616ee6a32 fix for GAE tests often failing for no apparent reason 2014-10-16 20:56:24 +02:00
ilvalle f255da79f2 updated .gitignore (progress.log and temp directory) 2014-10-16 16:05:38 +02:00
ilvalle 45a689a812 fix issue 1993: git push in the admin console throw an error 2014-10-16 15:07:52 +02:00
Jan M. Knaup 4df82d3a6e in SQLTABLE, fixed use of REGEX_TABLE_DOT_FIELD leading to ignoring calculated / aggregate columns 2014-10-15 11:03:31 +02:00
niphlod 15fe54bdca refactor main_hook to a function 2014-10-14 23:42:41 +02:00
Stephen Tanner b2bc1835c3 Removed extra 'i' character inserted accidentally due to mode switching in vim. 2014-10-14 17:21:00 -04:00
Stephen Tanner 617abda1cc Fixed DB2 adapter when using executesql and placeholders. 2014-10-14 17:02:10 -04:00
gi0baro 50662b6acc Added back DAL.Table for backward compatibility 2014-10-12 22:56:33 +02:00
ilvalle c9494e2757 updated travis.yml to add postgis 2014-10-11 20:16:06 +02:00
ilvalle 4e110c691f added initial gis tests 2014-10-11 20:09:09 +02:00
Leonel Câmara 4cf878c9f7 Change reset_password to send the password as GET query var instead of as an argument.
Added some more Portuguese Translations to the Admin application.
2014-10-07 15:15:08 +01:00
mdipierro b36ab988cc updated scripts/setup-web2py-centos7.sh 2014-10-06 21:24:44 -05:00
niphlod 97e1d1cd9b added coverage template in makefile 2014-10-01 22:01:37 +02:00
Diogo 16da2edc6d removing returns and added 401 error send to user 2014-10-01 08:17:12 -03:00
niphlod 88113637ae with dal new structure, API doc generation was left out of the picture. GROAN! 2014-09-30 23:37:54 +02:00
niphlod 1e35262e67 fixes issue 1980
pyflaked the module, at least a bit. Sometimes I feel developers are in a contest
where less characters and lines win. Concise implementation wins over verbose one,
but less SLOC DON'T mean somewhat better code. Just reading through
this module makes my brain hurt a bit
2014-09-30 21:37:04 +02:00
mdipierro 05689aa526 another attempt at added ssl option for tornado #511 2014-09-30 09:38:00 -05:00
Diogo ae5069d9b1 add example for websocket wss 2014-09-30 08:47:31 -03:00
mdipierro 7c8d91d4c5 Merge pull request #486 from gi0baro/DAL-modular
Added modular DAL, updated gluon imports to new structure
2014-09-30 00:24:26 -05:00
mdipierro 47d9d47cff Merge pull request #510 from niphlod/fix/1985
fixes issue 1985
2014-09-29 19:46:01 -05:00
mdipierro ed4febf9db Merge pull request #509 from niphlod/fix/json_and_decimals
always stringify decimals. Better docstrings and a few PEP8.
2014-09-29 19:45:17 -05:00
mdipierro 78764072fe hooks panel in appadmin for _before_*/_after_* callbacksm thanks Paolo valleri 2014-09-29 19:40:56 -05:00
mdipierro eaf358765a Merge pull request #507 from ilvalle/master
hooks panel in appadmin for _before_*/_after_* callbacks
2014-09-29 19:39:41 -05:00
mdipierro 7b6f2bf896 Merge pull request #506 from niphlod/tests/html_and_serializers
added tests for gluon/html.py and gluon/serializers.py
2014-09-29 19:38:04 -05:00
Diogo 11082987ea removing bug with return true in post
Error with get replicate in post: http://stackoverflow.com/questions/19563093
2014-09-27 23:03:24 -03:00
niphlod db68a2a10e fixes issue 1985
plus made a pass to jsbeautifier for improved reading
plus fixed an annoying trailing comma that could cause issues with IE >= 8
2014-09-25 22:49:40 +02:00
niphlod b2d5775f82 always stringify decimals. Better docstrings and a few PEP8. 2014-09-25 21:28:55 +02:00
Diogo e40937bd8b added https option for tornado
now tornado can be called by https
2014-09-25 09:51:38 -03:00
gi0baro db01261c35 Fixed globals 2014-09-25 13:16:54 +02:00
gi0baro 6b38fb769b Fix baseAdapter 2014-09-25 13:02:51 +02:00
ilvalle 8251aebdc5 hooks panel in appadmin for _before_*/_after_* callbacks 2014-09-25 12:59:59 +02:00
gi0baro 6e9eeb50bc MSSQL3 types 2014-09-25 12:57:44 +02:00
gi0baro 502327e531 Fixed merge conflict 2014-09-25 12:51:39 +02:00
gi0baro 5c07c511fa Merge branch 'master' into DAL-modular
* master: (58 commits)
  changed version number
  better types by default, given that we're on 2005 at least
  fix for StorageList and tests added
  improved coverage, fix bug with IS_LIST_OF and items not being strings
  fix cache.increment, added tests
  R-2.9.11
  reverted simplejson
  R-2.9.10
  upgraded memcache and markdown2
  upgraded pypyodbc.py
  upgraded simplejson
  no more split in contains, thanks Niphlod
  fixed wording and bug on contains(), made smart_query use ilike instead of like
  ilike, thanks Niphlod
  CROSS JOIN, thanks jotbe
  added custom represent to GoogleDatastoreAdapter, thanks Alan
  postgresql: identifies what adapter auto-loads json values
  added more tests for json Field
  fixed typo in driver_auto_json
  Improve the graphing to show the name of the application.
  ...

Conflicts:
	gluon/dal.py
	gluon/globals.py
	gluon/tests/test_dal.py
2014-09-25 12:49:16 +02:00
niphlod 0721988b65 added tests for gluon/html.py and gluon/serializers.py
uhm
2014-09-24 22:14:55 +02:00
mdipierro f17493b52c changed version number 2014-09-24 13:36:06 -05:00
mdipierro 4c45de7efd Merge pull request #505 from niphlod/fix/mssql3_mappings
better types for mssql3://, given that we're on 2005 at least
2014-09-24 13:35:08 -05:00
mdipierro c3f6fc8db8 Merge pull request #504 from niphlod/fix/storage_and_tests
fix for StorageList and tests added
2014-09-24 13:34:20 -05:00
niphlod 4d42442c31 better types by default, given that we're on 2005 at least 2014-09-23 00:04:42 +02:00
niphlod 34a417cfa0 fix for StorageList and tests added
gluon/storage.py
StorageList had a recursion error (please check the implementation before committing)

gluon/tests*
added the fix_path module to avoid those ugly lines at the beginning of each test file
added tests for gluon.contenttype and test_fileutils
added tests for missing Storage methods
2014-09-21 08:26:38 +02:00
mdipierro bb199ad533 Merge pull request #503 from niphlod/tests/validators
improved coverage, fix bug with IS_LIST_OF and items not being strings
2014-09-20 12:55:56 -05:00
mdipierro be07572572 Merge pull request #502 from niphlod/fix/cache_and_tests
fix cache.increment, added tests
2014-09-20 12:55:15 -05:00
gi0baro 947dcbc226 Updated from latest web2py master 2014-09-19 17:37:35 +02:00
niphlod 8bbd22eba8 improved coverage, fix bug with IS_LIST_OF and items not being strings 2014-09-19 00:15:25 +02:00
niphlod 50f16744a7 fix cache.increment, added tests 2014-09-16 23:50:10 +02:00
mdipierro 424746ce7a R-2.9.11 2014-09-15 18:31:20 -05:00
mdipierro df234fa252 reverted simplejson 2014-09-15 18:30:37 -05:00
mdipierro 2b50cf27e2 R-2.9.10 2014-09-15 08:05:13 -05:00
mdipierro a38c7c2aa8 upgraded memcache and markdown2 2014-09-15 07:34:14 -05:00
mdipierro f0461ae84a upgraded pypyodbc.py 2014-09-14 16:41:47 -05:00
mdipierro 0120ad5b95 upgraded simplejson 2014-09-14 16:37:09 -05:00
mdipierro e38565345c no more split in contains, thanks Niphlod 2014-09-14 16:01:47 -05:00
mdipierro b1180f483c Merge pull request #501 from niphlod/fix/dal_contains
fixed bug on contains(), smart_query uses ilike instead of like
2014-09-14 16:00:00 -05:00
niphlod 05a92e86f7 fixed wording and bug on contains(), made smart_query use ilike instead of like 2014-09-14 22:45:19 +02:00
mdipierro 75f2b90151 ilike, thanks Niphlod 2014-09-14 15:28:48 -05:00
mdipierro 6a75132d54 CROSS JOIN, thanks jotbe 2014-09-14 14:57:12 -05:00
mdipierro 3d9ebb5720 Merge pull request #497 from jotbe/master
Fixed #1810: DAL.select(left=...) causes "Unknown column 't1.i1' in 'on ...
2014-09-14 14:55:38 -05:00
mdipierro ec62375f6d Merge pull request #500 from niphlod/fix/postgresql_json
postgresql: identifies what adapter auto-loads json values
2014-09-14 14:53:45 -05:00
mdipierro f1ac5126a1 Merge pull request #499 from niphlod/tests/json_type
added more tests for json Field
2014-09-14 14:53:16 -05:00
mdipierro e4e9038ab6 Merge pull request #498 from encompass/master
Improve the graphing to show the name of the application.
2014-09-14 14:52:32 -05:00
mdipierro ce897b3569 added custom represent to GoogleDatastoreAdapter, thanks Alan 2014-09-14 11:58:16 -05:00
Niphlod c4a4ee27c4 postgresql: identifies what adapter auto-loads json values 2014-09-14 16:39:54 +02:00
Niphlod ecc6e5dc5e added more tests for json Field 2014-09-14 16:01:22 +02:00
mdipierro b991f2926f fixed typo in driver_auto_json 2014-09-13 18:55:03 -05:00
Jason Brower da195b787d Improve the graphing to show the name of the application. 2014-09-13 20:26:03 +03:00
mdipierro d81f4606db fixed mongodb json? 2014-09-13 10:35:54 -05:00
mdipierro d29a108ad7 better native_json naming convention 2014-09-12 20:28:46 -05:00
mdipierro 94a0b1aec5 fixed json field representation 2014-09-12 20:17:49 -05:00
Jan Beilicke 0a571338b6 Fixed #1810: DAL.select(left=...) causes "Unknown column 't1.i1' in 'on clause'"
According to the MySQL 5.5 manual [1], comma-separated table references in joins
should be wrapped in parenthesis or JOIN should be used instead of comma.

Further explanation from the manual: The ON clause takes precedence since
a couple of versions so the operands for the ON clause change:

SELECT * FROM t1, t2 JOIN t3 ON (t1.i1 = t3.i3);

The operands for the ON are t2 and t3. t1.i1 is not known at this point.

[1] https://dev.mysql.com/doc/refman/5.5/en/join.html
2014-09-13 01:38:57 +02:00
mdipierro c2b1547802 Merge pull request #496 from rpedroso/reset_password_infinite_loop
fix infinite loop in request_password
2014-09-12 17:44:40 -05:00
Ricardo Pedroso cd2920c2cf fix infinite loop in request_password 2014-09-12 22:39:25 +01:00
mdipierro 0863bb3eca case insensitive autocomplete again 2014-09-12 11:36:26 -05:00
mdipierro 04c1064ab8 Merge pull request #494 from niphlod/fix/pickle_refactoring
refactored pickling of sessions
2014-09-11 21:13:47 -05:00
niphlod 5c9796ac72 refactored pickling of sessions 2014-09-11 22:51:23 +02:00
mdipierro cef7202781 fixed is_crypt in tools, thanks Anthony 2014-09-11 12:09:43 -05:00
mdipierro c3478f660a fixed pickling of session 2014-09-10 13:57:54 -05:00
mdipierro 09a44d41ae Merge pull request #493 from niphlod/fix/refactoring_pickle
refactored pickle everywhere but Session, removed unused imports
2014-09-10 12:27:34 -05:00
mdipierro 4740dc7cce Merge pull request #492 from niphlod/tests/storage_pickling
added test for storage pickling
2014-09-10 12:26:26 -05:00
mdipierro 463c5deac4 Merge pull request #491 from niphlod/fix/readme
new structure in revised README
2014-09-10 12:26:11 -05:00
niphlod 6403878f95 refactored pickle everywhere but Session, removed unused imports 2014-09-10 19:12:10 +02:00
niphlod bd87879cde added test for storage pickling 2014-09-10 18:24:52 +02:00
niphlod 61d5a776d4 new structure in revised README 2014-09-10 18:08:09 +02:00
mdipierro c3cd32cc4f possible fix to rss 2014-09-10 08:26:23 -05:00
mdipierro b98687239c ASSIGNJS 2014-09-08 19:18:55 -05:00
gi0baro b20b81b8f5 Updated DatabaseStoredFile to latest web2py master 2014-09-08 15:59:16 +02:00
mdipierro 853beae9c6 R-2.9.9 2014-09-08 08:12:37 -05:00
mdipierro 94aab906d5 fixed serialization of Storage objects 2014-09-08 08:10:58 -05:00
mdipierro bb3909a944 Merge pull request #490 from ilvalle/grid-fix
fix web2py.js with show_if and grid
2014-09-08 08:02:44 -05:00
mdipierro 99087ab37a R-2.9.8 2014-09-06 23:09:44 -05:00
mdipierro 4bcd905f4f fixed appadmin/check_credentials problem 2014-09-06 22:57:26 -05:00
mdipierro 83bda542ad fixed opening get_session for new session files 2014-09-06 18:10:54 -05:00
mdipierro 1ea27f7f15 linked readthedocs 2014-09-05 16:47:20 -05:00
ilvalle 7fa8f1fa08 fix web2py.js with show_if and grid 2014-09-05 16:17:36 +02:00
mdipierro 95b54857a3 fixed separator in trunk 2014-09-05 08:12:03 -05:00
mdipierro 327b1cbfdd R-2.9.7 2014-09-04 22:37:12 -05:00
mdipierro 3bd44d4d84 R-2.9.7 2014-09-04 22:31:42 -05:00
mdipierro 7e50bd6050 R-2.9.7 2014-09-04 22:30:19 -05:00
mdipierro c1c3621bf3 using recfile for sessions for speed 2014-09-04 22:28:51 -05:00
mdipierro 2d9f0fafdc better cache-disk, thanks Leonel 2014-09-04 22:27:52 -05:00
mdipierro 9fd827c561 added recfile.py 2014-09-04 22:16:09 -05:00
mdipierro 6ba9f450b2 Merge pull request #489 from jonathannew/master
fix custom view delimiters
2014-09-04 22:06:29 -05:00
mdipierro d1d85e9614 Merge pull request #488 from niphlod/fix/scheduler
avoid multiple cascade paths
2014-09-04 22:05:14 -05:00
mdipierro 6649721a7d Merge pull request #485 from dokime7/patch-5
Fix LOAD on action @request.restful()
2014-09-04 22:04:35 -05:00
mdipierro a51007949f Merge pull request #487 from ilvalle/grid-fix
fix grid groupby with more than 2 Fields in the expression
2014-09-04 22:04:05 -05:00
Jonathan New 8c5422d2d6 fix custom view delimiters 2014-09-04 19:16:00 +08:00
mdipierro b8a29a67aa typo in try_create_web2py_filesystem 2014-09-03 17:14:00 -05:00
mdipierro 3902cb0b27 support for multiple db filesystems, thanks Luca 2014-09-03 16:37:19 -05:00
mdipierro d744a99e13 fixed partially problem with web2py_filesystem on GAE 2014-09-03 16:29:05 -05:00
niphlod 1456c0da1e references can be long too 2014-09-03 21:23:24 +02:00
niphlod fa5100cb2a avoid multiple cascade paths 2014-09-03 21:09:09 +02:00
ilvalle 9b9a5034ad fix grid groupby with more than 2 Fields in the expression 2014-09-03 19:30:22 +02:00
mdipierro d1e4ede9b3 fixed problem with delimiters, thanks Anthony 2014-09-03 10:52:31 -05:00
gi0baro 7fde332392 Fixed gluon.tests.dal_nosql with new imports 2014-09-03 15:26:24 +02:00
gi0baro 625e4849ef Re-implemented copyreg picklers/unpicklers for DAL and Reference classes (due to errors on sessions) 2014-09-03 14:48:26 +02:00
gi0baro 5e5e649c28 Added modular DAL, updated gluon imports to new structure 2014-09-03 12:48:03 +02:00
mdipierro f1ab50fb91 fixed a problem with reset_password 2014-09-02 12:17:26 -05:00
Jeremie Dokime 52fac63b9e Fix LOAD on action @request.restful()
LOAD didn't work on action decorated with @request.restful() when args and/or vars are passed because the restful method is called with the main "request" object (browser url action) instead of the "other_request" object used by LOAD.
So I have injected the restful method with the good object context.
It's a bit nasty, so if someone knows how to do it better, I'm happy.
2014-09-02 18:16:51 +02:00
mdipierro d73c668f2d Key.from_path -> self.keyfunc, thanks Quint 2014-09-02 10:10:14 -05:00
mdipierro 5fc7dee4cc R-2.9.6 2014-09-01 20:55:36 -05:00
mdipierro c3e5725b51 R-2.9.6 2014-09-01 20:38:44 -05:00
mdipierro d6a2d0c3ee R-2.9.6 2014-09-01 20:37:53 -05:00
mdipierro 5eabe15b9e improvement to dal for GAE but still problem with key IN set 2014-09-01 20:36:39 -05:00
mdipierro 447493c754 new saml2_auth 2014-08-31 13:09:35 -05:00
mdipierro 33fcfe2736 links to new videos 2014-08-30 21:33:27 -05:00
mdipierro 55f9762e30 Merge pull request #481 from niphlod/fix/ldap
too many cert_file arguments
2014-08-28 12:06:55 -05:00
mdipierro 5364193759 revent register and other form from ever sending back a password, thanks Anthony 2014-08-27 14:35:36 -05:00
mdipierro d04a3e62ae no more epydoc 2014-08-26 14:39:20 -05:00
mdipierro a3f3496709 fixed security issue again, thanks Niphlod 2014-08-26 14:38:09 -05:00
mdipierro 59630f0a14 Merge pull request #482 from niphlod/docs/sched_and_tools
doc fixes
2014-08-26 14:36:44 -05:00
mdipierro 18ab865e59 2.9.6-beta 2014-08-26 14:30:46 -05:00
mdipierro 3738f7dc7a reverted to bs2 for an early release 2014-08-26 14:29:15 -05:00
mdipierro 6f42bac66d removed epydoc and fixed a typo in pevious commit 2014-08-26 14:24:20 -05:00
mdipierro 2d3ccfaba7 removed epydoc and fixed a typo in pevious commit 2014-08-26 14:24:07 -05:00
mdipierro 80d9722964 more security, thanks Niphlod 2014-08-26 14:21:28 -05:00
mdipierro bac9039c6e increased security in admin and appadmin 2014-08-25 16:36:10 -05:00
mdipierro 353d83aa4e max_linked_inline broked, removed 2014-08-21 18:22:47 -05:00
mdipierro fa05c01c7d fixed a problem with extra fields and better validation errors 2014-08-21 17:22:03 -05:00
niphlod 7e73faf619 doc fixes 2014-08-21 22:49:26 +02:00
niphlod ff73d9c741 too many cert_file arguments 2014-08-21 22:37:18 +02:00
mdipierro b18dda1f53 fixed the toolbar, thanks Niphlod 2014-08-20 21:45:58 -05:00
mdipierro 5d63dfea2b better bootstrap3 forms, thanks Ricardo Pedroso 2014-08-20 21:26:10 -05:00
mdipierro 031b1ceec7 Merge pull request #480 from rpedroso/bs3
bootstrap3 formstyle improvements
2014-08-20 21:16:56 -05:00
mdipierro 9ad30aa64d experimental saml2 support 2014-08-20 21:05:03 -05:00
mdipierro c7beeaf5c5 added utils.obj2dict 2014-08-19 18:57:25 -05:00
mdipierro a0d7470cf3 setup-web2py-ubuntu works on 14.04, thanks Ivan Di Giusto 2014-08-16 23:21:19 -05:00
Ricardo Pedroso a6bf692b61 bootstrap3 formstyle improvements 2014-08-16 19:28:42 +01:00
mdipierro f84afaadbb removed files committed by mistake, thanks Niphlod 2014-08-16 12:20:00 -05:00
mdipierro 4811d6c45e {0} -> %s in scripts/cpdb.py 2014-08-14 21:41:09 -05:00
mdipierro 0cc5280f0d Merge remote-tracking branch 'origin/master' 2014-08-14 19:57:44 -05:00
mdipierro 6dfeab284c Merge pull request #479 from leonelcamara/master
reverse_geocode
2014-08-14 19:53:35 -05:00
mdipierro f4ebc5097e Log In/Sign Up instead of login/register 2014-08-14 19:48:09 -05:00
mdipierro 88e971b9d8 fixed typo default table3cols 2014-08-14 19:40:01 -05:00
mdipierro b595c40320 fixed welcome and bs3 2014-08-14 19:20:46 -05:00
mdipierro 65ab4b8550 response.form_label_separator 2014-08-14 19:12:47 -05:00
mdipierro 7de0861fb5 response.formstyle, reponse.label_separator 2014-08-14 19:10:51 -05:00
mdipierro eb9e35f860 very weird GAE hack 2014-08-14 16:27:46 -05:00
mdipierro 715cc484d4 removed legacy files 2014-08-14 16:23:48 -05:00
mdipierro 13026231f1 fixed registration_id on GAe, thanks Luca 2014-08-14 13:39:04 -05:00
Leonel Câmara 824cc10aa0 revert previous change due to the global implications 2014-08-14 18:06:45 +01:00
Leonel Câmara 2a27563f30 Allows you to set SQLFORM.default_formstyle and set the default formstyle for all SQLFORMs 2014-08-14 18:02:00 +01:00
Leonel Câmara 4aaf98bc56 removed unneeded sensor=true/false 2014-08-13 16:39:27 +01:00
Leonel Câmara 1548f915a6 added reverse_geocode to tools __all__ 2014-08-13 16:10:00 +01:00
Leonel Câmara 5c29b20000 Merge branch 'master' of git://github.com/web2py/web2py 2014-08-13 16:07:57 +01:00
Leonel Câmara cb927fc1d9 minor cosmetic 2014-08-13 15:59:22 +01:00
Leonel Câmara 3e1a57da50 added a reverse_geocode function to tools 2014-08-13 15:58:04 +01:00
mdipierro 3f65b8bfc8 fixed an issue with lack of validators in 'double' type 2014-08-11 00:02:08 -05:00
mdipierro 5e07ed79cc Added support for stdlib's pbkdf2, thanks Ayrx 2014-08-10 12:45:37 -05:00
mdipierro 2a2800bc25 Merge pull request #476 from leonelcamara/master
Small Refactoring of BaseAdapter.delete
2014-08-10 12:39:30 -05:00
mdipierro 7e15c1a1da fixed a ''...'' regex in markmin, thanks Leonel 2014-08-10 12:07:32 -05:00
mdipierro cbad6c712c upgraded to bs 3.2.0 2014-08-09 02:16:27 -05:00
mdipierro 01f85f2483 experimental 2.10.0 2014-08-09 02:10:50 -05:00
mdipierro bb13d6b729 fixed some bugs and another bs2->bs3 attempt 2014-08-09 01:52:09 -05:00
mdipierro 6b98e30000 fixing a mess part 2 2014-08-09 01:03:23 -05:00
mdipierro e9ed69e7a9 fixing a mess 2014-08-09 01:02:58 -05:00
mdipierro 5c9282aca5 fixed issue 1947, raw args in expose, thanks iiijjjiii 2014-08-08 00:50:42 -05:00
mdipierro 669a22c8be fixed issue 1950, allow change password for any old password complexity 2014-08-08 00:38:10 -05:00
mdipierro 5cbbcd3685 fixed postgresql bug introduced in recent commit? 2014-08-08 00:13:31 -05:00
mdipierro 6fc97775dc fixed redirection bug 2014-08-08 00:07:34 -05:00
mdipierro 535a39feaa request.is_shell and request.is_scheduler 2014-08-07 23:55:32 -05:00
mdipierro ab84c95179 fixed 1961, redirect(..,headers=request.headers), thanks remco.boerma 2014-08-07 23:48:42 -05:00
mdipierro 6db3b0621c Fixed issue 1962, postgres INSERT ... RETURING id, thanks perakojotgenije 2014-08-07 23:43:22 -05:00
mdipierro a858f811a1 Fixed issue 1954, re-raising exceptions the right way, thanks Marton 2014-08-07 23:33:34 -05:00
mdipierro 309a7c39ca merging latest online fixes after local brach fix 2014-08-06 14:52:10 -05:00
mdipierro d4e71073d7 Merge remote-tracking branch 'origin/master' 2014-08-06 14:50:53 -05:00
mdipierro 63529e5ad8 not sure what happened but fixing local commit 2014-08-06 14:50:51 -05:00
mdipierro d1118b606b Merge pull request #478 from alexdba/master
Option to limit inline display of linked tables
2014-08-06 14:45:23 -05:00
mdipierro 8f649f1820 Merge pull request #475 from omartrinidad/master
Changed a condition in order to not show `None` if there is no errors
2014-08-06 14:44:13 -05:00
alexdba 8ef66bb0f4 Option to limit inline display of linked tables
Added a new option to smartgrid: "max_linked_inline".
When set to a value greater than zero, it will limit the inline display of linked tables (in grid, edit and details).
In case there are a number of linked tables greater than the setting, the links will be displayed in a select list menu.
2014-08-05 15:20:01 -03:00
Leonel Câmara 59bbe7cddd minor - removed unnecessary dict calls 2014-08-05 18:32:32 +01:00
Leonel Câmara c9c054e72b refactored backward compatibility on formstyles to use try except instead of inspecting arguments, should make the new style faster as it never raises the exception 2014-08-05 18:30:20 +01:00
Leonel Câmara 0f55d43a11 Removed unecessary dict call in get_workers 2014-08-05 15:37:10 +01:00
Leonel Câmara ba82c0d86b Merge branch 'master' of git://github.com/web2py/web2py 2014-08-05 15:35:18 +01:00
Leonel Câmara 5c0693b175 Further refactored SQLiteAdapter calling the super method instead of duplicating the code 2014-08-05 10:53:40 +01:00
mdipierro 24c0c3d129 Merge branch 'master' of github.com:web2py/web2py into HEAD 2014-08-05 01:44:20 -05:00
mdipierro 3dec218ff0 Merge pull request #477 from niphlod/enhancement/scheduler_deps
new feature (task dependencies) and a little bit of refactoring
2014-08-05 01:44:11 -05:00
niphlod cb6f2ca302 task dependencies, a little bit of refactoring 2014-08-04 21:42:11 +02:00
Leonel Câmara b788e8b493 minor - Slight optimization use tablename directly instead of table._tablename 2014-08-02 10:57:02 +01:00
Leonel Câmara 444a09b0b2 Refactored BaseAdapter delete method - Special case code for sqlite and spatialite should not be in the BaseAdapter it should be in SQLiteAdapter, this should also provide a negligible performance boost in delete operations for most adapters including SQLiteAdapter. 2014-08-02 10:52:47 +01:00
Leonel Câmara f0691a64ea typo in a comment 2014-08-02 10:38:48 +01:00
omartrinidad e29804eeb4 Changed a condition in order to not show None if there is not error 2014-08-01 09:47:46 -05:00
mdipierro 9866e54c00 Merge branch 'master' of github.com:web2py/web2py into HEAD 2014-08-01 01:46:53 -05:00
mdipierro 356b4164c3 syncing 2014-08-01 01:46:46 -05:00
mdipierro eff9b2d174 Merge pull request #474 from leonelcamara/master
Added an optional render argument to as_trees that if True causes it to ...
2014-08-01 01:43:36 -05:00
mdipierro 91ced9007e Merge pull request #473 from omartrinidad/master
Deleted unnecessary variable
2014-08-01 01:37:35 -05:00
Leonel Câmara c73cc084ad Merge branch 'master' of git://github.com/web2py/web2py
Conflicts:
	applications/admin/languages/pt.py
	gluon/dal.py
2014-07-29 20:19:26 +01:00
Leonel Câmara ad1dd3afdd minor 2014-07-29 20:11:50 +01:00
Leonel Câmara 8d8095b1f5 Added fix - you cannot concatenate lists with tuples and sets and it was possible that this would happen 2014-07-29 19:39:14 +01:00
Leonel Câmara 757fb934d5 Fixed a bug where as_list was setting the compact value for the rows permanently instead of only temporarily while processing the rows. 2014-07-29 18:56:45 +01:00
Leonel Câmara 1ee8d3cb97 Added an optional render argument to as_trees that if true causes it to render the rows before building the tree 2014-07-29 18:01:11 +01:00
mdipierro c6e766d5e1 template converter for alternative delimiters 2014-07-29 11:52:50 -05:00
mdipierro 2be0a95dab template converter for alternative delimiters 2014-07-29 11:45:43 -05:00
mdipierro d9e0e08a91 reverted latest commit, Leonel is right, better to use closures 2014-07-29 09:57:12 -05:00
mdipierro bd44a42c89 allow arbistrary params to formstyle=style(placeholder=True, errors='down'), thanks André Kablu 2014-07-28 23:29:26 -05:00
mdipierro 024912bda1 fixed conflict between GAE and 2-factor authentication 2014-07-28 22:01:48 -05:00
Omar Trinidad Gutiérrez Méndez dec69b8252 Deleted unnecessary variable
before:
        iso_format = iso_format = {'_data-w2p_datetime_format' : '%Y-%m-%d %H:%M:%S'}

now:
        iso_format = {'_data-w2p_datetime_format' : '%Y-%m-%d %H:%M:%S'}
2014-07-28 11:35:56 -05:00
mdipierro 29303488ab support for Oracle REGEXP_LIKE, thanks Alexander Rasin 2014-07-28 00:21:45 -05:00
mdipierro 0201007e2c ldap CA support, thanks Maggs and Shane 2014-07-27 11:15:37 -05:00
mdipierro c3116b094c Merge pull request #472 from ilvalle/fix_editor
editor:potential fix for requests cancelled due to same origin policy
2014-07-27 10:54:23 -05:00
mdipierro 29ed8494dc Merge pull request #471 from omartrinidad/master
Typo. Your -> You
2014-07-27 10:53:54 -05:00
mdipierro a0d105a5ec Merge pull request #470 from whoot/master
German translation
2014-07-27 10:53:28 -05:00
ilvalle 967a37adc4 online editor:potential fix for requests cancelled due to same origin policy 2014-07-22 10:22:48 +02:00
Omar Trinidad Gutiérrez Méndez c4264c986b Typo Spanish 2014-07-20 21:21:16 -05:00
Omar Trinidad Gutiérrez Méndez ca18097f9c Spanish localization in admin application 2014-07-20 21:06:50 -05:00
Omar Trinidad Gutiérrez Méndez 130540dafc Typo. Your -> You 2014-07-20 19:10:26 -05:00
Jan Rude 9fa165430a Update de.py
Missed some translations
2014-07-17 10:20:57 +02:00
Jan Rude 2b9a9b4d11 Update de.py
Missed some translations
2014-07-17 10:18:53 +02:00
Jan Rude cac45aa5a5 Added german translation 2014-07-16 20:03:37 +02:00
Jan Rude b068540c4c Added/Improved some translations 2014-07-16 20:03:06 +02:00
Jan Rude c24e1d52d9 Added/Improved some translations 2014-07-16 20:02:19 +02:00
Jan Rude 2cd8623e92 Update de.py 2014-07-16 20:00:58 +02:00
root 773933602e Added/improved german translation 2014-07-16 19:58:03 +02:00
mdipierro 7b2b8155f9 Merge pull request #469 from abastardi/issue/unique_validator
Fix default validator when unique=True
2014-07-10 02:07:46 -05:00
mdipierro ad2ca992aa Merge pull request #467 from ilvalle/fix_show_if
fix show_if with belongs
2014-07-10 02:06:40 -05:00
abastardi d2563c434b Fix default validator when unique=True
Append the IS_NOT_IN_DB validator so it is applied to the final value after any previous validators may have altered the original value.
2014-07-09 13:51:26 -04:00
ilvalle 609a931f91 always appends IS_NOT_IN_DB 2014-07-09 17:05:36 +02:00
mdipierro fcadaa981d settings is_gae in autocomplete 2014-07-09 07:07:26 -05:00
ilvalle e7208c6569 fix unique validator with date/time fields 2014-07-08 23:14:28 +02:00
ilvalle f2bc3cca36 fix show_if with belongs 2014-07-08 12:22:31 +02:00
mdipierro 195acce3b9 Merge pull request #466 from viniciusban/pt_br_translations
pt-br translations for admin and welcome apps
2014-07-04 01:47:22 -05:00
mdipierro 27eb797e2b Merge pull request #465 from omartrinidad/patch-1
Update sqlhtml.py
2014-07-04 01:46:17 -05:00
viniciusban ed29758819 pt-br translation for welcome app 2014-07-03 23:15:43 -03:00
viniciusban d99f4d4e7d pt-br translation for admin app 2014-07-03 23:05:11 -03:00
mdipierro 5d3c915c61 added parent links 2014-07-03 12:22:55 -05:00
mdipierro 1606c938a7 better handling of uploads in hypermedia.py 2014-07-03 11:56:15 -05:00
mdipierro 9a6f0b59ad fixed errors reporting in collection+json 2014-07-02 18:35:25 -05:00
mdipierro 55016cbd4d fixed guessable CSRF token when detect_record_change, thanks Stephen Röttger 2014-07-02 08:27:02 -05:00
mdipierro eec39aeeec smarter upload of binary data 2014-07-02 07:26:16 -05:00
mdipierro bc1b4ad03a fixed some problems with collection+json 2014-07-02 03:01:30 -05:00
Omar Trinidad Gutiérrez Méndez 13d4d892b7 Update sqlhtml.py
Improved readability in code
2014-07-01 16:24:40 -05:00
mdipierro 6e8e95eb3e jquery.js 1.11.1 2014-06-30 09:57:29 -05:00
mdipierro 0be4f73102 no more analytics.min.js 2014-06-30 09:55:13 -05:00
mdipierro b61e8c6132 allow id in email msg 2014-06-25 10:52:36 -05:00
mdipierro 22044768cb Merge pull request #464 from cccaballero/master
Added dict based meta generation
2014-06-25 01:02:07 -05:00
mdipierro d712d3b83c fixed redirect 2014-06-24 12:46:17 -05:00
cccaballero 1ecf36a027 Added dict based meta generation 2014-06-24 09:49:46 -04:00
mdipierro bf52e012a7 rules->policies in hypermedia 2014-06-23 01:03:17 -05:00
mdipierro 7bb8735f2f Hypermedia API and Collection+JSON 2014-06-22 14:57:35 -05:00
mdipierro 1ca5e5524e fixed possible bug in dal 2014-06-19 17:17:29 -05:00
mdipierro 21bdf114b4 Merge pull request #462 from niphlod/fix/scheduler_disabled
a DISABLED worker shouldn't resume after completing a task
2014-06-15 22:20:17 -05:00
mdipierro 12c2668da1 Merge pull request #460 from niphlod/fix/scheduler
removed leftover print
2014-06-15 21:02:25 -05:00
niphlod d2c9f510bc if a worker is DISABLED while processing a task, it shouldn't resume after finishing it 2014-06-15 17:40:08 +02:00
niphlod 84cf736b63 removed leftover print 2014-06-15 15:15:33 +02:00
mdipierro e172c2cade Merge pull request #459 from flavour/master
Remove duplicate import
2014-06-14 13:15:09 -05:00
Fran Boon c163e1c776 Remove duplicate imports/unused variable 2014-06-14 23:29:09 +05:30
mdipierro e33704467b fixed typo in recent commit 2014-06-14 10:07:51 -05:00
mdipierro 255dd9777d fixed typo in recent commit 2014-06-14 10:06:13 -05:00
mdipierro 8b8baf10a3 fixed issue 1942, redirect in federated login security check 2014-06-13 22:24:57 -05:00
mdipierro e42b835687 Merge branch 'master' of github.com:web2py/web2py 2014-06-13 22:16:43 -05:00
mdipierro 559961897e Merge pull request #458 from niphlod/fix/like_ansi_behaviour
fix like behaviour as ANSI-SQL LIKE
2014-06-13 22:16:21 -05:00
mdipierro 6cee7ce238 Merge branch 'master' of github.com:web2py/web2py 2014-06-13 22:12:01 -05:00
mdipierro c9421ac526 Merge pull request #457 from niphlod/enhancement/scheduler
scheduler's refactoring
2014-06-13 22:11:40 -05:00
mdipierro 3266c541b6 fixed CAST LONGTEXT issue with mysql 2014-06-13 11:46:50 -05:00
niphlod b6f9bdef95 fix like behaviour 2014-06-10 22:37:55 +02:00
Khalid 43fee52081 ar.py in plural_rules added
ar.py in plural_rules added
2014-06-10 22:31:51 +03:00
niphlod da49391134 - refactored internals
- pep8
- worker stats
- kill(), terminate(), resume(), disable() have a new "limit" parameter
- first steps towards autoscaling
- needs an additional column (easiest migration possible)
2014-06-08 22:51:26 +02:00
mdipierro d442b003ea restored .travis.yml 2014-06-08 00:34:46 -05:00
mdipierro e5557edccd Merge pull request #456 from niphlod/enhancement/mssql4
mssql4 adapter enhancements
2014-06-08 00:29:15 -05:00
mdipierro 5ec386fb7b Merge pull request #455 from niphlod/fix/test_rewrite
fix rewrite tests under Windows
2014-06-08 00:28:15 -05:00
mdipierro 1a0d11a4f2 prevent_password_reset_attacks, thanks Steve Rawlinson 2014-06-08 00:20:38 -05:00
mdipierro e068e397e1 prevent open redirects, thanks Steve Rawlinson 2014-06-07 23:52:56 -05:00
Khalid 84b8be34ec Arabic Translation Added
Not perfect yet , but it's the first version.
2014-06-06 23:50:47 +03:00
niphlod 01fb85c693 mssql4 adapter enhancements
Given that mssql4 requires MSSQL2012, we can use newer types for data
without worrying about compatibility with older MSSQL versions
2014-06-03 23:36:08 +02:00
niphlod 75e59b8bf5 fix rewrite tests under Windows 2014-06-03 23:31:54 +02:00
mdipierro bbc2a71a32 Merge branch 'master' of github.com:web2py/web2py 2014-06-02 21:36:47 -05:00
mdipierro 593592fb5f Merge pull request #453 from niphlod/fix/coverage_ini
we don't want gluon/tests to be covered
2014-06-02 21:36:43 -05:00
mdipierro f65a3db1ef Merge branch 'master' of github.com:web2py/web2py 2014-06-02 21:36:16 -05:00
mdipierro 439c9978d3 Merge pull request #452 from niphlod/fix/tests_mp
fix multiprocessing tests under windows
2014-06-02 21:36:08 -05:00
mdipierro d076e399fb Merge branch 'master' of github.com:web2py/web2py 2014-06-02 21:35:22 -05:00
mdipierro 4c73fd15eb Merge pull request #451 from niphlod/fix/tests
added tests and refactored incorrect docstrings
2014-06-02 21:32:38 -05:00
niphlod 2832ac463e we don't want tests to be covered 2014-06-02 22:27:00 +02:00
niphlod 05b4503531 fix multiprocessing tests under windows 2014-06-02 16:31:58 +02:00
niphlod f1606ee091 added tests and refactored incorrect docstrings 2014-05-29 23:34:32 +02:00
mdipierro 169f7589f2 Merge branch 'master' of github.com:web2py/web2py 2014-05-29 11:05:18 -05:00
mdipierro 91d6834f0e Merge pull request #302 from gi0baro/staticv_url
Static versioning in URL() function
2014-05-29 11:02:41 -05:00
mdipierro c278d7156a fixed issue 1902:SQLFORM.grid showbuttontext argument links doesn't have class button, thanks Francisco 2014-05-26 23:59:53 -05:00
mdipierro ceb479e0cd fixed issue 1924:Reset Password form does not show password strength. 2014-05-26 23:56:56 -05:00
mdipierro f6a9accdc9 Merge branch 'master' of github.com:web2py/web2py 2014-05-26 23:49:58 -05:00
mdipierro 6e54b5458b fixed 1929:cannot acess appadmin cache if you use redis as cache, thanks leonardo 2014-05-26 23:49:11 -05:00
mdipierro ece00a8f52 fixed 1933:MongoDB adapter passes incorrect query, thanks Alan 2014-05-26 23:43:19 -05:00
mdipierro 268458d07b Merge pull request #450 from BuhtigithuB/patch-8
coding utf8 and improve comment
2014-05-26 22:29:56 -05:00
mdipierro 51fad4d13f Merge pull request #449 from BuhtigithuB/patch-7
python idomatic
2014-05-26 22:29:18 -05:00
mdipierro f55a5660c2 Merge pull request #448 from ilyaran/patch-1
Update cache.py
2014-05-26 22:28:20 -05:00
mdipierro 7e9c9dbe93 Merge pull request #431 from ortgit/enhancement/two_step_authentication
Added support for two-step authentication.
2014-05-26 22:27:23 -05:00
mdipierro e66f201191 db(db.person).select().column('name'), thanks Anthony 2014-05-26 22:26:59 -05:00
BuhtigithuB 4db37981e2 coding utf8 and improve comment 2014-05-26 10:57:47 -04:00
BuhtigithuB 7cc7c4ab7a python idomatic 2014-05-26 10:48:47 -04:00
ilyaran 0dbdf8c676 Update cache.py 2014-05-24 10:35:58 +05:00
mdipierro 35c21044bb Merge branch 'master' of github.com:web2py/web2py 2014-05-22 08:12:54 -05:00
mdipierro 37036de5df Merge pull request #447 from reingart/master
fixing pypdf table rendering issues due attribute sanitization
2014-05-22 08:12:41 -05:00
mdipierro 4fc6ec0478 Merge branch 'master' of github.com:web2py/web2py 2014-05-22 08:11:51 -05:00
mdipierro 3ce7dfba7f Merge pull request #446 from jmistx/master
Add support of --folder paramter for cron.
2014-05-22 08:11:42 -05:00
Oleg Blokhin e3b1c0b7c7 Merge branch 'master' of https://github.com/jmistx/web2py 2014-05-22 16:49:16 +04:00
Oleg Blokhin 53e22fc31c Terminate subprocesses right way on cronstop 2014-05-22 16:46:06 +04:00
Mariano Reingart bfce57f5da fixed excessive attribute sanitization in generic generation of PDF (pyfpdf) 2014-05-21 15:10:25 -03:00
Oleg Blokhin 87cf9307f0 fix cron hang on Ctrl+C terminating from terminal 2014-05-21 18:18:19 +04:00
jmistx 89e38fb15b Delete git
unneeded file
2014-05-21 17:32:03 +04:00
Oleg Blokhin 92d7ccf331 Add support of --folder paramter for cron.
Before this changes crontab from directories (except native applications) was ignored
2014-05-21 17:28:11 +04:00
mdipierro 292a2ae882 fixed Issue 1927:LoginRadiusAccount does not allow specifying callback url (patch included) 2014-05-16 22:43:20 -05:00
mdipierro 5823aa9a79 Merge pull request #445 from dokime7/patch-4
Fix IS_STRONG used with validate_and_update
2014-05-16 22:26:05 -05:00
mdipierro d1e5d7a440 Merge pull request #443 from szimszon/master
Easier S/Mime (X.509)
2014-05-16 22:25:21 -05:00
mdipierro 489646f178 Merge pull request #442 from bunnyhugdev/master
Prevent error in restful decorator from swallowing up stacktrace
2014-05-16 22:24:39 -05:00
mdipierro a19c7e6d9c Merge pull request #441 from dokime7/patch-3
Fix LOAD() in restful context
2014-05-16 22:21:15 -05:00
mdipierro f5cd44d143 Merge pull request #440 from dokime7/patch-2
Better HTTP code for method not supported
2014-05-16 22:19:49 -05:00
Jeremie Dokime 84f88ed9db Fix IS_STRONG used with validate_and_update
Fix no error return with IS_STRONG validator because it returns a gluon.html.XML instead of str, so when pushed to response.errors that is a Row, it isn't display because Row object filters his output and doesn't support XML objects.
2014-05-16 16:14:14 +02:00
Jeremie Dokime 537dabb9c3 Inject restful method for LOAD()
Better solution than my last commit for the restful method by inject the real restful method.
We can now call LOAD() on a @request.restful() decorated action.
2014-05-14 09:52:44 +02:00
Szabolcs Gyuris cf12028be6 S/Mime (X.509) keyfile, sign_certfile, sign_chainfile, crypt_certfile can be strings.
mail.send() function can set signing and encryption settings.
2014-05-14 09:11:46 +02:00
Joel Rathgaber 4ff63694c7 Prevent error in restful decorator from swallowing up stacktrace 2014-05-13 12:03:46 -06:00
ortgit 89893c91da Update tools.py
Forgot to import 'random' module.
2014-05-12 17:08:00 -04:00
ortgit 9b4f721c71 Look in auth_group table for group role name, and use Rows correctly. 2014-05-12 16:25:23 -04:00
Jeremie Dokime f684769638 Fix LOAD() in restful context
When you call LOAD() on a controller who has some actions decorates with @request.restful(), it fail with:
@request.restful()
TypeError: 'NoneType' object is not callable
=> because LOAD use other_request variable who are a Request but without all methods and therefore without restful method.
I've just mock the restful method but I think that the real restful method will be better...
2014-05-12 17:41:19 +02:00
Jeremie Dokime 9892d29bb9 Better HTTP code for method not supported
Change HTTP code to raise from 400 to 405 (Method Not Allowed).
2014-05-12 16:54:18 +02:00
mdipierro 7cfa2a54b7 remove more bloat 2014-05-09 15:43:10 -05:00
mdipierro 27bb2ee6b8 removed some files but not all (for now) 2014-05-09 15:24:18 -05:00
mdipierro c8a8a4aa91 Merge pull request #438 from szimszon/master
Add support for certificate chaining for s/mime sign in Mail
2014-05-07 17:10:13 -05:00
mdipierro c2b19524d3 Merge branch 'BuhtigithuB-patch-6' 2014-05-07 17:09:18 -05:00
mdipierro 993cc16a25 syncing 2014-05-07 17:09:03 -05:00
mdipierro 4d4c2b3f37 Merge pull request #436 from BuhtigithuB/patch-5
PEP8 improvements white space here and there
2014-05-07 17:05:37 -05:00
mdipierro f71d9bb4b0 cgi.parse_qs deprecated -> urlparse.parse_qs, thanks BuhtigithuB 2014-05-07 17:04:34 -05:00
mdipierro 9bb75359a6 Merge pull request #434 from BuhtigithuB/patch-3
PEP8 improvements white space here and there
2014-05-07 17:00:34 -05:00
Szabolcs Gyuris 9ea32bf579 Add support for certificate chaining for s/mime sign in Mail 2014-05-07 09:21:39 +02:00
BuhtigithuB 4ab3631f1c Fix wrong space insert in patch 2014-05-04 12:17:31 -04:00
BuhtigithuB 32ef767ed0 ley -> key 2014-05-04 12:12:18 -04:00
BuhtigithuB 377a69ced9 PEP8 improvements white space here and there
I search with regexp ",[^\s-]" to spot missing space after comma. I also, add double break line in front of function or class. I change a couple of comparator in order to add space in front and after " == " for instance.
2014-05-04 12:02:08 -04:00
BuhtigithuB df0db657a7 PEP8 improvements white space here and there
I search with regexp ",[^\s-]" to spot missing space after comma. I also, add double break line in front of function or class. I change a couple of comparator in order to add space in front and after " == " for instance.
2014-05-02 15:27:26 -04:00
ortgit d3bcde04be Modified email subject to generic message. 2014-04-27 02:13:02 -04:00
ortgit 87edbccf5b Added support for two-step authentication. The login function will
now email a 6-digit code to users if the user is part of a group
with role 'web2py TWo-Step Authentication'.
2014-04-27 01:39:51 -04:00
mdipierro 50438075b6 Merge pull request #430 from niphlod/fix/setup_script
fix comments
2014-04-26 16:04:18 -05:00
mdipierro 7d8f4360fa Merge pull request #429 from BuhtigithuB/patch-2
PEP8 improvements white space here and there
2014-04-26 16:03:27 -05:00
niphlod cbf9723a33 fix comments 2014-04-26 20:52:25 +02:00
BuhtigithuB bc1e9b5c98 PEP8 improvements white space here and there
I search with regexp ",[^\s-]" to spot missing space after comma. I also, add double break line in front of function or class. I change a couple of comparator in order to add space in front and after " == " for instance.
2014-04-24 12:25:34 -04:00
mdipierro accc7bdf38 Merge pull request #428 from BuhtigithuB/patch-1
Switch for .grid() advanced_search widget
2014-04-24 00:00:04 -05:00
mdipierro a7434b3ce8 Merge pull request #427 from michele-comitini/sqltable_quoted_names_support
apply same rules as DAL's to find tables and fields in column names
2014-04-23 23:59:14 -05:00
Michele Comitini 5f636c5ba2 fix headers in SQLTABLE to handle quoted entities 2014-04-24 01:09:23 +02:00
BuhtigithuB 75aa927c4b Switch for .grid() advanced_search widget
Virtual basic search widget only by removing the _onfocus trigger even that prevent the advanced search to unfold. advanced_search is True by default for backward compatibility...
2014-04-23 14:34:27 -04:00
Michele Comitini dcd92daa24 apply same rules as DAL's to find tables and fields in column names 2014-04-23 09:45:22 +02:00
Massimo 287d8e3e18 added private folder back to design page, thanks szunny 2014-04-15 10:27:31 -05:00
Massimo 7e470d7786 added missing files 2014-04-15 10:22:57 -05:00
Massimo caafff74b3 reverted rpx_account for backward compatibility and added janrain_account for the new engage.js api 2014-04-15 10:16:02 -05:00
mdipierro ddc21ee05b Merge pull request #426 from ortgit/issue/1919
Check whether memdb record is None before trying to read its keys
2014-04-15 09:48:32 -05:00
mdipierro e748ef9bf9 Merge pull request #425 from ortgit/issue/1920
time_expire=0 should clear memcache entry
2014-04-15 09:47:26 -05:00
ortgit 3bb939d3fe Check whether record is None before trying to read its keys otherwise app crashes on GAE (and other memdb's) 2014-04-14 01:55:30 -04:00
ortgit 222b087a8d time_expire=0 should clear memcache entry
If time_expire=0, then the cache should be cleared and reset with the
latest value to stay compatible with documented web2py functionality of
how caching works. Previous change broke this compatibility while adding
efficiency in other cases.
2014-04-14 01:32:54 -04:00
mdipierro 53ecc17b57 Merge pull request #424 from omartrinidad/master
Updated regex to manage white space in titles
2014-04-13 10:39:53 -05:00
Omar Trinidad Gutiérrez Méndez d301f78396 Typo
Fixed subtle typo
2014-04-11 08:38:01 -05:00
Omar Trinidad Gutiérrez Méndez 98a3c4aa37 Updated regex to manage white space in titles
Addition of `\s*` in some regex in order to have the same behavior as in markmin2html. That is:
    
    # Title
and
    #Title

or:

    ## Title
and
    ##Title
2014-04-10 08:39:55 -05:00
mdipierro 347a0d66cd Merge pull request #423 from omartrinidad/master
Rewritten a regex
2014-04-09 18:10:49 -05:00
Omar Trinidad Gutiérrez Méndez 8b95c85512 Rewritten a regex
Rewritten a regular expression from two lines to one line.
2014-04-09 16:50:30 -05:00
mdipierro 080575720d Merge pull request #420 from omartrinidad/master
Deleted repeated line
2014-04-08 22:49:39 -05:00
mdipierro 8473c96b73 Merge pull request #421 from niphlod/fix/examples
few "fashion" tweaks plus sphinx over epydoc docs
2014-04-08 22:48:40 -05:00
Omar Trinidad Gutiérrez Méndez ae3bf270cf Fixed typo
Fixed typo
2014-04-08 18:39:06 -05:00
niphlod 0c30bc5d7d few "fashion" tweaks plus sphinx over epydoc docs 2014-04-08 23:03:15 +02:00
Omar Trinidad Gutiérrez Méndez ad1f1d21d4 Deleted repeated line
Deleted repeated line
2014-04-08 10:47:26 -05:00
mdipierro 39ee2a5991 skip languages write test on GAE 2014-04-07 12:16:19 -05:00
mdipierro 1bf67c0e58 Merge pull request #419 from niphlod/docs/sphinx
sphinx compatible doc-generation
2014-04-07 12:02:54 -05:00
niphlod baead802a5 sphinx compatible doc-generation 2014-04-06 20:50:02 +02:00
mdipierro 98b0b21c69 Merge pull request #418 from neoecos/patch-1
fixed bug in defition of decimal types
2014-04-05 17:27:05 -05:00
mdipierro 6e3070763e Merge pull request #417 from niphlod/fix/wiki_preview
jQuery 1.9 removed toggle(function(), function()). And nobody noticed.
2014-04-05 17:25:36 -05:00
Sebastian Ortiz a2e1343020 fixed bug in defition of decimal types
A postgresql column of type numeric(10,4) was mapped as just decimal, so the parse_decimal of dal.py will fail. The correct mapping is decimal(10,4) in the web2py model.
2014-04-02 09:59:33 -05:00
mdipierro 2fb8b05906 fixed some licensing issues 2014-04-02 09:19:52 -05:00
niphlod a3528339c7 jQuery 1.9 removed toggle(function(), function()). And nobody noticed. 2014-04-02 00:02:05 +02:00
mdipierro 9415466c83 Merge pull request #416 from jmistx/master
routes.py search path fixed to application_parent
2014-03-31 19:44:47 -05:00
unknown 4358313eea Now routes.py will be gotten from applications_parent in case of using main.HttpServer.
Previous behavior: route.py must be located in gluon_parent which is wrong.
2014-03-31 19:17:51 +04:00
mdipierro fab4d1e782 welcome + gae should use ndb as example 2014-03-31 00:24:52 -05:00
mdipierro 8d648f6137 restore beahvior in gae that if no limitby, returns iterator 2014-03-31 00:19:04 -05:00
mdipierro 52b55889dd fixed the proble with count on GAE 2014-03-31 00:07:31 -05:00
mdipierro 0caae1f8d4 better support for google datastore 2014-03-30 23:36:51 -05:00
mdipierro 74b0bd9c3a web2py.py -G config, will make GAE config easier 2014-03-29 17:43:49 -05:00
mdipierro 29ca1872b0 GAE should use 2.7, not 2.5 2014-03-29 17:28:45 -05:00
mdipierro 49f4e38658 db.define_table(...table_hash=...) to override hash in .table file, thanks dmvieira 2014-03-29 17:19:12 -05:00
mdipierro 338a4256ca Merge pull request #415 from niphlod/docs/dal
sphinx-compatible docstrings (and we're finished!!!!!)
2014-03-29 17:08:53 -05:00
mdipierro 8d11647a8d better fix for patch 414, starting web2py from other folder 2014-03-29 17:07:25 -05:00
mdipierro 76654a6fbe mentioned change in license of login_methods to LGPL 2014-03-29 00:58:59 -05:00
mdipierro 267cd08af6 gae search not fecthed by key to ensure consistency, thanks Luca 2014-03-28 23:51:27 -05:00
niphlod 874abf67ae sphinx-compatible docstrings (and we're finished!!!!!) 2014-03-27 22:50:27 +01:00
mdipierro 13f2aa536e Merge pull request #413 from luizpedone/patch-1
Updated the pt-br welcome application translation.
2014-03-26 00:29:52 -05:00
luizpedone cfb3be9363 Updated the pt-br welcome application translation. 2014-03-25 20:38:09 -03:00
mdipierro f3bea1bfb1 Merge pull request #412 from ilvalle/create_view
codemirror 4.0.3 (new upstream major release)
2014-03-25 12:17:45 -05:00
mdipierro 0c1fa92705 Merge pull request #411 from niphlod/docs/te-x
sphinx-compatible docstring (only DAL remains)
2014-03-25 12:16:42 -05:00
mdipierro 47cd10d357 Merge pull request #410 from niphlod/docs/s-te
sphinx-compatible docstrings (7 modules remaining...)
2014-03-25 12:15:45 -05:00
ilvalle 7cd3ffbcbd codemirror 4.0.3 (new upstream major release) 2014-03-25 12:56:39 +01:00
niphlod b20b7ecb19 sphinx-compatible docstring (only DAL remains) 2014-03-24 22:30:50 +01:00
niphlod 3597833bac sphinx-compatible docstrings (7 modules remaining...) 2014-03-23 21:46:25 +01:00
mdipierro f9ad11473d changed license of some modules from GPLv2 to LGPLv3 2014-03-22 02:26:04 -05:00
mdipierro 8f99ce734d issue 1903:SQLTABLE - 'even' and 'odd' css classes are opposite to real row type, thanks Paolo 2014-03-21 01:02:38 -05:00
mdipierro f8831b0bf3 Merge pull request #409 from ctdegroot/uploadfs
Modify Table class so that uploadfs is respected when uploads_in_blob is set to True
2014-03-20 18:00:43 -05:00
mdipierro 06cef8f9d1 experimenting with build script 2014-03-20 17:53:03 -05:00
mdipierro 2b60a1cd49 support for geography types, thanks sunny 2014-03-20 11:14:25 -05:00
Chris DeGroot 9a92318d75 Modify Table class so that uploadfs is respected when uploads_in_blob is set to True 2014-03-19 23:43:58 -04:00
mdipierro 69ad382751 added warning 2014-03-19 16:25:06 -05:00
mdipierro 8259f1c490 added warning 2014-03-19 12:52:03 -05:00
mdipierro 96a1969cb6 merged 2014-03-19 12:34:47 -05:00
mdipierro 716b6e21d5 Merge branch 'master' of github.com:web2py/web2py 2014-03-19 12:31:13 -05:00
mdipierro fe7a9e130b Merge pull request #406 from luizpedone/master
Update translation to pt-br.
2014-03-19 12:31:00 -05:00
mdipierro 3762a45974 more cleanup logic in web2py build 2014-03-19 12:30:25 -05:00
Alexandre Andrade d06e4f63d7 added translations to pt-br language file 2014-03-19 11:58:45 -03:00
Alexandre Andrade 4125230cfc added translations to pt-br language file 2014-03-19 11:38:44 -03:00
Alexandre Andrade a35bc8635b added pt-br language file 2014-03-19 11:35:50 -03:00
luizpedone af5cd04044 Fix some typos, correct some translations. 2014-03-19 07:56:16 -03:00
mdipierro 4e9554dca1 Merge pull request #405 from niphlod/fix/static_version_by_default
static_version setup enabled by default
2014-03-18 09:28:48 -05:00
mdipierro 86fb431ed3 Merge pull request #404 from viniciusban/dont_write_translation_file_when_is_writable_is_false
Don't write translation file when T.is_writable == False
2014-03-18 09:27:29 -05:00
luizpedone 3fbe1d3e85 Update translation to pt-br. 2014-03-18 11:11:14 -03:00
niphlod 9a8231f675 now that static_version is flagshipped and hopefully implemented in most apps, let's setup it by default 2014-03-17 21:32:42 +01:00
viniciusban 1d7f96c06b Don't write translation file when T.is_writable == False 2014-03-17 04:04:59 -03:00
mdipierro 2802e29945 2.9.5 2014-03-15 21:25:04 -05:00
mdipierro e9eb8cbfc7 Merge pull request #403 from pyner/master
Update default.py
2014-03-15 21:09:44 -05:00
mdipierro d343d8380c Merge pull request #401 from niphlod/docs/n-p
sphinx-compatible docstrings
2014-03-15 21:08:05 -05:00
mdipierro 02906fa39f Merge pull request #400 from timrichardson/issues/1898s
better error handling in jsonrpc requests
2014-03-15 21:07:31 -05:00
mdipierro c1e797fe24 removed gluon/contrib/translitcodec because of backward compatibility issues and because it breaks Pypy 2014-03-15 10:54:48 -05:00
Massimo d7a42d8445 fixed problem with groups 2014-03-14 09:00:19 -05:00
samuel bonilla 4f82bed52e Update default.py
new alert: it's a plugin is not an application
2014-03-13 20:04:00 -05:00
mdipierro 84365f6721 fixed problem with circular imputs on GAE? 2014-03-13 08:41:31 -05:00
niphlod e209dcc8d3 sphinx-compatible docstrings 2014-03-12 22:03:42 +01:00
Tim Richardson cd15a0f983 better error handling in jsonrpc requests 2014-03-13 07:29:42 +11:00
mdipierro eb435e785c Merge pull request #399 from timrichardson/issues/1898
jsonrpc2 requests need mandatory key/pair jsonrpc:'2.0'
2014-03-12 13:39:05 -05:00
mdipierro f03e521120 Merge pull request #398 from niphlod/docs/h-m
sphinx-compatible docstrings
2014-03-12 13:37:42 -05:00
mdipierro 883909af4b reverted s.encode('translit/long') which breaks Pypy 2014-03-12 13:31:09 -05:00
Tim Richardson 13d66433e7 jsonrpc2 requests need mandatory key/pair jsonrpc:'2.0' 2014-03-12 22:38:29 +11:00
niphlod c44cfcb27c sphinx-compatible docstrings 2014-03-11 22:18:33 +01:00
mdipierro c14e5cbae5 Merge pull request #396 from niphlod/docs/html
sphinx-compatible docstrings
2014-03-11 10:51:31 -05:00
niphlod f09e0b4205 sphinx-compatible docstrings 2014-03-10 22:21:33 +01:00
mdipierro ad72cea9a6 fixed issue 1891:Remove response.meta.description from menu.py in welcome app, thanks sourcingp 2014-03-09 17:29:41 -05:00
mdipierro c289bc4239 fixed issue 1893:backwards compatibility problem with grid parameter exportclasses, thanks mweissen 2014-03-09 17:26:40 -05:00
mdipierro 733fa01b7e fixed issue 1894:represent requires 2 arguments in dal.py, thanks mweissen 2014-03-09 17:22:39 -05:00
mdipierro 4d03460944 fixed startup message, thanks mweissen 2014-03-09 17:19:03 -05:00
mdipierro b3ba5d9eaa Merge pull request #393 from niphlod/fix/tests
fix travis.yml to fetch the latest release of gae
2014-03-09 09:11:03 -05:00
mdipierro 9e8ef3585e fixed problem with login bare when registration_key is None 2014-03-09 08:55:22 -05:00
niphlod 5c9cf44720 fix travis.yml to fetch the latest release of gae (needs manual update whenever a version changes) 2014-03-09 14:11:53 +01:00
mdipierro 05a0d19ee9 cleanup 2014-03-08 14:40:34 -06:00
mdipierro d38adbe6ca Merge pull request #392 from apa-1/master
Fix for session unique_key query
2014-03-08 14:32:27 -06:00
mdipierro 871981cec7 Merge pull request #391 from michele-comitini/oauth_content-type
oauth strip encoding part in content-type response from server.
2014-03-08 14:31:32 -06:00
mdipierro 8a54001e11 Merge pull request #390 from dokime7/master
Fix DAL ADD method
2014-03-08 14:30:42 -06:00
mdipierro 1e59f6e8be Merge pull request #389 from timrichardson/issues/1888
add Recaptcha(...ajax=True) to use ajax api, fix Recaptcha in LOAD issue/1888
2014-03-08 14:29:58 -06:00
mdipierro 0e1eb5b56e Merge branch 'master' of github.com:web2py/web2py 2014-03-08 14:28:49 -06:00
mdipierro e43df945b4 no more pypy test for today 2014-03-08 14:28:18 -06:00
mdipierro c23706b794 Merge pull request #388 from gitanoqevaporelmundoentero/master
dal.py: Table class: validate_and_update_or_insert method created, validate_and_update minor changes
2014-03-08 14:15:43 -06:00
alex 98cd10c6f5 Fix for session unique_key query 2014-03-08 14:37:15 -05:00
Michele Comitini 55b92e854c use mimemessage method gettype() to extract content-type 2014-03-07 18:01:41 +01:00
Michele Comitini 0c926d60b8 oauth strip encoding part in content-type response from server. 2014-03-07 17:31:20 +01:00
Oscar Rodriguez d4d91fd003 dal.py: Table class: validate_and_update_or_insert method created 2014-03-07 16:22:09 +01:00
Jeremie Dokime 89c4efbac3 Fix DAL ADD method
Fix regression of ADD method:
NameError: global name 'gluon' is not defined
2014-03-06 17:56:11 +01:00
Oscar Rodriguez 3a5a34da0a dal.py: Table class: validate_and_update_or_insert method created, and minor changes in validate_and_update 2014-03-06 12:06:57 +01:00
Tim Richardson cf3992545d add Recaptcha(...ajax=True) to use ajax api, fix Recaptcha in LOAD 2014-03-06 09:40:48 +11:00
Oscar Rodriguez 0b7f663d43 dal.py: Table class: validate_and_update_or_insert method created, and minor changes in validate_and_update 2014-03-05 19:46:19 +01:00
Oscar Rodriguez abd72f8df0 dal.py: Table class: validate_and_update_or_insert method created, and minor changes in validate_and_update 2014-03-05 17:44:56 +01:00
mdipierro 1abdf72a04 2.9.4 2014-03-04 22:42:22 -06:00
mdipierro 7c536b66d0 Merge branch 'master' of github.com:web2py/web2py 2014-03-04 22:40:00 -06:00
mdipierro cc1c019216 Merge pull request #387 from apa-1/master
Added 'from_address' to allow for separation of 'envelope sender' and 'f...
2014-03-04 22:39:40 -06:00
mdipierro d20f231b34 fixed memdb anc session issue 1885 2014-03-04 22:33:50 -06:00
mdipierro 8b03bf5fd9 fixed gae_memacache issue 1887, thanks mjwatson 2014-03-04 22:28:35 -06:00
alex af4025731a Added 'from_address' to allow for separation of 'envelope sender' and 'from' in email 2014-03-04 13:10:08 -05:00
mdipierro 77bbb405fb 2.9.3 2014-03-03 08:50:52 -06:00
mdipierro 7592cd2fe0 always reset the session when auth session expires 2014-03-03 08:44:02 -06:00
mdipierro c5b996c8b1 fixed problem with too many sessions 2014-03-03 08:14:36 -06:00
mdipierro ae0749d6b8 reverted some bs3 changes 2014-03-03 08:13:37 -06:00
mdipierro 666a389718 2.9.2 2014-03-02 17:47:33 -06:00
mdipierro 6cd2bf9fea better transliteration in slugs, thanks winniehell 2014-03-02 17:45:45 -06:00
mdipierro 3ad7ea6df8 Merge branch 'master' of github.com:web2py/web2py 2014-03-02 17:24:42 -06:00
mdipierro cb75a96e2c Merge pull request #315 from winniehell/patch_urlify_translitcodec
Use translitcodec for urlify
2014-03-02 17:24:07 -06:00
mdipierro 70965f4b69 alterante solution for https://github.com/web2py/web2py/pull/215 2014-03-02 17:19:33 -06:00
mdipierro 29042f08a1 back to bs2 2014-03-02 17:17:21 -06:00
mdipierro 379db55111 Merge branch 'master' of github.com:web2py/web2py 2014-03-02 16:54:05 -06:00
mdipierro 4a65e773ce Merge pull request #386 from timrichardson/bs3_grid
change button & icon classes for bootstrap 3 (SQLFORM.grid)
2014-03-02 16:53:53 -06:00
mdipierro 2829a91ff7 Merge branch 'master' of github.com:web2py/web2py 2014-03-02 16:51:39 -06:00
mdipierro 083e75bfb1 Merge pull request #385 from mcamel/patch-2
Update es.py
2014-03-02 16:51:28 -06:00
mdipierro 8f95e6ebb3 Merge branch 'master' of github.com:web2py/web2py 2014-03-02 16:50:49 -06:00
mdipierro 6b1826e8da Merge pull request #384 from mcamel/patch-1
Update tools.py
2014-03-02 16:50:40 -06:00
mdipierro f76598232a Merge branch 'master' of github.com:web2py/web2py 2014-03-02 16:49:57 -06:00
mdipierro 193149abac Merge pull request #383 from leonelcamara/master
Fix email date header format
2014-03-02 16:49:50 -06:00
mdipierro 8c155d9f76 Merge branch 'master' of github.com:web2py/web2py 2014-03-02 16:48:25 -06:00
mdipierro 2061cc3674 Merge pull request #382 from apa-1/master
Added password option for redis_cache and redis_session
2014-03-02 16:48:16 -06:00
Tim Richardson 832d6c2e97 bootstrap 3 icons for SQLFORM.grid 2014-03-03 06:16:09 +11:00
Tim Richardson e0870bbdb2 change buttons classes for bootstrap 3 2014-03-01 12:25:08 +11:00
mdipierro 297983f411 some minor changes 2014-02-28 18:38:06 -06:00
mdipierro 1e9872c015 welcome more bootstrap3 compliant, thanks Paolo Caruccio 2014-02-27 09:33:26 -06:00
mcamel 7ddf0af81b Update es.py
Major spanish language revision.
2014-02-27 12:35:41 +01:00
mcamel 359bae6d30 Update tools.py
Internationalize 'ACCESS DENIED' message.
2014-02-27 12:09:34 +01:00
Leonel Câmara d01add8f2b Revert "convert session to dict before pickling"
This reverts commit 36303e338d.
2014-02-25 12:54:31 +00:00
Leonel Câmara 752a1c7df6 Update tools.py
Fixed email date header not respecting the RFC2822 defined format

See:
https://groups.google.com/forum/#!topic/web2py/0Mb99H9kJOw
2014-02-25 12:29:51 +00:00
mdipierro 0d24d1e0d2 removed unwanted files, added respond.min.js 2014-02-24 23:57:34 -06:00
alex 31fcf51506 Added password option for redis_cache and redis_session 2014-02-24 19:01:27 -05:00
mdipierro f3c5ed8ee6 added some bs3 files 2014-02-24 00:09:39 -06:00
mdipierro 76d77439b7 2.9.0-beta 2014-02-23 23:33:32 -06:00
mdipierro 2b428c7eb9 fixed navbar menu 2014-02-23 22:42:26 -06:00
mdipierro 106d4be274 fixed the bs3 left menu but not the login menu 2014-02-23 22:18:08 -06:00
Massimo 8e5d6bc467 partial bootstrap3 port, menus broken, thanks Paolo, sorry I broke it 2014-02-21 11:15:43 -06:00
mdipierro e21aca045a fixed possible problem with session 2014-02-20 22:23:39 -06:00
mdipierro a359afb799 Merge branch 'master' of github.com:web2py/web2py 2014-02-19 08:51:03 -06:00
mdipierro 41fb55cb01 Merge pull request #381 from gitanoqevaporelmundoentero/master
dal.py: DAL: parse_as_rest: solved problem when displaying tables containing more than one PK
2014-02-19 08:50:51 -06:00
mdipierro f8cc65dfae Merge branch 'master' of github.com:web2py/web2py 2014-02-19 08:50:41 -06:00
mdipierro e94368a356 Merge pull request #380 from timrichardson/export_widget_bootstrap
added bootstrap class btn to export widget
2014-02-19 08:50:16 -06:00
mdipierro 2c8f2173a3 w2p_even and w2p_odd in grid 2014-02-19 08:43:40 -06:00
Oscar Rodriguez 65eb1e9cb7 DAL: parse_as_rest: solved problem when displaying tables containing more than one primary key 2014-02-18 16:27:55 +01:00
Tim Richardson 69ecbdfecc added bootstrap class btn to export widget 2014-02-18 06:19:57 +11:00
mdipierro 6c622b4100 Merge pull request #374 from carpaIdea/master
greater flexibility for SQLTABLE row customization by using css
2014-02-15 11:35:07 -06:00
mdipierro 59b645c399 Merge pull request #379 from timrichardson/issues/1866
Issues/1866 (grid export): change csv export to use represent, no change to csv hidden cols or others.
2014-02-14 22:35:05 -06:00
mdipierro 134723a54b Merge pull request #378 from mcabo/patch-2
Update dal.py Table:validate_and_update
2014-02-14 22:34:10 -06:00
mdipierro c482fed2c9 Merge pull request #375 from gitanoqevaporelmundoentero/master
dal.py: BaseAdapter: insert: solved problem when creating new record wit...
2014-02-14 22:33:20 -06:00
mdipierro f60846ea2e catch more errors when invalid session cookie, thanks Luca 2014-02-14 22:31:05 -06:00
mdipierro cb23f8635a fixed smartgrid bug, thanks Anthony 2014-02-14 22:27:39 -06:00
mdipierro 19f8f6bf3c SQLCustomType endswith 2014-02-14 21:03:52 -06:00
Tim Richardson b036cb04ff remove blank line 2014-02-15 08:10:42 +11:00
Tim Richardson 050efa339d missed a label 2014-02-15 08:02:53 +11:00
Tim Richardson faeff098fe rows.export_to_csv_file assumes the function field.represent takes only one argument, which was causing a ticket with virtua fields 2014-02-15 07:52:43 +11:00
Tim Richardson 4e298ed7d8 1866: small functionality change, better explanation.
Better 'tooltip' documention for different export formats.
Don't refer to Excel, say spreadsheet instead.
Only functionality change is standard CSV uses the rows.export_to_csv(..., represent=True) to make the output look like the on-screen grid representation.
The other formats are not changed, so both TSV and TSV with hidden columns do represent, and CSV with hidden columns does not (for speed)
2014-02-15 06:30:03 +11:00
mcabo c810e4491a Update dal.py Table:validate_and_update
Validation has been fixed on validate_and_update method
2014-02-14 15:32:58 +01:00
Oscar Rodriguez edbf45e542 dal.py: BaseAdapter: insert: solved problem when creating new record without passing the primary key as argument 2014-02-14 11:20:29 +01:00
mdipierro caee53e778 fixed IS_TIME()('12:00 am') 2014-02-11 08:12:12 -06:00
Oscar Rodriguez 55281650e2 dal.py: BaseAdapter: insert: solved problem when creating new record without passing the primary key as argument 2014-02-10 19:50:18 +01:00
Paolo Caruccio ff17b551b4 greater flexibility for row customization by using css 2014-02-06 16:25:42 +01:00
mdipierro 4c3ab339cd Merge pull request #373 from timrichardson/grid_search_widget_labels
Better button labels for grid search widget
2014-02-02 14:33:08 -08:00
Tim Richardson 99d64722a1 Better button labels for grid search widget
This is a second attempt at search widget buttons.
The create "+Add" is now "+Add Record".
The first search button becomes "New Search", and the And and Or buttons become "+ And" and "+ Or" (to hint that they add terms to the search). There are tool tips on all these buttons now
2014-02-02 18:15:57 +11:00
mdipierro 1b12bcb5d9 Merge pull request #372 from timrichardson/search_widget_button_label_change
Minor usability improvement to grid search widget
2014-01-31 15:09:06 -08:00
mdipierro 7a083865dd Merge pull request #371 from timrichardson/issues/1859
Issues/1859 export from grid fails when virtual fields are present
2014-01-31 15:08:21 -08:00
Tim Richardson 794b6bcb7b Minor usability improvement to grid search widget
changed the button "New" to "Add" and added a title attribute (view on hover) explaining what this button does
2014-01-31 16:45:57 +11:00
Tim Richardson 64ccd9043e fixed comment 2014-01-31 16:26:42 +11:00
Tim Richardson 18af4e92b0 when exporting hidden columns, pick up all virtual fields, even those not on display. 2014-01-31 14:45:45 +11:00
Tim Richardson cfbae50248 step 2 of fixing export from grids when there are virtual fields. Note export hidden columns includes all table fields and any virtual fields which are displayed, but it does not pick up virtual fields which are not displayed. 2014-01-31 13:44:25 +11:00
Tim Richardson 20576684dd Step 1 in fixing 1859: this stops the crashing, but virtual fields are not exported 2014-01-31 12:02:46 +11:00
mdipierro 1c2bdd1654 fixed issue 1862, readline problem in cpdb, thanks kmelevskiy 2014-01-30 08:44:19 -06:00
mdipierro 93aa1a13c6 Merge pull request #370 from niphlod/docs/refactor_c_d_f_g_h
more docstring fixes
2014-01-30 06:07:11 -08:00
mdipierro 4cd86a397c Merge pull request #369 from spametki/issue1828
Fixes issue1828
2014-01-30 06:06:34 -08:00
mdipierro efcb203dd9 Merge pull request #368 from nicozanf/patch-1
Design cleanup
2014-01-30 06:05:48 -08:00
mdipierro c859785edc Merge pull request #367 from timrichardson/issues/1864
fixed a bug in SQLFORM.grid where export would fail if a search filter a...
2014-01-30 06:04:56 -08:00
niphlod 41a4de081f more docstring fixes 2014-01-29 23:01:52 +01:00
Alan Etkin 82a8d41ac6 Fixes issue1828 2014-01-29 10:54:08 -03:00
Nico Zanferrari d274389a33 Design cleanup 2014-01-29 12:06:12 +01:00
Tim Richardson faecb124cc fixed a bug in SQLFORM.grid where export would fail if a search filter applied to a non-visible column 2014-01-29 18:55:32 +11:00
mdipierro ce2d958f9a Merge pull request #366 from spametki/testdalmongodb
Add mongodb and imap tests for dal
2014-01-28 13:43:07 -08:00
mdipierro e37c8ff87f Merge pull request #365 from michele-comitini/entity_quoting_parameter
added entity_quoting (False by default) parameter to DAL
2014-01-28 13:42:37 -08:00
mdipierro fd2136875e Merge pull request #364 from niphlod/enhancement/docstrings
docstrings fixes
2014-01-28 13:41:41 -08:00
Alan Etkin 35d56ec3f0 Add mongodb and imap tests for dal
Added mongodb uri string for tests
2014-01-28 17:46:05 -03:00
Michele Comitini 310528ea10 added entity_quoting (False by default) parameter to DAL to optionally enable entity name quoting by adapters. 2014-01-28 17:45:15 +01:00
niphlod 98ee81606b docstrings fixes 2014-01-27 22:56:58 +01:00
mdipierro 6731eb9b2d min-width in highlight, thanks Andre 2014-01-27 15:50:52 -06:00
mdipierro e833783fb0 col patch, thanks Anthony 2014-01-26 15:52:24 -06:00
mdipierro 9d13d297cb improved Rows methods propagate parameters, thanks Anthony 2014-01-24 20:36:21 -06:00
mdipierro 2967969add Merge pull request #363 from niphlod/docs/admin
docstrings refactored
2014-01-24 18:32:50 -08:00
Massimo 060eddf812 fixed security issue with redirect after expired login, thanks André Kablu 2014-01-24 16:22:42 -06:00
niphlod 473d2d5d09 docstrings refactored 2014-01-24 22:17:43 +01:00
mdipierro 13cc8df4be Merge pull request #362 from niphlod/enhancement/disable_with
remove disable_with if not needed
2014-01-23 20:37:22 -08:00
mdipierro 39edd4679d Merge pull request #360 from spametki/master
NoSQL dal tests
2014-01-23 20:36:09 -08:00
mdipierro 4cd45abfdd Merge pull request #358 from ilvalle/create_view
online editor: shortcuts in a separated frame and style review
2014-01-23 20:34:44 -08:00
mdipierro cc297a06d3 Merge pull request #357 from niphlod/enhancement/scheduler_prevent_drift
added the prevent_drift parameter
2014-01-23 20:33:40 -08:00
niphlod 341a5e0c40 remove disable_with if not needed 2014-01-23 21:59:43 +01:00
ilvalle d967e23791 online editor: fix folding option 2014-01-22 18:24:51 +01:00
Alan Etkin 98610df1d4 NoSQL dal tests 2014-01-22 08:50:03 -03:00
ilvalle 7dd99cf3a1 online editor: shortcuts in a separated frame and style review 2014-01-21 14:45:56 +01:00
niphlod 9434baba11 added the prevent_drift parameter 2014-01-20 22:43:53 +01:00
mdipierro 4cbdf612af Merge pull request #356 from niphlod/fix/tests
someone forgot tests.... grrrr!
2014-01-20 13:14:37 -08:00
niphlod 0c6eaf536a someone forgot tests.... grrrr! 2014-01-20 21:28:44 +01:00
mdipierro 48870b1dd1 Merge pull request #355 from reingart/master
debugger and soap contrib update and fixes
2014-01-19 21:41:25 -08:00
Mariano Reingart 56121a9c9d fixed WebClient contrib to properly send raw data in POST methods 2014-01-19 18:30:29 -03:00
Mariano Reingart 0e0ae1b5be added soap client/server test (including for status 500 to check issue #153) 2014-01-19 18:29:42 -03:00
Mariano Reingart e956d83aa2 fixed issue 153: correct 500 status if there is a SOAP fault 2014-01-19 18:27:56 -03:00
Mariano Reingart bfce480a91 added soap examples app (used in tests) 2014-01-19 18:25:06 -03:00
Mariano Reingart 3df446c306 updated simple soap contrib (pysimplesoap version 1.11) 2014-01-19 16:57:08 -03:00
Mariano Reingart e10fd68f90 fixed issue 1839: catch exception if source code cannot be opened in the debugger 2014-01-19 14:07:00 -03:00
mdipierro cfd5842538 Merge pull request #354 from alfonsodg/master
fix bug related to upgrade setuptools / pip
2014-01-18 10:39:47 -08:00
mdipierro 56e95fd640 Merge pull request #353 from ilvalle/create_view
codemirror 3.21
2014-01-18 10:38:59 -08:00
mdipierro 52cf0dd147 Merge pull request #352 from viniciusban/empty_reference_field
Allow empty reference field in form without IS_EMPTY_OR() validator, avoiding constraint violation exception.
2014-01-18 10:37:39 -08:00
mdipierro 311404d03c Merge pull request #351 from kirsn/master
Update error_messages; capitalize first character
2014-01-18 10:36:33 -08:00
Alfonso de la Guarda Reyes 5900b3f1c7 fix bug related to upgrade setuptools / pip 2014-01-18 08:05:28 -05:00
ilvalle 45bc26f5eb codemirror 3.21 2014-01-18 10:13:56 +01:00
Vinicius Assef 45fc08e4a4 Allow empty reference field in form without IS_EMPTY_OR() validator, avoiding constraint violation exception 2014-01-17 18:20:43 -02:00
Kiran Subbaraman e3aa776f5a Update error_messages; capitalize first character
Result of a discussion: https://groups.google.com/forum/#!topic/web2py/IDkr4w_wKv4
The intent is to convert the first character of all error messages to a capital letter.
2014-01-16 10:57:34 +05:30
mdipierro 7101762082 Merge pull request #346 from dokime7/master
Fix concurrency handling in order to avoid that some workers get the same task at the same time.
2014-01-14 22:17:34 -08:00
mdipierro 34bbb376be allow URL(...,language=...) with parametric router, thanks Jonathan 2014-01-14 22:17:28 -06:00
mdipierro 391bdf5cd4 Merge pull request #349 from mbaser/patch-2
Create tr.py
2014-01-14 20:11:23 -08:00
mdipierro 1e4f533008 Merge pull request #348 from mbaser/patch-1
Update tr.py
2014-01-14 20:10:56 -08:00
mdipierro dfd35b1a62 Merge pull request #347 from niphlod/enhancement/DAL
first steps to a cleaner DAL and rname integration
2014-01-14 20:10:26 -08:00
mdipierro c7f6545f8a Merge pull request #345 from crimsoncantab/master
related to issue 1708 - bugfix to allow no expiration for gae_memcache
2014-01-14 20:08:28 -08:00
Mustafa Baser 71c6343aab Create tr.py 2014-01-14 13:30:59 +02:00
mbaser 65005ef93a Update tr.py 2014-01-14 13:27:10 +02:00
niphlod 7d59bcab72 first steps to a cleaner DAL and rname integration 2014-01-13 23:35:42 +01:00
Jeremie Dokime 3f200c245c Fix concurrency handling in order to avoid that some workers get the same task at the same time. 2014-01-13 15:17:58 +01:00
Loren McGinnis 378a696bfe related to issue 1708 - bugfix to allow no expiration for gae_memcache
When gae_memcache passed expiration time to memcache Client
(see commit 59290534bc),
logic is no longer needed to calculate time delta, since memcache
handles that for us.  Also, time_expire=0 was expiring values
immediately, instead of the documented behavior where 0 signified
no expiration.

Kept timestamp in value for backwards compatibility (is this
necessary since cached data is transient?)
2014-01-12 22:52:52 -07:00
mdipierro 200a953849 MARKMIN(...,_class='...') 2014-01-11 15:31:53 -06:00
mdipierro 0e95fba28d MARKMIN(...,_class='...') 2014-01-11 15:19:38 -06:00
mdipierro 907525efd7 fixed issue 1850, caching errors when unable to obtain plugin list 2014-01-11 15:03:10 -06:00
mdipierro d490b794db Merge pull request #343 from spametki/master
Remove illegal nosql command implementations
2014-01-11 05:07:04 -08:00
Alan Etkin f04cc69abe Remove illegal nosql command implementations 2014-01-11 09:51:10 -03:00
mdipierro c93ce5dbab reverted latest patch 2014-01-10 08:28:09 -06:00
mdipierro 23c65eb518 Merge branch 'master' of github.com:web2py/web2py 2014-01-10 08:26:43 -06:00
mdipierro 2cf0e4a7ff Merge pull request #341 from spametki/master
Added _insert for App Engine
2014-01-10 06:25:21 -08:00
Massimo c2a23d03c2 fixed issues with regex2 in validators? 2014-01-09 11:47:32 -06:00
mdipierro 09fb170a83 possibile regex fix 2014-01-09 08:38:39 -06:00
Alan Etkin 20e2d9aa57 Added _insert for App Engine 2014-01-09 09:41:27 -03:00
mdipierro 4192405444 IS_LIST_OF(other=[..]) 2014-01-08 13:43:49 -06:00
mdipierro 6bbafc5920 fixed 1843, commented functions should not appear as if they are exposed 2014-01-08 11:32:07 -06:00
mdipierro 1caf7b5140 fixed 1845:styling widget divs, thanks Paolo Caruccio 2014-01-08 11:16:51 -06:00
mdipierro 10e0ff71bf fixed login_bare uses registration_key without .strip() for boolean testing which causes failure, thanks Remco 2014-01-08 11:14:02 -06:00
mdipierro 5a0aec5b1d fixed LazyCrypt.__ne__, thanks Jonathan 2014-01-08 10:24:37 -06:00
mdipierro 9964add97c Merge pull request #339 from flavour/master
Fix for orderby_on_limitby with Table aliases
2014-01-08 07:51:41 -08:00
Fran Boon d5f04551f2 Fix for orderby_on_limitby with Table aliases 2014-01-07 22:36:22 +00:00
Fran Boon 8ba8eb58ed Merge branch 'master' of git://github.com/web2py/web2py 2014-01-07 21:26:31 +00:00
mdipierro 14cacefa96 fixed grid export in HTML 2014-01-07 02:14:11 -06:00
mdipierro 6d6a4d3d33 rearranged markmin.html 2014-01-07 02:00:52 -06:00
mdipierro e19f280e1b Merge pull request #338 from timrichardson/issue/1840
fix issue 1840, CAS failing due to redirect loop
2014-01-06 23:58:37 -08:00
Tim Richardson 40e5e42ecc fix issue 1840 2014-01-07 17:05:41 +11:00
mdipierro 1741a59d3a fixed routes.parametric.example.py, thanks Jonathan 2014-01-06 10:56:34 -06:00
mdipierro 7787317d06 fixed a problem with python version compatibility, thanks Anthony 2014-01-05 21:37:31 -06:00
mdipierro 76b3906ade fixed error message, thanks Anthony 2014-01-04 20:19:20 -06:00
mdipierro efcf8c0c95 fixed problem about excutesql(as_dict=True) and ambiguous column names, thanks Anthony 2014-01-03 22:00:02 -06:00
mdipierro 12bb4a8d93 removed 'if count > limits[1]-limits[0]:' in dal.py 2014-01-03 21:31:06 -06:00
mdipierro e56e376894 fixed issue 1836, Problem with IS_IN_DB(label='%(x)3.3s') 2014-01-03 20:58:57 -06:00
mdipierro 4b4ada4137 Merge pull request #337 from spametki/master
Adapted admin cache action for gae
2013-12-28 21:17:15 -08:00
Alan Etkin eb94780cd4 Adapted admin cache action for gae 2013-12-28 07:53:29 -03:00
mdipierro 750f963796 Merge pull request #336 from niphlod/fix/admin_saved_sessions
removed debug print statements
2013-12-27 15:09:50 -08:00
niphlod 08639e6691 removed debug print statements 2013-12-27 21:28:43 +01:00
mdipierro 1a959baa72 fixed problem with static_version in admin, issue 1832 2013-12-23 21:37:27 -06:00
mdipierro 227930e25b Merge pull request #335 from ilvalle/create_view
Save current working session in the online editor
2013-12-23 19:33:07 -08:00
ilvalle 88ce19d99f Save current working session in online editor 2013-12-21 15:32:20 +01:00
mdipierro 257733e0cc fixed a bug in models_to_run, thanks Anthony 2013-12-20 15:09:50 -06:00
mdipierro e0b147ead0 Merge pull request #334 from PeterQ2/master
Changed RPXAccount login_form due to end-of-life for Janrain legacy widget
2013-12-20 12:49:41 -08:00
petergovers 24283e7eeb Modified RPXAccount to be backward compatible with older Web2py versions 2013-12-20 21:28:47 +01:00
petergovers afe3f306e7 Revert "Changed rpxAccount login_form due to end-of-life for Janrain IFRAME/embedded widget"
This reverts commit c4a68e9e5a.
2013-12-20 21:27:56 +01:00
petergovers c4a68e9e5a Changed rpxAccount login_form due to end-of-life for Janrain IFRAME/embedded widget 2013-12-20 20:33:29 +01:00
mdipierro 67c35e5327 Merge pull request #333 from ilvalle/create_view
fix issue 1825
2013-12-19 20:29:10 -08:00
mdipierro 53f4408652 fixed web2py.css 100% thanks DeanK 2013-12-19 20:25:48 -06:00
ilvalle d72d5c64e2 fix issue 1825 2013-12-19 09:52:38 +01:00
Fran Boon 9ca4b48f95 Merge branch 'master' of git://github.com/web2py/web2py 2013-12-19 08:35:12 +00:00
mdipierro 338331aa54 Merge pull request #332 from spametki/master
admin app: enhanced ticket support for gae
2013-12-18 11:50:45 -08:00
Alan Etkin 42c0b7b0fa admin app: enhanced ticket support for gae 2013-12-18 15:44:45 -03:00
mdipierro 28b9d322a2 fixed 1821:RadioWidget and CheckboxesWidget wrong behavior, thanks Paolo Caruccio 2013-12-17 16:50:42 -06:00
mdipierro 38de99fc9c fixed 1820:uncaught pickling error with shell and app engine, thanks Alan 2013-12-17 16:43:07 -06:00
mdipierro a4416bd11f fixed issue 1819:Datastore reconnect problem, thanks Alan 2013-12-17 16:40:44 -06:00
mdipierro 27cbd242b2 Merge pull request #331 from spametki/master
Enable admin app for GAE (experimental)
2013-12-17 12:00:26 -08:00
mdipierro c790b79393 autolink emails 2013-12-16 21:56:28 -06:00
Alan Etkin 7646dc11fe Enable admin app for GAE (experimental) 2013-12-16 17:24:51 -03:00
mdipierro 104ec5ba73 fixed issue 1818, error in wiki/renderer, thanks Alan 2013-12-15 22:23:57 -06:00
mdipierro 53a0718a78 fixed problem with lack of connector in NoSQL 2013-12-15 13:31:56 -06:00
mdipierro 892f123975 Merge branch 'master' of github.com:web2py/web2py 2013-12-15 10:17:37 -06:00
mdipierro 461daca00e Merge pull request #330 from niphlod/fix/dal_quoting
fix mssql quoting issue, disabled some tests
2013-12-15 08:17:21 -08:00
niphlod 09c0069b43 fix mssql quoting issue, disabled some tests
Tests now pass on mssql. I think we need to agree on what's going on
with DAL, or we risk shipping a module with lots of changes that are
breaking backward compatibility. I'll start a thread on
web2py-developers
2013-12-15 15:06:42 +01:00
mdipierro 42de43d052 fixed 1814:session.connect: parameter migrate=False has no effect, thanks lucmurer 2013-12-14 20:03:35 -06:00
mdipierro 6ce51fa099 Merge pull request #329 from ilvalle/create_view
a more harmonic create_file in admin editor
2013-12-14 10:23:28 -08:00
ilvalle 51728fb192 a more harmonic create_file in admin editor 2013-12-14 09:37:30 +01:00
mdipierro d438b510df Merge pull request #328 from ilvalle/create_view
Manage w2p:enable-with in order to reuse form
2013-12-13 18:39:15 -08:00
ilvalle 2d669a50b2 Manage w2p:enable-with in order to reuse form 2013-12-13 12:09:52 +01:00
mdipierro 4aabf3c69c fixed typo, thanks User 2013-12-11 20:36:39 -06:00
mdipierro 69f9cf28df fixed db(((db.table1.field1 + db.table1.field2)>4)).select(), thanks Boris 2013-12-11 20:33:24 -06:00
mdipierro 81cb51bb8d Merge pull request #327 from ilvalle/create_view
invalidate function in web2py.js
2013-12-11 11:12:33 -08:00
ilvalle 371f97e050 invalidate function in web2py.js 2013-12-11 15:50:19 +01:00
mdipierro 3204447a74 Merge pull request #325 from niphlod/fix/web2py_websocket
fixed naming bug. Thanks @Peter Govers for the patch
2013-12-10 18:29:48 -08:00
Leonel Câmara 36303e338d convert session to dict before pickling
Session was constantly being pickled without converting to dict as it
should be.
2013-12-10 23:01:06 +00:00
niphlod b0b2fd7804 fixed naming bug. Thanks @Peter Govers for the patch 2013-12-10 21:08:39 +01:00
mdipierro a37206e259 Merge pull request #323 from ilvalle/comment
select the right app in the file list editor sidebar
2013-12-10 06:34:20 -08:00
ilvalle ff94a22826 fix reload of file list in editor when a new file is created 2013-12-10 11:13:04 +01:00
ilvalle 8244472cb2 select the right app in the file list editor sidebar 2013-12-10 09:53:50 +01:00
mdipierro 15dd46a91a reverted grouping of joined tables 2013-12-09 21:28:26 -06:00
mdipierro c379b00918 Merge branch 'master' of github.com:web2py/web2py 2013-12-09 21:20:49 -06:00
mdipierro 9bf856f6e6 Merge pull request #322 from robertop23/master
Allow create files from editor page in "files toggle"
2013-12-09 19:20:38 -08:00
robertop23 37df0a9338 Allow create files from editor page in "files toggle"
Once file is created show success message and reload using ajax the files

	modified:   applications/admin/controllers/default.py
	modified:   applications/admin/views/default/edit.html
2013-12-09 21:57:57 -04:30
robertop23 e6aaca1728 Allow create files from editor page in "files toggle"
Once file is created show success message and reload using ajax the files
	new file:   applications/admin/views/default/files_menu.html
	modified:   applications/admin/controllers/default.py
	modified:   applications/admin/views/default/edit.html
2013-12-09 21:51:55 -04:30
mdipierro bbbee21b0d DAL(...,adapter_args=dict(engine='MyISAM')) 2013-12-09 18:56:05 -06:00
mdipierro 6fb6f441d5 Merge pull request #321 from ilvalle/comment
toggleComment in admin editor
2013-12-09 16:37:15 -08:00
mdipierro cda7c66637 fixed bug in last commit, thanks User 2013-12-09 17:55:53 -06:00
mdipierro 53122bfa9f possible implementation of st_dwithin, thanks User 2013-12-09 17:06:25 -06:00
ilvalle 1fecd35bb7 toggleComment in admin editor 2013-12-09 14:38:10 +01:00
mdipierro 85058bd847 fixed this issue http://stackoverflow.com/questions/20363043/web2py-dal-left-join-and-operator-precedence 2013-12-08 09:33:30 -06:00
mdipierro 40c02651ae Merge pull request #320 from spametki/master
admin plugins page: show license information and small enhancements
2013-12-08 06:28:08 -08:00
mdipierro 8d72dc7bc4 Merge pull request #319 from ilvalle/todolist
better style for todolist panel (admin editor)
2013-12-08 06:27:26 -08:00
mdipierro 46d630a2c0 ST_DWithin for postgres 2013-12-08 08:26:00 -06:00
Alan Etkin 7e040a4177 admin plugins page: show license information and small enhancements 2013-12-08 11:01:21 -03:00
ilvalle 483de0fc30 better style for todolist panel (admin editor) 2013-12-08 10:18:47 +01:00
mdipierro 09277868d2 accept bitcoin donations 2013-12-07 20:47:08 -06:00
mdipierro 86a19c25a8 fixed issue 1808:HTML Injection on Terminal(shell) online 2013-12-07 18:36:37 -06:00
mdipierro 1715b0c378 fixed 1807:Preserve quote template for NoSQLAdapter and subclasses, thanks Alan and Michele 2013-12-07 10:20:29 -06:00
mdipierro 3599863304 fixed 1801:error in DAL using MongoDB with 'list:reference <table>', thanks Alan 2013-12-07 10:18:33 -06:00
mdipierro 91dc4f1d03 fixed issue 1806:auth.wiki does not create permissions correctly, thanks Florian 2013-12-07 10:16:21 -06:00
mdipierro 4b124cc214 Merge pull request #318 from ilvalle/todolist
Todolist panel in admin editor
2013-12-06 18:28:18 -08:00
mdipierro 0ed01e5a21 enable killing processed in windows, thanks Yair 2013-12-06 20:15:41 -06:00
ilvalle b7192d706c todolist panel (frontend part), by clicking on the TODO the relatve file is opened in a tab and the cursor is placed at the right line 2013-12-06 12:37:33 +01:00
ilvalle 557e4892b0 todo panel view 2013-12-05 11:49:21 +01:00
ilvalle b61b0bf3ad todo panel in admin editor 2013-12-05 11:43:23 +01:00
mdipierro 3a6a8af9f6 fixed typo in spreadsheet, thanks Alan 2013-12-04 19:35:43 -06:00
mdipierro 5b7167436b optional label in checkbox widget, fixed issue 1797, thanks Richard 2013-12-04 10:43:50 -06:00
mdipierro 8d4b4430de Merge pull request #317 from michele-comitini/entity_quoting
quoting of tablenames and field names
2013-12-04 08:34:52 -08:00
mdipierro 9d4cb09fdf fixed typo, thanks Dean 2013-12-03 09:32:42 -06:00
Michele Comitini 14bcad629e quoting of tablenames and field names
fix for wrong sequence name quoting

fix for wrong sequence name quoting 2

reverted test to quoted rname

rname passed asis. freedom in table names and field names. Case sensitivity in field and table names

removed test of allowed char sequence in table and field names, there is no limit anymore

fixed some troubles with postgresql drop(). Better Row.__getitem__(): should not be much slower.  Added a ignore_field_case parameter to allow Field('F')!=Field('f') on databases supporting case sesitivity.

different mysql drivers handled in quoting test.

improved handling of foreing keys

fix with quoted names in SQLTABLE.  fix for ORDER BY

handle references on non "id" fields

check reference expression against table list first
2013-12-03 12:29:30 +01:00
mdipierro 645c3b10dd fixed issue 1783 again, thanks Dean Kleissas 2013-12-03 00:41:51 -06:00
mdipierro 16f9222847 Merge pull request #316 from anssih/fix/ndb-lists
Fix list types in GAE NDB after entity write
2013-12-02 19:41:26 -08:00
Anssi Hannula b7e7c8caf2 Fix list types in GAE NDB after entity write
As per
http://code.google.com/p/appengine-ndb-experiment/issues/detail?id=208
("List items from repeated StringProperty get mutated to _BaseValue on
put") it seems to be expected behavior that lists in NDB models get
mutated to _BaseValue lists after .put() is called.

In web2py this corresponds to:
------------
db.define_table('listintegertest',
	Field('dummy', 'boolean'),
	Field('integerlist', 'list:integer'),
	Field('stringlist', 'list:string'),
)

iidee = db.listintegertest.insert(
	integerlist=[1,2,3,4],
	stringlist=["1","2","3","4"]
)
row = db.listintegertest(iidee)
db.listintegertest[row.id] = dict(dummy=True)

print "type is %s" % (type(row.integerlist[0]))
print "type is %s" % (type(row.stringlist[0]))
------------

The output of the above is currently:
type is <class 'google.appengine.ext.ndb.model._BaseValue'>
type is <class 'google.appengine.ext.ndb.model._BaseValue'>
while this is expected:
type is <type 'int'>
type is <type 'unicode'>

The workaround is to copy the list from the NDB model instead of
relying on it not being changed afterwards.

list:reference is not affected since parse_list_references() already
recreates the list in NoSQLAdapter case.
2013-12-02 23:27:21 +02:00
winniehell 15cedc0269 remove unnecessary imports 2013-12-02 22:22:41 +01:00
winniehell b14831613e use translitcodec for urlify 2013-12-02 21:35:48 +01:00
Jason Kirtland b673593683 add translitcodec to contrib 2013-12-02 21:33:34 +01:00
mdipierro 7703d959ef fixed request.user_agent().get('is_mobile', False), thanks Jonathan 2013-12-02 10:28:13 -06:00
mdipierro cb47024f2b Merge pull request #314 from oscarfonts/oracle-extract
extract_oracle_models.py script
2013-12-02 08:18:44 -08:00
mdipierro 55cbc1830a fixed issue 1795:MongoDB: DAL instantiation dict definition error, thanks Alan 2013-12-02 02:07:17 -06:00
mdipierro 3f61d725c4 Merge branch 'master' of github.com:web2py/web2py 2013-12-02 01:29:31 -06:00
mdipierro bc8bc03fd2 Merge pull request #312 from anssih/fix/ndb-refs
Fix references with GAE in NDB mode
2013-12-01 23:29:14 -08:00
mdipierro cbc20782ae Merge branch 'master' of github.com:web2py/web2py 2013-12-01 19:48:59 -06:00
mdipierro af290117d4 Merge pull request #311 from pyner/patch-2
Update access.py
2013-12-01 17:48:43 -08:00
mdipierro 42a662a7ad Merge branch 'master' of github.com:web2py/web2py 2013-12-01 19:48:28 -06:00
mdipierro 2ead96313b Merge pull request #310 from pyner/patch-1
Update buttons.py
2013-12-01 17:48:05 -08:00
Anssi Hannula fcd9e0d5c6 Fix references with GAE in NDB mode
For reference types the IntegerProperty class (no matter if NDB or
not) constructor is passed the referenced table name as the first
parameter.

For non-NDB, the first parameter is 'verbose_name'. For NDB, the first
parameter is 'name'.

In NDB mode this causes the property to have a wrong identity and
therefore references fail to work properly.

The verbose_name set in non-NDB mode is relatively harmless in
comparison, but seems to be wrong as well as it does not really make
sense.

Do not pass referenced table name to the IntegerProperty constructor in
either case.
2013-12-01 23:36:25 +02:00
samuel bonilla 593540e467 Update access.py
<type 'exceptions.AttributeError'> 'dict' object has no attribute 'is_mobile'"
2013-12-01 11:39:37 -05:00
samuel bonilla f66d0e1200 Update buttons.py
<type 'exceptions.AttributeError'> 'dict' object has no attribute 'is_mobile'"
2013-12-01 11:37:29 -05:00
mdipierro fa1c719c96 removed conflict from languages, thanks Niphlod 2013-12-01 10:00:05 -06:00
mdipierro 77b66d6015 fixed conflict 2013-11-30 16:50:31 -06:00
Fran Boon 8c14ba01f7 Merge branch 'master' of github.com:flavour/web2py 2013-11-29 12:13:55 +00:00
Fran Boon ad87d196e5 Enhance encoding header of languages/*.py 2013-11-29 12:07:36 +00:00
mdipierro aac892364c R-2.8.2 2013-11-28 07:52:24 -06:00
mdipierro 64b670fd8f fixed issue with scheduler and cache.disk introduced in 2.8.1 2013-11-28 07:50:55 -06:00
mdipierro a55c6777d3 R-2.8.1 2013-11-27 13:54:04 -06:00
mdipierro f9e16557c4 Merge pull request #308 from niphlod/issue/1780
fixes issue 1780
2013-11-27 10:00:49 -08:00
mdipierro 165b682e01 no more drawer open in edit mode 2013-11-27 12:00:21 -06:00
niphlod 92ab6dc635 fix issue 1780 2013-11-25 22:46:27 +01:00
mdipierro 0385ce6eb2 allow add_button(...,'javascript:') 2013-11-25 15:22:21 -06:00
mdipierro 5ba6e8fea2 Merge pull request #307 from erikmontes/patch-1
Comment documentation typo correction
2013-11-25 10:50:05 -08:00
mdipierro 8979c0919f Merge pull request #306 from ilvalle/git-fix
fix issue-1789
2013-11-25 10:49:05 -08:00
Erik Montes b9048b6d65 Comment documentation typo correction 2013-11-25 10:34:55 -08:00
ilvalle 3592dba7f5 fix issue-1789 2013-11-25 09:49:43 +01:00
mdipierro a7defed64c no more Tkinter is not necessary 2013-11-24 20:33:31 -06:00
mdipierro ff2f11a706 generic.jsonp raises HTTP(404) 2013-11-24 09:44:08 -06:00
mdipierro 84cc47920b Merge branch 'cm-3.20' of https://github.com/ilvalle/web2py into ilvalle-cm-3.20 2013-11-23 21:49:54 -06:00
mdipierro f57d96d64d no more 2.5 testing on Travis 2013-11-23 21:49:34 -06:00
mdipierro c310627d1b possibly fixed the PyPy testing problem 2013-11-23 21:42:09 -06:00
ilvalle be66f53c7e fix form action 2013-11-24 00:20:13 +01:00
mdipierro 77f32a8f4b wmv in expand all 2013-11-22 21:20:47 -06:00
mdipierro 9b8a24eeb9 fixed undefined form last commit 2013-11-22 12:14:08 -06:00
mdipierro c87bf553f6 fixed issue 1783:Forgot password and forgot username functionality breaks when multiple usernames are created against the same email address 2013-11-22 10:50:29 -06:00
mdipierro 2361eb4a84 fixed issue 1786:Allow formargs to override grid parameters., thanks iiijjjiii 2013-11-22 10:25:22 -06:00
mdipierro 4f4cc8f98f fixed link to download jquery plugin 2013-11-22 10:18:29 -06:00
mdipierro 5f1caf668b colnames in grid, thanks Niphlod, Arnon, and Paolo 2013-11-22 08:38:12 -06:00
mdipierro 054152f162 extract_oracle_models.py 2013-11-20 10:24:08 -06:00
mdipierro 78cf9df6ef Retire the Splash Screen and Beautify GUI., thanks skyscooby 2013-11-20 09:41:04 -06:00
mdipierro 2924b20c92 Merge pull request #303 from skyscooby/master
Retire the Splash Screen and Beautify GUI.
2013-11-20 07:19:50 -08:00
mdipierro f6318ae86c Merge pull request #301 from gi0baro/issue1772
Issue #1772: let the user choose uploads_in_blob with mongodb
2013-11-20 07:17:49 -08:00
Massimo e57907de35 do not truncate on delete 2013-11-19 17:38:13 -06:00
Massimo df2f9e7119 NDB accepts set, list and tuple, thanks Quint 2013-11-19 17:07:19 -06:00
Andrew Greenwood 23d7eb7a43 Retire the Splash Screen and Beautify GUI.
Lets give 5 seconds back to most users on startup by retiring the
artificial Splash Screen. Replace with a prettier server manager window.

-Makes product feel faster.
-Looks much better
-Fixes bug where two windows are created when using (-Q)
-Blocks resize on UI window.
-Window is now labeled ProgramName
2013-11-19 16:49:28 -05:00
Oscar Fonts 99a6dbeac2 extract_oracle_models.py script, for legacy Oracle 11g databases 2013-11-19 19:27:34 +01:00
Oscar Fonts b05daddc5c Copy extract_pgsql_models as extract_oracle_models 2013-11-19 19:17:11 +01:00
mdipierro 6868ddeed5 fixed 1779:Query class __str__ method should cast non string values, thanks Alan 2013-11-18 15:41:32 -06:00
mdipierro 8de6bff2fb fixed (again) issue 1774:CAS client broken when using routes.py, thanks remco.boerma 2013-11-18 15:37:52 -06:00
gi0baro 2bf1f5396f Removed pedant if check in URL() 2013-11-18 01:12:37 +01:00
gi0baro 9028ec9857 Issue #1772: let the user choose uploads_in_blob with mongodb 2013-11-18 01:02:43 +01:00
mdipierro 8696a01eda some GAE optimization, thanks Quint 2013-11-17 13:36:35 -06:00
mdipierro f8f91c6a6a experiment with mongodb and belongs 2013-11-17 12:03:20 -06:00
mdipierro 97739e9e8a in mongodb uploads_in_blob = False, because of https://code.google.com/p/web2py/issues/detail?id=1772, thanks Alan 2013-11-17 09:32:01 -06:00
mdipierro 16b68572cd attempt to support GAE IN operator, thanks Quint 2013-11-17 09:28:46 -06:00
mdipierro d6e63b4d7c simpled int to hex conversion of mongo id, thanks Alan 2013-11-17 09:21:16 -06:00
mdipierro a6e8111484 Merge pull request #300 from spametki/master
MongoDB: fixed object_id function (hex values)
2013-11-17 07:15:33 -08:00
Alan Etkin bdc214f45b MongoDB: fixed object_id function (hex values) 2013-11-16 17:16:59 -03:00
mdipierro a91570768e fixed typo 2013-11-16 11:52:18 -06:00
mdipierro d35321c6c6 improvements to GoogleAdapter, thanks Quint 2013-11-16 04:10:18 -06:00
mdipierro e482cba237 minor dal rewrite in real_referenced 2013-11-16 03:54:30 -06:00
mdipierro c7cf13f8ea minor rewrite of mongoDB adapter 2013-11-16 03:39:39 -06:00
mdipierro e0329ce59a fixed 1771:MongoDBAdapter ILIKE and widget.autocomplete, thanks Francisco 2013-11-16 03:32:36 -06:00
mdipierro de7848ba21 Merge pull request #298 from chuckis/patch-1
Update ru.py
2013-11-16 01:28:14 -08:00
mdipierro d6f5a5684f Merge pull request #297 from xbello/master
Added two libs and icon path to setup.py
2013-11-16 01:27:39 -08:00
mdipierro 9883590a91 Merge pull request #295 from niphlod/enhancement/mssql4
improved performance on mssql4
2013-11-16 01:24:55 -08:00
mdipierro b11bdddfe2 Merge pull request #294 from timrichardson/issue/1773
replace write to stderr with LOGGER in failed database connection attemp...
2013-11-16 01:24:18 -08:00
mdipierro 623cd515de Merge pull request #293 from magnunleno/patch-1
Adds bind capability to OpenLDAP
2013-11-16 01:23:30 -08:00
mdipierro f53da87f6f fixed 1774:CAS client broken when using routes.py, thanks remco.boerma 2013-11-16 03:23:03 -06:00
mdipierro ff7ef47cc7 fix issue 1777:MongoDB: upload representation error, thanks Francisco Betancourt 2013-11-16 03:16:57 -06:00
gi0baro e83bb7af29 Add response.static_version to URL() 2013-11-15 15:22:20 +01:00
chuckis 108b24abdd Update ru.py 2013-11-15 12:05:24 +02:00
xbello 2d309c6e81 Added two libs and icon path to setup.py 2013-11-15 10:16:09 +01:00
Massimo 07f0cdadcd memdb conflict check, thanks Luca 2013-11-14 13:29:46 -06:00
niphlod 7c8c9bc3af improved performance on mssql4 2013-11-13 23:18:07 +01:00
mdipierro 948e0b1f43 possible to fix to memdb threading issue 2013-11-13 14:07:26 -06:00
tim be9027f36f replace write to stderr with LOGGER in failed database connection attempt 2013-11-13 17:42:21 +11:00
mdipierro 9bb4155460 adding spanish plurals, thanks Vlad Vladyslav 2013-11-11 17:42:58 -06:00
Magnun Leno ad877b2305 Adds bind capability to OpenLDAP
Adds to OpenLDAP (mode=uid and mode=cn) the capability to bind to the directory with an admin account in order to search it.
2013-11-11 15:53:38 -02:00
mdipierro fb9ad028f8 fixed problem with multiple uris and lazy tables 2013-11-11 10:16:38 -06:00
mdipierro 833694229d Merge pull request #292 from flavour/master
Support HTTP Status 509
2013-11-11 07:43:56 -08:00
mdipierro d6a8a3d410 Espanol language patches, thanks Vladyslav Kozlovskyy 2013-11-11 09:40:57 -06:00
Fran Boon 4e9d228a60 Support HTTP Status 509
Whilst this isn't an official RFC, it's documented on e.g. Wikipedia. http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_Server_Error
2013-11-08 10:46:47 +00:00
Massimo db0d31260e NDB support for GAE, thanks Quint, needs testing 2013-11-07 11:16:04 -06:00
Massimo 9178b23473 Merge branch 'master' of github.com:web2py/web2py
Conflicts:
	VERSION
2013-11-07 11:06:37 -06:00
Massimo 40d5e5dfe9 fixed 1746:auth.wiki renders multi-line code as single-line, thanks Alan 2013-11-07 11:00:39 -06:00
Massimo f95476c51e fixed colgroup issue in grid, thanks Anthony 2013-11-07 10:47:57 -06:00
Massimo 73ab77ad8b fixed 1765:Verify email message seams to only accept username, key and link 2013-11-07 10:31:54 -06:00
Massimo e6f84c45b9 fixed 1756:scripts/sessions2trash.py doesn't work with 'separate=True', thanks Paolo Valleri 2013-11-07 10:25:29 -06:00
mdipierro 58c22b8ed0 synced web2py.js, thanks Vinicius 2013-11-06 16:57:33 -06:00
mdipierro ee1de04544 Merge pull request #291 from viniciusban/master
Make component forms submit to their own action property
2013-11-06 14:55:12 -08:00
Vinicius Assef 9977aa571a Make component forms submit to their own action property 2013-11-06 19:37:55 -02:00
mdipierro 65b883749a fixed 1757:Broken support for 'belongs' with GAE datastore, thanks Alan 2013-11-06 11:14:56 -06:00
mdipierro 5cee4f8876 fixed issue 1763 user of arrows in numerical fields 2013-11-06 11:13:10 -06:00
mdipierro 3aec2c4568 Merge branch 'master' of github.com:web2py/web2py 2013-11-06 11:11:55 -06:00
mdipierro 3defd7d7b1 fixed issue 1763 user of arrows in numerical fields 2013-11-06 11:11:01 -06:00
mdipierro ac97332393 Merge pull request #290 from erikmontes/patch-1
Closed html commment.
2013-11-06 08:32:01 -08:00
mdipierro 62bda4b917 Merge pull request #289 from michele-comitini/SQLCustomType_in_grid_fix
simple fix for wrong type detection of SQLCustomTypes
2013-11-06 08:31:34 -08:00
mdipierro cb6857c16b Merge pull request #288 from hectord/translate_date_in_range_formatters
Translate the formatters for DATE/DATETIME_IN_RANGE validators
2013-11-06 08:31:06 -08:00
mdipierro 643e945540 fixed web2py.js for trapped non-self-submitting forms, thanks Vinicius 2013-11-06 10:30:41 -06:00
Erik Montes b52b639eed Closed html commment. 2013-11-05 14:09:01 -08:00
Michele Comitini e0ea9b78f8 simple fix for wrong type detection of SQLCustomTypes 2013-11-05 16:09:42 +01:00
mdipierro 8e4f92ac64 fixed TeradataAdapter CLOB, thnaks Andrew Willmott 2013-11-03 22:46:20 -06:00
mdipierro 350bd25404 another iteration to col/colgroup in grid, thanks Anthony for advice 2013-11-03 09:26:26 -06:00
mdipierro 6d3fe6cf89 col in colgroup for grid extracolumns, thanks Anthony 2013-11-02 10:09:11 -05:00
mdipierro a3bf95e423 fixed colgroup wrapping, thanks Anthony 2013-11-02 09:26:19 -05:00
mdipierro fc72cdf3d0 change in way args are parsed and less test_routes.py 2013-11-01 20:11:46 -05:00
mdipierro b619bd3db7 minor rewrite in rewrite.py 2013-11-01 18:49:38 -05:00
mdipierro b1631ae2b3 fixed issue 1758:Missing comment parameter in Recaptcha 2013-11-01 18:07:29 -05:00
mdipierro a01aa78f36 fixed issue 1761:Add <col> elements to the grid for easier column formatting, thanks Anthony 2013-11-01 18:01:02 -05:00
mdipierro 975bc64fd0 fixed 1760:option -p or --port not working at command line 2013-11-01 17:45:43 -05:00
hectord 231fa489cb Translate the formatters for DATE/DATETIME_IN_RANGE validators 2013-11-01 22:43:31 +01:00
mdipierro 123f0f8269 Merge pull request #287 from niphlod/issue/1753
fixes issue 1753, web2py.js doesn't set the disabled state for inputs with name
2013-11-01 07:34:56 -07:00
niphlod a6223cc319 fixes issue 1753, web2py.js doesn't set the disabled state for inputs with name 2013-10-31 21:10:37 +01:00
Massimo 8bdc5f20e7 fixed websocket_messaging.py, thanks Junior Phanter 2013-10-31 10:21:38 -05:00
Massimo bb4f3d6e1a fixed issue 1755:IE11 vs gluon.contrib.user_agent - 'browser' key not existing anymore 2013-10-31 10:19:07 -05:00
Massimo 25f54356d4 fixed issue 1755:IE11 vs gluon.contrib.user_agent - 'browser' key not existing anymore 2013-10-31 09:42:03 -05:00
Massimo 5b3b5b6821 fixed issue 1736, Unable to create/re-create cache file error for cache.disk, thanks arglanir 2013-10-31 09:40:39 -05:00
mdipierro 1474a4fe79 link to pythonanywhere 2013-10-30 08:59:55 -05:00
mdipierro c89ed53be1 Merge pull request #286 from ilvalle/fix-editor
fix for empty python file in admin editor
2013-10-29 14:05:21 -07:00
mdipierro e692beafba Merge pull request #285 from niphlod/enhancement/dal_rname
fixed issue with ordereddict in python < 2.7, added rname support also for fields
2013-10-29 14:03:22 -07:00
mdipierro 850ef39bf7 Merge pull request #284 from spametki/master
Admin app: changed string interpolation in T calls
2013-10-29 14:01:38 -07:00
ilvalle 1bbb99b548 fix codemirror gutter managment 2013-10-29 17:24:46 +01:00
ilvalle 7675d605ea fix width after window resize 2013-10-29 17:02:50 +01:00
ilvalle 7d5cdb9220 fix for empty file in admin editor 2013-10-28 10:17:47 +01:00
mdipierro 78089bc0c4 small aesthetic change 2013-10-27 23:22:55 -05:00
mdipierro eb9d7bf5c3 code simplification in wiki 2013-10-27 23:18:01 -05:00
mdipierro 8ce53e8dfa Wiki(...groups=['x','y']) allows to user groups names other then those set in auth_group.role, completely by-passing auth groups and memberships 2013-10-27 22:55:41 -05:00
niphlod 0f2b2daeab fixed issue with ordereddict in python < 2.7, added rname support also for fields 2013-10-27 14:36:38 +01:00
spametki 68ccf6510d admin app: changed string interpolation in T calls 2013-10-27 10:28:23 -03:00
mdipierro d960513ef2 fixed issues 1742:dal Teradata connection issue. cursors not being closed at the end of sessions, thanks awilliman01 2013-10-26 21:46:48 -05:00
mdipierro 1865c0b1dd Merge pull request #283 from spametki/master
Fixed wiki get render method
2013-10-26 18:25:44 -07:00
mdipierro af412e7e24 Merge pull request #282 from michele-comitini/make_executesql_as_dict_ordered
Make executesql as dict ordered
2013-10-26 18:24:57 -07:00
mdipierro a74b1dd1bf Merge pull request #281 from niphlod/enhancement/update_pypyodbc
update pypyodbc to 1.2.0
2013-10-26 18:24:25 -07:00
mdipierro 7d9c853eeb Merge pull request #280 from gi0baro/mongo-binary
Fixing mongodb binary repr
2013-10-26 18:23:52 -07:00
mdipierro 7caf1c0794 Merge pull request #279 from ilvalle/fix-editor
Dynamic tab width in editor settings
2013-10-26 18:23:16 -07:00
spametki 70b3edcbeb Fixed wiki get render method 2013-10-26 21:39:26 -03:00
Michele Comitini 50543724d4 fix a docstring 2013-10-25 23:12:43 +02:00
Michele Comitini ad81e641b3 optionally use OrderedDict in place of dict in executesql 2013-10-25 23:09:46 +02:00
niphlod 429ee8e423 update pypyodbc to 1.2.0 2013-10-25 21:41:50 +02:00
gi0baro 604795d6fc Fixing mongodb binary repr: if value is not a basestring we got type Exception in converting to Binary 2013-10-25 10:40:56 +02:00
ilvalle 6599e08d32 'Highlight current line' & 'Display line numbers' options in admin editor 2013-10-24 16:16:41 +02:00
ilvalle 94ddb6c11f dynamic tab size in admin editor (all tabs are placed along the same line) 2013-10-24 09:48:03 +02:00
mdipierro a514060402 cleaning up pending references 2013-10-23 20:13:43 -05:00
mdipierro fec5ddd150 Merge pull request #278 from niphlod/fix/dal_references
allow unordered references (NOT recommended but still possible with limitations)
2013-10-23 17:46:09 -07:00
mdipierro 811a44fd14 Merge pull request #277 from ilvalle/fix-editor
codemirror 3.19 and directory cleanup
2013-10-23 17:44:15 -07:00
mdipierro 1c5bad24f3 Merge pull request #276 from niphlod/enhancement/scheduler_current
inject W2P_TASK in current, so you can use current.W2P_TASK in imported ...
2013-10-23 17:43:36 -07:00
niphlod 17b4de18d7 allow unordered references (NOT recommended but still possible with limitations) 2013-10-23 21:42:55 +02:00
ilvalle 290cb2f1a7 simplified editor's options management 2013-10-23 14:33:15 +02:00
ilvalle ff7cb99bfe jQuery -> $ in admin editor 2013-10-23 14:07:51 +02:00
ilvalle 339de2fa41 codemirror 3.19 and directory cleanup 2013-10-23 13:31:57 +02:00
Massimo cafab17ee0 syncing 2013-10-22 17:05:52 -05:00
mdipierro 9fa1757ffb Merge pull request #275 from ilvalle/fix-editor
bootstrapSwitch in admin
2013-10-22 15:04:01 -07:00
Massimo e94921c002 fixed issues with Rows.__or__, thanks Anthony 2013-10-22 17:03:54 -05:00
niphlod d30098d646 inject W2P_TASK in current, so you can use current.W2P_TASK in imported modules. Thanks @Xiaonuo for the feature request 2013-10-23 00:03:04 +02:00
mdipierro fba11869b6 Merge pull request #274 from Jaripekkaf/web2py_bs3
bootstrap3 formstyle
2013-10-22 14:59:48 -07:00
ilvalle 453412fa0c added bootstrap switch in editor settings 2013-10-22 17:36:45 +02:00
ilvalle 607897a1b0 boostrap switch plugin in admin 2013-10-22 17:36:19 +02:00
Jaripekkaf 221fdc51ba bootstrap3 formstyle 2013-10-22 13:15:21 +03:00
mdipierro 37551a8517 Merge pull request #272 from niphlod/enhancement/boostrap_232
bumped bootstrap to 2.3.2
2013-10-21 19:34:58 -07:00
mdipierro 8877eab977 Merge pull request #271 from niphlod/enhancement/windows_build
fix building on windows. New handler for gevented webserver
2013-10-21 19:32:34 -07:00
mdipierro 2d0205714c Merge pull request #270 from niphlod/fix/dal_reference
fix for references, DAL tests pass also on MSSQL now
2013-10-21 19:31:50 -07:00
mdipierro 49111345d1 Merge pull request #269 from ilvalle/fix-editor
Fix config to save checkboxes values when they are unchecked (false)
2013-10-21 19:31:14 -07:00
mdipierro 570564b0c4 fixed bug in compileapp models_to_run, thanks Anthony 2013-10-21 21:30:20 -05:00
niphlod 22dd63d77b bumped bootstrap to 2.3.2 2013-10-21 23:17:07 +02:00
niphlod 736311ff9a fix building on windows. New handler for gevented webserver 2013-10-21 12:52:43 -07:00
Massimo 34b377522a allow as_trees to deal with orphan children 2013-10-21 14:32:49 -05:00
niphlod 9f846dbe3c fix for references, DAL tests pass also on MSSQL now 2013-10-21 12:09:47 -07:00
ilvalle 845694beb6 Fix config to save checkboxes values when they are unchecked (false) 2013-10-21 09:57:36 +02:00
mdipierro 665f728946 db().select().as_trees() 2013-10-20 22:55:17 -05:00
mdipierro d879e4a560 db().select().as_tree() 2013-10-20 22:51:03 -05:00
mdipierro 8e1a68d461 simplified logic 2013-10-20 16:58:08 -05:00
mdipierro 2738d12e0f fixed problem with _ot and rname 2013-10-20 16:51:34 -05:00
mdipierro 25148d06fe reverted to rname 2013-10-20 16:48:22 -05:00
mdipierro 4870b197de revering rname 2013-10-20 16:42:52 -05:00
mdipierro 12377794a6 remove actual_name 2013-10-20 15:48:15 -05:00
mdipierro bf27623756 Merge branch 'master' of github.com:web2py/web2py 2013-10-20 15:47:10 -05:00
mdipierro 9afdf01430 PRAGMA foreign_keys=ON by default 2013-10-20 15:46:41 -05:00
mdipierro 80f16dadde Merge pull request #263 from niphlod/enhancement/dal_rname
add support for rname (meaning "real name") for table names
2013-10-20 13:45:00 -07:00
mdipierro a68ac4fc02 Merge pull request #268 from spametki/master
imap: use common field types plus appadmin support
2013-10-20 07:56:59 -07:00
mdipierro 3dde465427 Merge pull request #267 from ilvalle/fix-editor
Tab width (new option in editor settings)
2013-10-20 07:56:18 -07:00
spametki f77232740c imap: return to common field type for attachment and content plus appadmin imap support 2013-10-20 08:38:07 -03:00
ilvalle 56f251ca0c tab size in editor settings and better options management 2013-10-20 08:40:05 +02:00
mdipierro 9282bfcc60 fixed issue 1732:ignore_common_filters missing in appadmin, thanks mweissen 2013-10-19 17:41:17 -05:00
mdipierro 8d0bbbc9f1 Merge pull request #266 from niphlod/rm/windows_service
remove winservice support
2013-10-19 15:34:56 -07:00
mdipierro ee33f2a4a8 Merge pull request #265 from spametki/master
Fixed imap get_last_message to return positive integer (google code issue 1729)
2013-10-19 15:33:46 -07:00
mdipierro ab313c2d4d Merge pull request #264 from ilvalle/fix-editor
Code folding in admin editor
2013-10-19 15:32:03 -07:00
spametki 4c1de287cd dal imap: strip native folder names (google code issue 1734) 2013-10-19 16:50:20 -03:00
niphlod 9ea9f828bc remove winservice support 2013-10-19 20:44:56 +02:00
spametki 58e4cd91cc Fixed imap get_last_message to return positive integer 2013-10-19 09:57:08 -03:00
ilvalle b5f17b1acb code folding in editor settings 2013-10-19 12:22:24 +02:00
ilvalle e9c884d674 experimental code folding feature in admin editor 2013-10-19 12:18:46 +02:00
Massimo 492953c7f0 t -m "editor cleanup, thanks Paolo"
Merge branch 'master' of github.com:web2py/web2py
2013-10-18 12:31:13 -05:00
mdipierro dd8d9d9d8d Merge pull request #261 from ilvalle/fix-editor
Editor cleanup
2013-10-18 10:30:36 -07:00
Massimo 9ff32ed9cd setup-web2py-debian-sid.sh, thanks Rusy 2013-10-18 12:27:23 -05:00
niphlod c9b0c4547a add support for rname (meaning "real name") for table names 2013-10-18 00:09:32 +02:00
ilvalle 037b499cb2 correct editor's mode when editing javascript 2013-10-17 16:32:22 +02:00
ilvalle f4fc987597 editor cleanup (second pass) 2013-10-17 16:20:06 +02:00
ilvalle 580bc6fd6e editor works again when is_mobile=True (No tabs when is mobile) 2013-10-17 16:10:53 +02:00
ilvalle c91e6160fe initial editor cleanup and html fix 2013-10-17 15:25:12 +02:00
mdipierro 13c6c1ad37 Merge pull request #260 from spametki/master
New admin app plugin download
2013-10-16 07:15:08 -07:00
mdipierro 0faa7d3174 removed print statment, thanks Johann 2013-10-16 09:11:28 -05:00
mdipierro cfe7c65987 fixed issue 1725:No debugging under WingIDE, thanks Joe 2013-10-16 09:09:22 -05:00
mdipierro c5a2706c1b fixed issue 1724:webclient no longer handles integer post data, thanks iiijjjiii 2013-10-16 09:03:19 -05:00
mdipierro a379d7020e fixed issue 1723:Missing translation for the word file in the upload widget, thanks mweissen 2013-10-16 09:00:42 -05:00
mdipierro a74a16cfba fixed issue 1719:decorators ignore routes, thanks vladsalehov 2013-10-16 08:56:53 -05:00
spametki 37e0e1c384 Added missing plugin download views 2013-10-14 15:12:14 -03:00
spametki 62061ae737 admin app plugin download feature 2013-10-14 15:05:20 -03:00
mdipierro 8fe2680f80 R-2.7.4 2013-10-14 10:14:58 -05:00
mdipierro 09a747ce59 Merge pull request #256 from niphlod/enhancement/test_validators
removed unmaintained test.sh, ported validators doctests to unittests (and more added), fixed an issue with IS_MATCH() that never worked
2013-10-14 06:39:58 -07:00
mdipierro 2b34f738b1 Merge pull request #259 from niphlod/enhacement/mssql_limit
mssql 2012 support for pagination
2013-10-13 18:50:08 -07:00
mdipierro 050c4075b8 Merge pull request #258 from niphlod/issue/graph_contenttype
return the correct content-type for the graph
2013-10-13 18:48:56 -07:00
mdipierro e64a6d6129 Merge pull request #257 from niphlod/enhancement/admin_static_version
response.static_version support in admin
2013-10-13 18:48:04 -07:00
niphlod b27537a44b mssql 2012 support for pagination
enable true pagination support for MSSQL
2013-10-13 14:02:04 -07:00
niphlod db8ce08794 return the correct content-type for the graph 2013-10-13 21:29:32 +02:00
niphlod 4b2f599f4b response.static_version support in admin 2013-10-13 21:26:17 +02:00
niphlod 78a0fe0769 removed unmaintained test.sh, ported validators doctests to unittests, fixed an issue with IS_MATCH() that never worked 2013-10-13 17:48:07 +02:00
mdipierro 927a1362af Merge pull request #255 from spametki/master
IMAP: insert support for base64 attachment payload
2013-10-13 06:27:16 -07:00
mdipierro 7e31612c3c Merge pull request #254 from pochmann/master
Improvements for number range validators
2013-10-13 06:26:27 -07:00
mdipierro fbf75915f4 Merge pull request #253 from michele-comitini/issue-1710
use appropriate module for IPython 1.0.0
2013-10-13 06:24:13 -07:00
mdipierro bf3d0bdd3d fixed problem with compileapp and compiled apps 2013-10-13 08:10:56 -05:00
Stefan Pochmann 20cdd86fcf simpler integer validation test 2013-10-12 22:42:27 +02:00
spametki c6f048adc7 IMAP: insert support for base64 attachment payload 2013-10-12 17:28:57 -03:00
Michele Comitini 1451997172 use appropriate module for IPython 1.0.0 2013-10-12 21:52:30 +02:00
Stefan Pochmann 351a59033f unified and easier number range validator constructors 2013-10-12 21:46:17 +02:00
Stefan Pochmann 34bfe4527d consistency in error messages of number range validators 2013-10-12 21:22:11 +02:00
Stefan Pochmann 667069b573 Corrections for IS_INT_IN_RANGE 2013-10-12 21:10:29 +02:00
mdipierro c3a7486930 fixed json contenttype in ajax_aditor.js, thanks Paolo 2013-10-12 09:48:13 -05:00
mdipierro 1a2a69b21a Merge pull request #252 from timrichardson/issue/1692v3
Issue/1692v3 OK merged my fix for virtual fields when fields argument is specified
2013-10-12 07:23:25 -07:00
mdipierro 06168c5364 Merge pull request #251 from niphlod/enhancement/build_with_bbfreeze
build web2py also with bbfreeze
2013-10-12 07:21:37 -07:00
mdipierro a0ab8b9432 Merge pull request #250 from timrichardson/issue/1715
Add git pull and git push to the experimental mobile interface
2013-10-12 07:20:26 -07:00
mdipierro 0eab440a8a Merge pull request #248 from robertop23/master
New Codemirror option in editor config page to enable/disable autoclose-tag
2013-10-12 07:17:44 -07:00
robertop23 567e36badf Added extraKeys 'Shift-Tab' to codemirror 2013-10-12 08:11:40 -04:30
Tim Richardson cff267c9c6 This fixes SQLFORM.grid virtualfields with fields= 2013-10-12 23:25:59 +11:00
niphlod cf8ee0acac build web2py also with bbfreeze 2013-10-12 14:25:30 +02:00
Tim Richardson f387c4c358 Add git pull and git push to the experimental mobile interface 2013-10-12 17:08:02 +11:00
Tim Richardson c526cedd41 completed merge of virtual fields in fields arguemnt for SQLFORM.grid 2013-10-12 14:37:14 +11:00
mdipierro 5551a018ac fixed unnecessary escaping in regex, thanks Stefan Pochmann 2013-10-11 22:36:39 -05:00
robertop23 3744d9b71d Select option added in editor config button to enable/disable autoclosetag in html mode 2013-10-11 22:31:22 -04:30
Tim Richardson 436bd7b39c fix virtual fields with SQLFORM.grid fields=
Conflicts:
	gluon/sqlhtml.py
2013-10-12 13:59:39 +11:00
robertop23 4233383a98 Unused codemirror directories removed 2013-10-11 22:25:07 -04:30
mdipierro 1356dc1ef0 +-int in IS_INT validator 2013-10-11 20:42:51 -05:00
mdipierro 484cc81a73 Merge branch 'master' of github.com:web2py/web2py 2013-10-11 19:42:00 -05:00
mdipierro 914caadeec fixed onlogout next 2013-10-11 19:31:12 -05:00
mdipierro 1770fa0026 Merge pull request #246 from erikmontes/patch-1
Typo correction
2013-10-11 16:37:07 -07:00
mdipierro 63224e8ce6 2.7.3 2013-10-11 18:10:57 -05:00
mdipierro ff7f9568db fixed validation of nagtive integers, thanks Stefan 2013-10-11 18:06:57 -05:00
mdipierro 3635dd8faf fixed problem with Virtual Fields and grid 2013-10-11 17:59:30 -05:00
mdipierro d5fda056ff simplified logic for number validators 2013-10-11 17:07:17 -05:00
mdipierro d8e8d1d597 fixed problem with IS_INT_IN_RANGE for large numbers 2013-10-11 16:59:05 -05:00
mdipierro 59290534bc fixed issue 1708:gae memcache_contrib does not set the time_expire, thanks Nicholas 2013-10-09 11:58:15 -05:00
mdipierro 8fb0b71be6 fixed compilerapp sorting issue, better 2013-10-09 11:31:33 -05:00
mdipierro ddc0fc9949 fixed compilerapp sorting issue, possibly 2013-10-09 11:15:07 -05:00
mdipierro 5428fdbd04 reverted error commit 2013-10-09 09:07:00 -05:00
Erik Montes c8a20b0d32 Typo correction
"simply" not "simple"
2013-10-08 17:55:31 -07:00
Massimo 98f2bfbfb6 Merge branch 'master' of github.com:web2py/web2py 2013-10-08 11:39:30 -05:00
Massimo d780d26cc9 merge heads 2013-10-08 11:38:28 -05:00
mdipierro a5711bd933 Merge pull request #244 from timrichardson/issue/1692
fix for Issue 1692 virtual fields in SQLFORM.grid
2013-10-08 09:35:51 -07:00
mdipierro b96cde2f77 Merge pull request #243 from cccaballero/master
more spanish translations
2013-10-08 09:34:16 -07:00
Tim Richardson a3f3ed1298 fix for Issue 1692 virtual fields in forms 2013-10-08 13:31:36 +11:00
mdipierro 5f34193ac7 fixed demo mode 2013-10-07 09:17:51 -05:00
cccaballero 6fe6852a0c more spanish translations
more spanish translations
2013-10-07 09:49:48 -04:00
mdipierro 961d143f7d 2.7.2 2013-10-07 08:40:39 -05:00
mdipierro 0e98544a79 Merge pull request #242 from rhr/master
fix for using the shell with IPython >= 1.0
2013-10-06 19:37:56 -07:00
mdipierro 86d8b8dece Merge pull request #241 from spametki/master
IMAP fixed patch for google code issue 1707
2013-10-06 19:37:11 -07:00
Rick Ree 46e2a663e9 fix for using the shell with IPython >= 1.0 2013-10-06 17:18:04 -05:00
spametki e7fbd0095f IMAP google code issue 1707: fixed patch 2013-10-06 14:39:23 -03:00
mdipierro add6fa526e fixed regex status in http.py 2013-10-06 11:52:23 -05:00
mdipierro 47e77e9a9c Merge pull request #239 from abastardi/patch-1
Fixed problem with Rows.render
2013-10-06 08:15:09 -07:00
mdipierro 81036ac997 Merge pull request #237 from alfonsodg/master
Added gitignore restrictions and changes for admin.py
2013-10-06 08:13:58 -07:00
mdipierro 77df883566 Merge pull request #236 from niphlod/enhancement/anyserver_options
fixed gevent workers
2013-10-06 08:11:03 -07:00
mdipierro bfc7e3b4e9 Merge pull request #238 from houdinihound/patch-1
Support for HTTP Status Code: 429 - Too Many Requests
2013-10-06 08:09:52 -07:00
spametki e05fe15470 IMAP .insert support for custom date (Google Code issue 1707) 2013-10-06 12:09:44 -03:00
mdipierro 2a062a2ff5 fixed setup scripts for apache to use processes, not threads, thanks Thomas 2013-10-06 10:08:40 -05:00
abastardi 44e7b70dbc Fixed problem with Rows.render 2013-10-06 09:04:47 -04:00
Jose C 88abefb896 Support for HTTP Status Code: 429 - Too Many Requests
Currently raising HTTP 429 results in HTTP 500 being sent.  This patch resolves that issue.
2013-10-05 15:42:48 +01:00
mdipierro 06ca5e6857 grid refcator patch for ajax, thanks Niphlod 2013-10-05 08:52:45 -05:00
Alfonso de la Guarda Reyes c1f8d34892 Minor fixes for pep and styles widget.py 2013-10-05 08:08:37 -05:00
Alfonso de la Guarda Reyes 5679661914 Minor fixes for pep and style 2013-10-05 08:03:50 -05:00
Alfonso de la Guarda Reyes cd957cf52b Fixes for some pep and code syntax 2013-10-05 07:59:04 -05:00
Alfonso de la Guarda Reyes fff798c1cc Added restriction for .idea inside gitignore 2013-10-05 07:51:12 -05:00
niphlod b464d3185e fixed gevent workers 2013-10-05 13:43:03 +02:00
mdipierro cfb68ff90f fixed ldap_auth.py 2013-10-04 21:31:39 -05:00
mdipierro 8418fca2f6 R-2.7.1 2013-10-04 15:14:53 -05:00
mdipierro 68c0baeb22 R-2.7.1 2013-10-04 15:04:25 -05:00
mdipierro 700fd846a8 fixed a problem with grid 2013-10-04 14:56:16 -05:00
mdipierro 72a7643cde fixed issue 1704, groups in ldap, thanks Peter Gastinger 2013-10-04 14:41:19 -05:00
mdipierro 6b0177979f fixed issue 1705, sorting of model, thanks Anthony 2013-10-04 14:39:32 -05:00
mdipierro 7eb67fe6fa fields with readable=False should not be exportable from grid 2013-10-04 00:16:30 -05:00
mdipierro 5be65e8bd4 fixed issue 1697:gae memcached is not storing anything, thanks Yair 2013-10-03 08:40:19 -05:00
mdipierro 46903a3732 fixed issue 1698:Application Name Containing a Period . Not Supported, thanks Anton 2013-10-03 08:37:42 -05:00
mdipierro c5b9b4d723 fixed issue 1700:DAL contains is not working on MSSQL 2013-10-03 08:33:57 -05:00
mdipierro 302a985aa7 fixed self.settings.table_<> 2013-10-03 08:19:34 -05:00
mdipierro 21a11ec47a removing garbage from admin it.py 2013-10-02 18:44:42 -05:00
mdipierro 814f4f4b4c fixed issue 1701:Restore menu/page after end of impersonation, thanks kmouts 2013-10-02 18:36:32 -05:00
mdipierro 87eeaaf028 fixed bug in stripe.py 2013-10-02 13:29:14 -05:00
mdipierro b44aefc384 fixed some problems with StripeForm 2013-10-02 11:42:02 -05:00
mdipierro e2c940532d new gluon.contrib.strip.StripeForm for PCI compliant payments 2013-10-02 11:06:30 -05:00
Massimo 66d6b3b511 fixed issue 1696:webclient not built to handle lists, thanks Yair 2013-10-01 15:25:34 -05:00
mdipierro f0010f320e Merge pull request #233 from niphlod/issue/taskbar
fixed import for taskbar
2013-10-01 13:18:01 -07:00
niphlod f092530a8c fixed import for taskbar 2013-10-01 20:46:00 +02:00
mdipierro 11a9fa345d Merge pull request #232 from timrichardson/issue/1695
Updated jquery-ui css resource to fix 404 error
2013-10-01 08:04:16 -07:00
Tim Richardson a1c2019960 Updated jquery-ui css resource to fix 404 error 2013-09-29 06:47:19 +10:00
mdipierro 96e17ff1db SQLFORM.grid(...,ignore_common_filters=True) 2013-09-27 13:08:02 -05:00
mdipierro 4292cf38d9 more translations, thanks Vladyslav 2013-09-26 21:26:55 -05:00
mdipierro fcba1650a0 Merge pull request #231 from ilvalle/cm-3.18
codemirror 3.18 with enabled the fullscreen addon
2013-09-26 14:37:47 -07:00
Paolo ddf1998d49 codemirror 3.18 with enabled the fullscreen addon 2013-09-26 21:52:53 +02:00
Massimo 633acffd28 made form session logic backward compatible 2013-09-26 13:35:39 -05:00
Massimo 09ba525f2e possible fix to issue 1688, support for multiple forms with same formname in different browser pages 2013-09-26 11:26:08 -05:00
mdipierro a8cbb1590d Translation of An 2013-09-26 07:56:49 -05:00
mdipierro 89971d1cb5 revised markmin.html, thanks Vladyslav 2013-09-25 19:54:42 -05:00
mdipierro 35180d61fa simplification in auth multilogin 2013-09-25 09:44:37 -05:00
mdipierro 8954d90ada minor change in languages/it.py 2013-09-25 09:08:40 -05:00
mdipierro c0d399680e Merge pull request #227 from letolabs/fix_min_web2py
Update location of handlers so that make_min_web2py.py works again
2013-09-24 15:24:39 -07:00
mdipierro 528dd912d8 Merge pull request #228 from niphlod/enhancement/trapped_links
pass the correct element when trapping links
2013-09-24 15:23:07 -07:00
niphlod cb6ae0516c pass the correct element when trapping links 2013-09-25 00:09:19 +02:00
Jonathan "Duke" Leto 4e1ad9bfa8 Update location of handlers to that make_min_web2py.py works again
The location of the handlers changed in 07f74c6362 and since then
this error blocked the creation of a minizimed web2py instance:

IOError: [Errno 2] No such file or directory: 'fcgihandler.py'
2013-09-24 13:44:38 -07:00
Massimo 6bea258722 update pbkdf2_ctypes.py to upstream, thanks Michele 2013-09-24 13:52:52 -05:00
mdipierro 554a52d548 Merge pull request #226 from michele-comitini/master
update pbkdf2_ctypes.py to upstream
2013-09-24 11:51:34 -07:00
Massimo 1a17655ef1 fixed line not found issues in set breakpoint, thanks Mariano 2013-09-24 13:51:08 -05:00
Massimo 5af2db1ff8 Merge branch 'master' of github.com:web2py/web2py 2013-09-24 13:48:49 -05:00
Massimo a8567ae9ed syncing 2013-09-24 13:45:14 -05:00
mdipierro 40925165e6 Merge pull request #225 from reingart/master
fixed line not found issues in set breakpoint (linecache patch, used by the debugger)
2013-09-24 11:44:22 -07:00
mdipierro eb4942a38d Merge pull request #224 from niphlod/enhancement/sessions2trash.py
session2trash.py: easier to use within a module, e.g. in the scheduler
2013-09-24 11:41:29 -07:00
Massimo 5f9d8a9cc2 no more if len(dpost) 2013-09-24 13:37:25 -05:00
Massimo b67141b1ef fixed problem with ENABLED/DISABLED, issue 1689 2013-09-24 13:29:54 -05:00
Michele Comitini 9f69b9aa42 still support for python2.5 2013-09-24 20:01:51 +02:00
Michele Comitini 18cdade705 added support for python2.5 2013-09-24 18:37:10 +02:00
Michele Comitini 7eb8a604bd update pbkdf2_ctypes.py to upstream 2013-09-24 18:03:49 +02:00
Mariano Reingart d55470f753 fixed line not found issues in set breakpoint (linecache patch, used by the debugger) 2013-09-24 02:52:01 -03:00
mdipierro c4042dc475 improved es.py, thanks mcamel and Vladyslav 2013-09-23 16:33:06 -05:00
niphlod 0688c86dee easier to use within a module, e.g. in the scheduler 2013-09-23 22:41:37 +02:00
mdipierro d111f331ca fixed issue 1196:add language subfolders, thanks jamarcer 2013-09-23 14:54:29 -05:00
mdipierro f622f2936a Merge pull request #223 from robertop23/master
Fixes and improvements in admin editor
2013-09-23 08:35:05 -07:00
mdipierro 4e017d3ffa Merge pull request #222 from charleslaw/master
Various Minor Auth Additions
2013-09-23 08:34:28 -07:00
Roberto Perdomo 2ebf0d12ed Fix lost flash message in case of error when save editor (crtl-s). Change Esc to Ctrl-Esc to exit from Fullscreen mode, because this cause collision with the Vim mode (Esc key). Add a select into the config button to select 'default', 'vim' or 'emacs' editor 2013-09-22 18:36:28 -04:30
mdipierro d547a9d6ea added nl, es plural rules, thanks Vladyslav 2013-09-22 10:10:28 -05:00
mdipierro afdb028070 R-2.6.4 2013-09-21 20:42:19 -05:00
mdipierro 80d4615f32 R-2.6.4 2013-09-21 20:24:31 -05:00
Charles Law cb7753af2a add a hook for a pre registration message 2013-09-21 19:48:21 -04:00
mdipierro 5a12a7fb31 manually committed pull 221, update vars only if FieldStorage holds actually something, thanks Niphlod 2013-09-21 18:15:27 -05:00
Charles Law d4bceef5b4 Send username/email in verification email 2013-09-21 18:47:41 -04:00
Charles Law 931082f426 add password class to 2nd password registration field 2013-09-21 18:35:34 -04:00
Charles Law 333fb4ebd8 allow for a multi_login option that accepts both emails and usernames 2013-09-21 18:21:34 -04:00
Charles Law 27b6319f2e have more descriptive messages for username issues 2013-09-21 15:42:10 -04:00
Charles Law 70d8b2d755 show message when an email is already taken 2013-09-21 15:16:06 -04:00
mdipierro 17c10b8a45 things got out of sync 2013-09-20 21:28:26 -05:00
mdipierro f8e2c8e319 new validator IS_LIST_OF_EMAILS 2013-09-20 21:17:05 -05:00
mdipierro 9ea82fdaaf fixed issue 1686:admin editor files menu hidden when codemirror is in fullscreen mode, thanks Paolo Caruccio 2013-09-20 20:57:29 -05:00
mdipierro 3d01a83c85 Merge pull request #220 from bunnyhugdev/master
Edited cookie handling code when using a db to store sessions
2013-09-20 12:51:49 -07:00
Joel Rathgaber 13f8b1a10c Edited cookie handling code when using a db to store sessions
- Session id cookie is always sent back to client in response
- When no cookie is sent in as a request, a new session id is created
2013-09-20 13:29:50 -06:00
Massimo f78e172eda fixed issue 1673, propagation for format in archive tables 2013-09-20 12:47:15 -05:00
mdipierro bd452f90b2 session._fixup_before_save 2013-09-20 08:36:52 -05:00
mdipierro 2b1f150f02 relaxed REST conditions 2013-09-19 22:18:45 -05:00
mdipierro e7a9457249 fixed problem with widget and list:string 2013-09-19 22:03:37 -05:00
mdipierro d3ab2e73d5 support for driver mysql.connector, thank you Josiel Santos 2013-09-19 21:44:12 -05:00
mdipierro 860f40ca63 added support for 3letter language files, issue 1680, thanks Fran 2013-09-19 21:33:31 -05:00
mdipierro 59a7db56a4 fixed major problem with persistance of session.flash 2013-09-19 20:51:11 -05:00
mdipierro 01e5107a96 possible fix to issues 1682, REST and DELETE 2013-09-19 18:33:27 -05:00
mdipierro 8765dbbe0f an attempt to fix 1685 2013-09-19 18:26:35 -05:00
mdipierro d125b0b95b expires can be str or datetime 2013-09-19 18:03:35 -05:00
mdipierro 1d2fc4b8f5 simpler logic in parse POST but not functional difference 2013-09-19 17:47:29 -05:00
mdipierro 146ea115bf Merge pull request #219 from niphlod/enhancement/ajax_page_notarget
fixed issue when target is none. removed useless file in admin/static/js
2013-09-19 14:44:03 -07:00
niphlod 4f44188997 fixed issue when target is not none. removed useless file in admin/static/js 2013-09-19 21:52:45 +02:00
mdipierro ac5fb303eb Merge pull request #218 from mpranjic/masterfix
startswith, endswith and contains for upload fields
2013-09-19 12:10:07 -07:00
mdipierro 31a14997f8 Merge pull request #216 from ilvalle/ajax_title
Set document title when an ajax fragment has got a <title> element
2013-09-19 12:09:01 -07:00
mpranjic 4cd4ff2c5e startswith, endswith and contains for upload fields 2013-09-19 10:58:23 +02:00
Massimo 26ef508966 added some missing files, is admin/static/js/jquery-1.10.0.min.map correct? 2013-09-18 14:37:28 -05:00
Paolo 28b4badb9a concatenation of filter and find for a better <title> discovery 2013-09-18 17:33:54 +02:00
mdipierro 8e2e2420b0 fixed style of edit in admin 2013-09-18 10:18:31 -05:00
mdipierro 67349627f4 Merge pull request #214 from niphlod/fix/admin_emmet
fixes keyboard shortcuts in admin when modifying js or css files
2013-09-18 08:05:49 -07:00
mdipierro cfe825f94a Merge pull request #213 from spametki/master
Fix imap insert multipart detection
2013-09-18 08:05:05 -07:00
mdipierro 53e79915fa skip virtual fields on AttributeError 2013-09-18 08:29:31 -05:00
ilvalle 9fb5f688ed Set document title if an ajax fragment has a <title> element 2013-09-18 09:15:06 +02:00
mdipierro c2cdae0615 new setup_exe.py, thanks Niphlod 2013-09-17 08:31:01 -05:00
mdipierro 2516bb59a1 fixed issue 1679:auth.navbar() duplicates first link if mode is 'default', thanks wkl 2013-09-16 08:55:43 -05:00
mdipierro 13c78fae58 R-2.6.3 2013-09-15 12:00:13 -05:00
mdipierro 91c0a31800 R-2.6.3 2013-09-15 11:51:01 -05:00
mdipierro 277137c8e6 R-2.6.3 2013-09-15 11:48:32 -05:00
mdipierro 4556a355a2 fixed a problem with CRYPT password length 2013-09-15 11:46:46 -05:00
mdipierro 7dafb07438 added a extra level of protection for long passwords, even if IS_LENGTH validator is missing 2013-09-15 09:40:15 -05:00
niphlod 3c8e7a1364 fixes keyboard shortcuts in admin when modifying js or css files 2013-09-15 11:23:58 +02:00
spametki 921cd46c10 Fix imap insert multipart detection 2013-09-14 16:03:41 -03:00
mdipierro b0f6dc4e16 R-2.6.2 2013-09-13 17:44:01 -05:00
mdipierro 1499b19575 R-2.6.2 2013-09-13 17:41:13 -05:00
mdipierro 877b867cef Merge pull request #212 from niphlod/fix/js_punctuation
never got to understand ASI. Let's behave and have a semicolon.
2013-09-13 15:27:46 -07:00
niphlod 837808bd77 never got to understand ASI. Let's behave and have a semicolon. 2013-09-14 00:22:53 +02:00
mdipierro 10a69f4338 removed circular import for validators 2013-09-13 17:14:47 -05:00
mdipierro 7bc603f380 fixed Pointless to set session.flash before session.renew, thanks nursix 2013-09-13 15:41:58 -05:00
mdipierro 6c1cc6fc96 tabs -> spaces 2013-09-13 15:39:39 -05:00
mdipierro ed9def985e R-2.6.1 2013-09-12 17:08:52 -05:00
mdipierro be57c3ab5b conditional renew sessions on login/logout 2013-09-12 16:31:41 -05:00
mdipierro 809a004a60 no more scripts/cleanup.py 2013-09-11 22:38:52 -05:00
mdipierro 6129805194 removed dbsession2trash.py since functionality duplicated in session2trash.py 2013-09-11 14:59:47 -05:00
mdipierro 06475f2050 adding scripts/cleanup.py to remove all sessions and errors 2013-09-11 12:15:03 -05:00
mdipierro b6f8f9be75 Merge branch 'master' of github.com:web2py/web2py 2013-09-11 11:22:21 -05:00
mdipierro cc524592c4 Merge pull request #209 from michele-comitini/custom_jsonrpcexception
Allow raising a custom Service.JsonRpcException inside a jsonrpc2 action
2013-09-11 09:22:04 -07:00
Michele Comitini 53bca4e178 Allow raising a custom Service.JsonRpcException inside a jsonrpc2 action. 2013-09-11 18:01:37 +02:00
mdipierro e060b2936f new CHANGELOG, thanks Niphlod 2013-09-10 15:30:02 -05:00
Massimo deb0e89240 merged pull 27, thanks Niphlod 2013-09-09 17:08:16 -05:00
niphlod 5951ce2aef fixed redis_session.py, thanks @Giovanni for pointing 2013-09-09 21:32:26 +02:00
mdipierro 16b95b8132 fixed wrong validation of record_id in globals 2013-09-09 14:28:58 -05:00
mdipierro 69d5fb1d64 fixed link in toolbar, issue 1670 2013-09-09 14:17:25 -05:00
mdipierro dfaf3a6667 Merge pull request #206 from nursix/master
Add 'set' to serializable types in Query.as_dict
2013-09-09 10:53:26 -07:00
mdipierro 0a3b594446 Merge pull request #205 from ilvalle/web2py.js
More control over the destination container of a web2py_ajax call
2013-09-09 10:52:39 -07:00
mdipierro fa08fd6703 Merge pull request #204 from niphlod/issue/1640
grid search widget always use ISO format for date(time) fields
2013-09-09 10:51:44 -07:00
Dominic König 01c0d14396 Add 'set' to serializable types in Query.as_dict 2013-09-09 14:59:29 +02:00
ilvalle 5176890ff3 updated web2py.js for all apps (examples and admin) 2013-09-09 08:43:07 +02:00
ilvalle 029915f2f9 Container target is now part of the event fired by ajax_page 2013-09-09 08:35:24 +02:00
mdipierro 2a0f481b42 updated changelog for 2.6.1 2013-09-08 21:36:42 -05:00
niphlod 4089001d99 grid search widget always use ISO format for date(time) fields 2013-09-08 18:27:37 +02:00
mdipierro 30f01a2e79 removed unwanted print statement, thanks Luca 2013-09-07 22:05:01 -05:00
mdipierro aacbb5cef8 reverted previous patch 2013-09-07 21:01:30 -05:00
mdipierro bf89d42c00 Merge pull request #203 from lucadealfaro/master
Update validators.py
2013-09-07 18:47:32 -07:00
Luca de Alfaro fae29bf0e1 Update validators.py
Updated the IS_DATETIME validator; otherwise it would fail when creating a new record with SQLFORM, for dates that have an empty default.
2013-09-07 16:57:17 -07:00
mdipierro b0f6f29de5 Merge pull request #202 from niphlod/enhancement/working_status
streamlined the "working..." status handling and added an example
2013-09-07 07:22:14 -07:00
niphlod a6baead531 streamlined the "working..." status handling and added an example 2013-09-07 15:34:03 +02:00
mdipierro 31a5e28f9a some cleanup 2013-09-06 16:29:20 -05:00
mdipierro 173d669206 fixed makefile for new folder structure 2013-09-06 16:19:20 -05:00
mdipierro d129539e62 fixed routes.pattern.example.py 2013-09-06 15:38:01 -05:00
mdipierro 58e02c6f24 fixed prefix in markmin ...:cite 2013-09-06 15:35:27 -05:00
mdipierro 6203fcb852 moved settings.cfg to admin 2013-09-06 15:18:17 -05:00
mdipierro 62b59a023d fixed merge 2013-09-06 14:45:52 -05:00
mdipierro faeecbfc94 renamed routes.patterns.example.py and routes.parametric.example.py files 2013-09-06 14:33:24 -05:00
mdipierro 7f11ec177a reverting last patch 2013-09-06 14:21:23 -05:00
mdipierro ceae454386 Merge pull request #199 from pyner/master
download static file via http
2013-09-06 12:00:35 -07:00
mdipierro cd7dd52002 Merge pull request #201 from michele-comitini/table_init_speedups
little speedup for table init
2013-09-06 11:58:58 -07:00
mdipierro 82950a621c Lazy tables recursion fix 3, thanks Michele and Anthony 2013-09-06 13:55:34 -05:00
mdipierro b885f7e2b6 Merge pull request #200 from michele-comitini/lazy_tables_recursion_fix_3
Lazy tables recursion fix 3
2013-09-06 11:52:37 -07:00
Michele Comitini af073a2af1 little speedup for table init 2013-09-06 15:15:34 +02:00
Michele Comitini 59c758368a try to reduce recursion in Row.__getitem__ 2013-09-06 14:48:09 +02:00
Michele Comitini 69ef29bc2d trying to fix some speed issues 2013-09-06 05:56:17 +02:00
Michele Comitini 2baa1af264 fix for recursive selects on lazy tables 2013-09-06 05:09:34 +02:00
Michele Comitini f96f89b14d Merge ssh://github.com/web2py/web2py 2013-09-06 05:01:33 +02:00
mdipierro fceb9a57ce auth.crsf_prevention = False 2013-09-05 17:26:40 -05:00
mdipierro 3bb31b1f09 auth.crsf_on = False 2013-09-05 17:23:53 -05:00
mdipierro def5ba3d4f Merge pull request #198 from niphlod/enhancement/double_submission
help preventing double submissions for normal forms too.
2013-09-05 12:24:53 -07:00
mdipierro dbf2202630 Merge pull request #197 from spametki/master
DAL dict parameters (issue 1639). Fixed tests (again)
2013-09-05 12:24:01 -07:00
mdipierro 11d0c28f91 toolbar and ajax fix patch 2013-09-05 09:48:40 -05:00
Michele Comitini 59c3c981d3 Merge ssh://github.com/web2py/web2py 2013-09-05 11:17:43 +02:00
Samuel 1b91e746ca download file via http 2013-09-04 16:57:04 -05:00
mdipierro f171777da5 fixed problem with handlers in zip 2013-09-04 16:33:37 -05:00
mdipierro 5b32e3e2a9 fixed problem with missing .py in zip 2013-09-04 16:30:14 -05:00
mdipierro 832a603939 fixed problem with missing .py in zip 2013-09-04 16:27:42 -05:00
niphlod 79bd1d2e24 help preventing double submissions for normal forms too. Helps with issue #1644 2013-09-04 23:22:41 +02:00
spametki 44aa9483a4 Cast keys recursively including iterables (issue 1639 syntax error) 2013-09-04 16:19:59 -03:00
mdipierro cbcc9bc8ff Merge branch 'master' of github.com:web2py/web2py 2013-09-03 20:37:28 -05:00
mdipierro a9d20cf3b4 Merge pull request #195 from niphlod/enhancement/datetime_js_widgets
attach datetime/date/time validators only on events
2013-09-03 18:37:11 -07:00
spametki af202868bc Merge branch 'dictionary-db-defs'
Tries to fix issue 1639
2013-09-03 19:41:48 -03:00
niphlod cd30382c0e attach datetime/date/time validators only on events 2013-09-03 20:52:25 +02:00
Massimo e724e13564 fixed cron deadlock on windows, thanks Helko Besemann 2013-09-03 11:53:18 -05:00
Massimo fd000fe35b preventing un-necessary fetch, thans Anthony and Villas 2013-09-03 09:53:42 -05:00
mdipierro 099e02fe64 fixed issue 1507, menu links problems with mobile user agent, thanks Paolo Valleri 2013-09-02 20:43:10 -05:00
mdipierro 6a1d83b2f4 Merge pull request #194 from alfonsodg/master
Fixing some typos inside tests and unneeded modules
2013-09-02 18:37:49 -07:00
mdipierro 74cb6c3de6 backported safe_eval to python 2.5 2013-09-02 20:33:19 -05:00
mdipierro 31904d58bd backported safe_eval to python 2.5 2013-09-02 20:30:30 -05:00
Alfonso de la Guarda Reyes a51d087797 Fixing some typos inside tests and unneeded modules 2013-09-02 19:32:26 -05:00
spametki b5039a5a6e Switched table definition order at test_dal.py 2013-09-01 19:16:45 -03:00
spametki a634ff7954 Applied patch for issue 1639 2013-09-01 18:13:51 -03:00
mdipierro 0b501612ad fixed issue 813:archive table current_record field label is translated by default 2013-09-01 14:14:20 -05:00
mdipierro 9729005fff better import errors (issue 1368) 2013-09-01 13:35:17 -05:00
mdipierro ca85afeb2f fixed issue 1342:MySQL, self-reference, and null values 2013-09-01 13:12:30 -05:00
mdipierro b7f46c969f multiple renderers for wiki (issue 1298), thanks Alan and sorry this took forever 2013-09-01 12:44:02 -05:00
mdipierro 866d6c6db4 admin design page should not show more than 1000 files 2013-09-01 12:41:24 -05:00
mdipierro a68ac572ab Wiki(..., force_render=True) 2013-09-01 12:38:11 -05:00
mdipierro 085b4a0d15 fixed issue 1616:possible problem with hideerror for list:string 2013-09-01 11:17:16 -05:00
mdipierro c87482bdee fixed issue 1590 2013-09-01 10:24:00 -05:00
mdipierro 6097a00bf1 possibly fixed issue 1637:when trying to use IS_IN_DB with a composite reference key, there is a no _id error reported 2013-09-01 09:35:30 -05:00
mdipierro ac3e1fc84d fixed issue 1657 2013-09-01 08:07:29 -05:00
mdipierro 8cff939fb6 fixed issue 1658, unicode in admin/languages/de.py 2013-09-01 07:55:17 -05:00
mdipierro dd7609a22a partially fixed issue 1502 2013-09-01 07:44:11 -05:00
mdipierro fecac08fc7 Merge pull request #193 from niphlod/fix/pip_use_mirrors
seems that --use-mirrors is ATM borked.
2013-08-31 16:54:33 -07:00
niphlod 735357da1d seems that --use-mirrors is ATM borked.
Anyway, --use-mirrors is going to de deprecated in future releases of pip.
Pypi infrastructure is more reliable than a year ago, let's hope we don't incur in any
downtimes.
2013-09-01 01:02:48 +02:00
mdipierro 72ca29694a Merge pull request #192 from niphlod/fix/setup_scripts
fix scripts fetching handlers from /handlers
2013-08-31 07:45:05 -07:00
niphlod d61bbc6a5f fix scripts fetching handlers from /handlers 2013-08-31 14:23:35 +02:00
mdipierro 1f9071d5df moved options_std.py to examples, thanks Niphlod 2013-08-30 18:29:27 -05:00
mdipierro 27229ea979 Merge pull request #191 from niphlod/fix/anyserver
fix anyserver with logging and/or profiler
2013-08-30 16:25:46 -07:00
mdipierro ab29b42fbb Merge pull request #190 from niphlod/fix/examples
fix examples app
2013-08-30 16:25:06 -07:00
mdipierro e1d906256d Merge pull request #189 from niphlod/issue/1584
fixed issue 1584 (grid export with left join)
2013-08-30 16:24:29 -07:00
mdipierro 9526edc49d Merge pull request #188 from jmistx/master
Popen objects leak fixed
2013-08-30 16:23:47 -07:00
niphlod 761d7fd824 fix anyserver with logging and/or profiler 2013-08-30 22:46:36 +02:00
niphlod 5036e36083 fix examples app 2013-08-30 22:05:57 +02:00
niphlod a7d4c5297e fixed issue 1584 (grid export with left join) 2013-08-30 21:13:49 +02:00
Michele Comitini 013d9090f4 Merge ssh://github.com/web2py/web2py 2013-08-30 18:00:59 +02:00
mdipierro b13c2cf6e3 possibly solved issue 1617? thanks fredcy 2013-08-30 17:38:51 +02:00
mdipierro a122215b41 new attempt at fixing session but commented test which fails 2013-08-30 17:38:51 +02:00
mdipierro 5ebf93e453 fixed memdb(Client()) problem 2013-08-30 17:38:51 +02:00
mdipierro 4d46477bee support for content-type .xslm, thanks Niphlod 2013-08-30 17:38:51 +02:00
Johan Englund 49ff414c5c Rewrite navbar & added sublime to gitignore 2013-08-30 17:38:50 +02:00
mdipierro 44f5c0c824 exists to isdir, thanks Niphlod 2013-08-30 17:38:50 +02:00
mdipierro 9aee01df62 updated Makefile 2013-08-30 17:38:50 +02:00
mdipierro 13c782eaa6 handlers check for 'applications' folder 2013-08-30 17:38:50 +02:00
mdipierro 72b3092ef6 moved handlers 2013-08-30 17:38:50 +02:00
mdipierro 03942ba38f allow conditional templates, although no compilation, thanks Anthony 2013-08-30 17:38:50 +02:00
mdipierro c997192277 another possible solution to issue 1524, without monkey patching 2013-08-30 17:38:50 +02:00
mdipierro aebb331fe7 monkey_patched_pickle 2013-08-30 17:38:50 +02:00
mdipierro dafbc17826 fixed get_app problem on windows 2013-08-30 17:38:50 +02:00
mdipierro cc3da8a50e fixed get_app problem on windows 2013-08-30 17:38:50 +02:00
mdipierro 137b4ed75a fixed if False in widget.py, thanks Niphlod 2013-08-30 17:38:49 +02:00
mdipierro a6a678bf4a fixed windows paths, thanks Niphlod 2013-08-30 17:38:49 +02:00
mdipierro 1d83daa068 more details in README 2013-08-30 17:38:49 +02:00
mdipierro 0bf787ae5e no echo in Makefile 2013-08-30 17:38:49 +02:00
mdipierro d70a13e412 commented scripts in setup.py, broke build 2013-08-30 17:38:49 +02:00
mdipierro 8dc8c49dec added a README file 2013-08-30 17:38:49 +02:00
mdipierro cd704f74bb moved lots of files 2013-08-30 17:38:49 +02:00
mdipierro f18b264ca1 no more plugins in wizard 2013-08-30 17:38:49 +02:00
niphlod 5bdfbc98dd added boilerplate to be able to run tests from anywhere. Added test for validate_and_insert too. 2013-08-30 17:38:49 +02:00
mdipierro 52c8629f4b fixed typo in globals, thanks Niphlod 2013-08-30 17:38:49 +02:00
Ricardo Pedroso 92fc9a6dce support new session logic 2013-08-30 17:38:48 +02:00
niphlod 02d616aaa3 fix issue with scheduler namespace. Thanks @limedrop for spotting this. 2013-08-30 17:38:48 +02:00
gi0baro 5cef463dcf Support querying for null values in mongoDB 2013-08-30 17:38:48 +02:00
Dominic König e7ce778121 Ability to send emails with empty message body. 2013-08-30 17:38:48 +02:00
mdipierro 667009318e fixed problem with get_app when app does not exist 2013-08-30 17:38:48 +02:00
mdipierro 838a1ffc82 fixed missing error in design when app does not exist 2013-08-30 17:38:48 +02:00
mdipierro 4ce6d03d89 removed customize it 2013-08-30 17:38:48 +02:00
mdipierro 24c9f999e1 fixing more bugs in new session handling 2013-08-30 17:38:48 +02:00
jmistx 17ee260e3c Popen objects leak fixed 2013-08-30 05:40:01 -07:00
mdipierro db2469f109 fixed issue 1448, headers in wiki media files, sorry Nico this fell under the radar and tool way longer than should have 2013-08-29 21:32:36 -05:00
mdipierro 7c47619e2f fixed issue 1654, auth.enable_record_versioning(db), thanks hitkatojp 2013-08-29 21:16:16 -05:00
mdipierro ca0bbac685 chaged pickling rules for lazyT 2013-08-29 18:57:52 -05:00
mdipierro b82f46352d Merge pull request #187 from niphlod/issue/response_js_order
fixed the order of response.js execution. Thanks @Anthony
2013-08-29 16:43:11 -07:00
mdipierro b9fc2a66c7 Merge pull request #186 from carpaIdea/master
auth navbar - added bare mode and PEP8 tweaks
2013-08-29 11:58:12 -07:00
niphlod 24bed97a51 fixed the order of response.js execution. Thanks @Anthony 2013-08-29 20:55:03 +02:00
Paolo Caruccio 2f43c11c94 auth navbar - added bare mode and PEP8 tweaks 2013-08-29 20:30:36 +02:00
mdipierro 70a1fbfd41 bypass all session logic when application does not exist, and close files 2013-08-29 08:22:35 -05:00
mdipierro 1ffd110d05 bypass all session logic when application does not exist 2013-08-29 08:09:56 -05:00
mdipierro cbf550afbe Merge pull request #185 from niphlod/issue/cookies
send session cookie always.
2013-08-28 20:10:52 -07:00
niphlod bf6cf86987 send session cookie always. Please test it carefully with session data stored in cookies. 2013-08-29 00:43:34 +02:00
mdipierro eacb4638a1 possibly solved issue 1617? thanks fredcy 2013-08-28 09:57:21 -05:00
mdipierro b9d681295f new attempt at fixing session but commented test which fails 2013-08-27 22:26:04 -05:00
mdipierro a767799b36 fixed memdb(Client()) problem 2013-08-27 18:20:25 -05:00
mdipierro 05a41b12ce support for content-type .xslm, thanks Niphlod 2013-08-27 18:02:51 -05:00
mdipierro 19a0a905a5 Merge pull request #184 from tazaar/master
Rewrite navbar & added sublime to gitignore
2013-08-27 15:27:07 -07:00
mdipierro a626c213a7 exists to isdir, thanks Niphlod 2013-08-27 17:18:27 -05:00
mdipierro cc0014f42a updated Makefile 2013-08-27 17:01:05 -05:00
mdipierro 458779467d handlers check for 'applications' folder 2013-08-27 16:57:54 -05:00
mdipierro 07f74c6362 moved handlers 2013-08-27 16:50:30 -05:00
mdipierro 202cad5424 allow conditional templates, although no compilation, thanks Anthony 2013-08-27 16:18:29 -05:00
mdipierro 31c1e9468c another possible solution to issue 1524, without monkey patching 2013-08-27 16:12:23 -05:00
mdipierro a08cd3e8ff monkey_patched_pickle 2013-08-27 15:55:01 -05:00
Johan Englund c06c207b68 Rewrite navbar & added sublime to gitignore 2013-08-27 14:57:10 +02:00
mdipierro 371a4780e8 fixed get_app problem on windows 2013-08-27 06:34:36 -05:00
mdipierro 300e735a38 fixed get_app problem on windows 2013-08-27 06:30:58 -05:00
mdipierro 97abd5f3b0 fixed if False in widget.py, thanks Niphlod 2013-08-26 16:57:08 -05:00
mdipierro 6b5c8aab83 fixed windows paths, thanks Niphlod 2013-08-26 06:05:25 -05:00
mdipierro c5fa97cb2b more details in README 2013-08-25 21:23:11 -05:00
mdipierro cb80f91a4a no echo in Makefile 2013-08-25 21:19:35 -05:00
mdipierro 6acc116341 commented scripts in setup.py, broke build 2013-08-25 20:39:32 -05:00
mdipierro fa47b873c8 added a README file 2013-08-25 20:37:04 -05:00
mdipierro 1303b657c7 moved lots of files 2013-08-25 20:29:54 -05:00
mdipierro 63adb9a6c4 no more plugins in wizard 2013-08-25 19:35:27 -05:00
mdipierro 62840d6e40 Merge branch 'master' of github.com:web2py/web2py 2013-08-25 19:27:46 -05:00
mdipierro de7deeddf8 Merge pull request #183 from niphlod/issue/tests
added boilerplate to be able to run tests from anywhere
2013-08-25 17:26:10 -07:00
niphlod f5f6f365f9 added boilerplate to be able to run tests from anywhere. Added test for validate_and_insert too. 2013-08-25 18:35:29 +02:00
mdipierro d43bea6713 fixed typo in globals, thanks Niphlod 2013-08-25 07:40:29 -05:00
mdipierro 5f9b7734b1 Merge branch 'master' of github.com:web2py/web2py 2013-08-24 16:31:22 -05:00
mdipierro 301d449147 Merge pull request #182 from rpedroso/redis-mocktable-callable
redis_session: support new session logic
2013-08-24 14:30:59 -07:00
Ricardo Pedroso a4e0fb34c2 support new session logic 2013-08-24 15:33:41 +01:00
mdipierro ee9ac8f267 Merge branch 'master' of github.com:web2py/web2py 2013-08-24 07:57:56 -05:00
mdipierro 1437c4d8c4 Merge pull request #181 from niphlod/issue/scheduler_namespace
fix issue with scheduler namespace. Thanks @limedrop for spotting this.
2013-08-24 05:57:29 -07:00
niphlod cbddfb5cdf fix issue with scheduler namespace. Thanks @limedrop for spotting this. 2013-08-24 14:05:08 +02:00
mdipierro bbd149b39f Merge branch 'master' of github.com:web2py/web2py 2013-08-24 05:19:41 -05:00
mdipierro c9aa8020a7 Merge pull request #180 from gi0baro/issue1641
Support querying for null values in mongoDB
2013-08-24 03:19:35 -07:00
mdipierro 80279a8d8d Merge branch 'master' of github.com:web2py/web2py 2013-08-24 05:18:52 -05:00
mdipierro ae2d800b0b Merge pull request #179 from nursix/master
Ability to send emails with empty message body.
2013-08-24 03:18:37 -07:00
mdipierro 07aa9843f3 fixed problem with get_app when app does not exist 2013-08-23 14:46:20 -05:00
mdipierro 34cd24886e fixed missing error in design when app does not exist 2013-08-23 14:37:51 -05:00
mdipierro f17270291e removed customize it 2013-08-23 14:22:21 -05:00
gi0baro db957fc489 Support querying for null values in mongoDB 2013-08-23 13:18:49 +02:00
Dominic König bc03ef84fc Ability to send emails with empty message body. 2013-08-22 22:56:23 +02:00
mdipierro 5d67db3bfd fixing more bugs in new session handling 2013-08-22 04:32:47 -05:00
Michele Comitini 21b1b0fa48 Merge ssh://github.com/web2py/web2py 2013-08-22 11:09:03 +02:00
mdipierro 1d14949e17 fixed latest mdmdb problem? 2013-08-22 03:46:59 -05:00
mdipierro 18601c4f72 solved problems with auth and cookie expire 2013-08-22 02:38:49 -05:00
mdipierro 9d9190584e fixed Encoding problem in 'format' from define_table on GAE, thanks Juan 2013-08-22 02:32:00 -05:00
mdipierro 7936ab8ef9 fixed env['QUERY_STRING'], thanks Anthony 2013-08-22 02:19:34 -05:00
mdipierro 93b9b4dfbe trying to trigget travis.... 2013-08-21 17:27:48 -05:00
mdipierro 5b120cd64f Merge pull request #176 from mcabo/patch-1
Update dal.py
2013-08-21 15:24:08 -07:00
mdipierro f0bcef14b0 reverted issue 1639:DAL, define_table and Field unpacked serialized attributes 2013-08-21 17:23:11 -05:00
mdipierro fc8690a146 Merge pull request #177 from michele-comitini/session_id_fix
session id null on cookieless client.
2013-08-21 05:14:57 -07:00
Michele Comitini 6a297d854b error on partition usage fixed 2013-08-21 12:56:49 +02:00
Michele Comitini c9d69c0219 session id null on cookieless client. 2013-08-21 12:17:12 +02:00
mdipierro d162499e73 pdfinvoice 2013-08-21 05:07:53 -05:00
mdipierro 70a8284cb5 fixed issue 1643:grid - export HTML - missing charset=UTF-8, problems with non-ASCII-chars; proposal, thanks Martin 2013-08-21 04:39:55 -05:00
Michele Comitini 9228204722 Merge ssh://github.com/web2py/web2py 2013-08-21 11:37:13 +02:00
mdipierro d1525cf6ec adapter.connect = None after adapter.close_connection 2013-08-21 04:29:39 -05:00
mcabo cef7d64d97 Update dal.py
I think It will be useful to update the table contents and to validate the data previously.

On the other hand, I think there is something weird in the update_or_insert definition (Class table) because it is not working properly on data updating.
2013-08-21 11:13:10 +02:00
mdipierro 4f1d6e6f31 fixed possible memdb issue with table(id), thanks Luca 2013-08-21 02:54:23 -05:00
mdipierro f3ac3a8740 Merge pull request #175 from niphlod/enhancement/admin_python_version
fix for issue 1642
2013-08-21 00:44:24 -07:00
mdipierro e332a4f441 Merge pull request #174 from niphlod/issue/restful_contenttype
figure out correctly the content-type for request.restful. Thanks @mcabo
2013-08-21 00:42:59 -07:00
mdipierro e964ff8b6f Merge branch 'master' of github.com:web2py/web2py 2013-08-21 02:42:05 -05:00
mdipierro e5fd451b9d Merge pull request #173 from niphlod/fix/redis_sessions
standardized keyprefix
2013-08-21 00:41:19 -07:00
mdipierro f9940825a1 fixed issue 1639:DAL, define_table and Field unpacked serialized attributes, thanks Alan 2013-08-21 02:37:31 -05:00
mdipierro fd857b15f6 fixed issue 1638:imap: content as list field type and other small changes, thanks Alan 2013-08-21 02:34:14 -05:00
niphlod 3421447d7f fix for issue 1642 2013-08-20 22:22:29 +02:00
niphlod ab58af3c87 figure out correctly the content-type for request.restful. Thanks @mcabo 2013-08-20 21:23:18 +02:00
niphlod 8fe821ed0c standardized keyprefix 2013-08-20 20:59:14 +02:00
mdipierro 6448518ce0 allow to change session in db to session in file 2013-08-20 11:15:51 -05:00
mdipierro 343bb984f3 Merge pull request #172 from gi0baro/redis-sess
Fix in redis_session.py select: prevent errors when value is integer/long
2013-08-20 09:00:21 -07:00
mdipierro dee4e6a980 new session logic 2013-08-20 10:58:36 -05:00
gi0baro 05f3e01ece Fix in redis_session.py select: prevent errors when value is integer/long 2013-08-20 16:53:08 +02:00
mdipierro 56dcaff236 fixed a problem with sortable grid, new icons 2013-08-20 03:22:54 -05:00
mdipierro 9a86f4f0f3 removed print from sqlhtml.py 2013-08-20 01:34:30 -05:00
mdipierro 90931657e4 fixed issue 1633:IMAP support for storing messages, thanks Alan and Prachi 2013-08-19 08:44:57 -05:00
mdipierro c49ae3df04 fixed again issue 1630:memdb id error -- tries casting None to long. 2013-08-19 08:04:33 -05:00
mdipierro 8121e2b99c fixed regex in app.example.yaml, thanks Luca 2013-08-18 02:50:26 -05:00
mdipierro aa644ceeb0 isProgrammingError, thanks Alan 2013-08-18 02:09:14 -05:00
mdipierro 28cfd0a0f2 fixed issue 1634:retrieve password regression, thanks christophe.varoqui 2013-08-17 11:31:36 -05:00
mdipierro 030304a6eb Merge pull request #169 from reingart/master
pyfpdf contrib template & html updates
2013-08-17 09:18:30 -07:00
mdipierro 85e689462f Merge pull request #170 from niphlod/enhancement/profiler_dir
profiler now save dumps in a dir
2013-08-17 09:08:42 -07:00
niphlod ad29ebe866 profiler now save dumps in a dir 2013-08-17 14:02:46 +02:00
Mariano Reingart f391c9cf22 updated pyfpdf (template Row.copy, fixes issue 1255) 2013-08-16 02:27:53 -03:00
Mariano Reingart e4d8c4ea17 updated pyfpdf (html enhancements) 2013-08-16 02:27:47 -03:00
mdipierro 0d663507e6 http://www.451unavailable.org/ 2013-08-15 17:15:59 -05:00
mdipierro c4f7c49846 fixed issue 1631:elements(..., replace=None) deletes the first element only 2013-08-15 10:06:21 -05:00
mdipierro 2cdcdaf932 possibly fixed Issue 1630:memdb id error -- tries casting None to long., thanks Luca 2013-08-15 09:21:58 -05:00
mdipierro 61d81c01c4 refactoring of belongs, thanks Jonathan 2013-08-15 09:09:19 -05:00
Michele Comitini 2e2bf0c01b Merge ssh://github.com/web2py/web2py 2013-08-14 21:30:25 +02:00
mdipierro 8d97fe3d26 Merge pull request #168 from niphlod/issue/request_body
fixed issue with request.body. Needs refactoring
2013-08-14 09:30:27 -07:00
Michele Comitini 1585af5efb Merge branch 'issue/request_body' of https://github.com/niphlod/web2py 2013-08-14 17:34:42 +02:00
niphlod 17dcd836dd fixed issue with request.body. Needs refactoring 2013-08-13 23:44:59 +02:00
mdipierro ff479a0a63 Merge pull request #167 from michele-comitini/select_first_needs_limitby
NEEDS TESTING
2013-08-13 06:58:42 -07:00
mdipierro 9acdad2736 Merge pull request #166 from michele-comitini/jsonrpc_fix
removed wrong exception that masked other errors
2013-08-13 06:57:01 -07:00
mdipierro ce62a7e679 Merge pull request #165 from niphlod/enhancement/1626
added enhancement 1626, marker shown in grid also for default orderby
2013-08-13 06:55:11 -07:00
Michele Comitini f8bd8c274c first() backed by limitby to avoid memory and cpu cycles wasting 2013-08-13 09:18:36 +02:00
Michele Comitini e132ccbd51 removed wrong exception that masked other errors 2013-08-13 08:54:26 +02:00
niphlod dd582c61e9 added enhancement 1626, marker shown in grid also for default orderby 2013-08-12 23:59:03 +02:00
Michele Comitini 39ba6f2357 Merge ssh://github.com/web2py/web2py 2013-08-12 10:06:01 +02:00
mdipierro 8fbab4d505 fixed run(...cronjob), my fault, thanks Jonathan 2013-08-09 16:08:42 -05:00
mdipierro 5b94e8f4aa fixed logic for tickets in db? 2013-08-09 15:57:27 -05:00
mdipierro b618811d2a fixed typo in belongs 2013-08-09 15:16:42 -05:00
mdipierro 10b5eccc73 re-fixing issue 1623, thanks niphlod for checking (still this can be done better) 2013-08-09 15:06:53 -05:00
mdipierro d4281194c9 fixed issue 1624:GoogleSQLAdapter has no driver property, thanks Felipe Meirelles 2013-08-09 14:13:58 -05:00
mdipierro 87c9a4373a Merge pull request #164 from niphlod/issue/1622
fixed issue #1622. Thanks @kyleflanagan for reporting it
2013-08-09 12:08:46 -07:00
niphlod 567ee5f379 fixed issue #1622. Thanks @kyleflanagan for reporting it 2013-08-09 21:05:28 +02:00
mdipierro a71998def0 fixed issue 1623:Storing tickets in DB will produce a deadlock on an internal error, thanks lumurer 2013-08-09 13:38:22 -05:00
mdipierro aeb15317e0 smarted BELONGS, thanks Jonathan 2013-08-09 11:05:52 -05:00
mdipierro 9c1702f5c3 richer structure in DISABLED 2013-08-09 04:49:10 -05:00
mdipierro a3222f601a richer structure in DISABLED 2013-08-09 04:39:01 -05:00
mdipierro c6a3a8f61a fixed Issue 1569:Add auth.register_bare, thanks Alan 2013-08-09 03:38:52 -05:00
mdipierro 08214d72d9 simplified upload logic 2013-08-08 14:20:28 -05:00
mdipierro 182192857f settings.is_source 2013-08-08 03:25:10 -05:00
mdipierro 856b6d658e allow passing args and vars to shell, thanks Jonathan 2013-08-07 18:03:36 -05:00
mdipierro 146d83583d Merge pull request #163 from niphlod/issue/grid_and_groupby
fixed issue with grid and groupby
2013-08-07 07:30:48 -07:00
mdipierro 991f07909c VERSION? 2013-08-07 09:03:05 -05:00
mdipierro 8e81e44b24 alternative solution to issue 1610, thanks Alan 2013-08-07 08:53:05 -05:00
niphlod ad2f177592 fixed issue with grid and groupby 2013-08-07 15:39:54 +02:00
mdipierro ae4d9dab10 fixed issue 1618:markmin problem with blockquote 2013-08-07 07:47:45 -05:00
mdipierro 237ace5f7f minor edits in dal 2013-08-07 07:29:02 -05:00
mdipierro 438e198e53 no more self.next in Auth, thanks Niphlod 2013-08-07 07:04:05 -05:00
mdipierro 90069aacda fixed(?) count(*) problem in grid 2013-08-07 04:14:18 -05:00
mdipierro db9ff09ae7 scripts/import_static.py 2013-08-06 17:17:29 -05:00
mdipierro 44670d8bb4 scripts/import_static.py 2013-08-06 12:51:36 -05:00
mdipierro a7828d7904 fixed issue 1612, thanks gi0baro 2013-08-06 08:58:21 -05:00
mdipierro 7d0bda7e87 group_by_value feature on DAL, that will allow more then 1 field for the grouping, thanks Yair 2013-08-06 06:57:19 -05:00
mdipierro b0e9140508 web3py backport of lazy get_vars,post_vars and vars, thanks Niphlod (may need more testing) 2013-08-06 06:46:07 -05:00
mdipierro 349aa6c0a5 no more editable, create, etc, on groupby in grid 2013-08-06 05:12:56 -05:00
mdipierro 7220c78581 fixed bug about lazy WSGI middleware, thanks Anthony 2013-08-06 01:59:11 -05:00
mdipierro 1caea9313a ITJP in support 2013-08-05 10:38:17 -05:00
Michele Comitini ba7662910a Merge ssh://github.com/web2py/web2py 2013-08-05 15:28:28 +02:00
mdipierro b41b278535 Merge pull request #162 from szimszon/master
The disabled_with message should be translatable
2013-08-05 05:39:43 -07:00
szimszon 58d8328899 disable_with message should be translatable 2013-08-05 13:16:29 +02:00
szimszon ee102fbfe8 disable_with message should be translatable 2013-08-05 13:14:52 +02:00
mdipierro 9db6ebf4f6 new pbkdf2_ctypes.py, works on Mac, thanks Michele 2013-08-05 02:34:03 -05:00
mdipierro fbf3a20918 in view/layout, response.files.insert instead of append 2013-08-04 17:01:17 -05:00
mdipierro 773d07b3dc Merge pull request #160 from niphlod/enhancement/1611
fixed issue 1611 (scheduler's migrate should follow Auth's migrate behaviour)
2013-08-04 14:35:51 -07:00
mdipierro 8be4d06245 Merge pull request #159 from niphlod/issue/mysql_wiki
fixed bug with Mysql. Thanks @Adi for reporting.
2013-08-04 14:35:05 -07:00
niphlod ae567462d3 fixed issue 1611 (scheduler's migrate should follow Auth's migrate behaviour) 2013-08-04 20:56:52 +02:00
mdipierro 5eacefb581 issue 1612:mongodb adapter does raw blob data, thanks Alan 2013-08-04 12:53:17 -05:00
niphlod 2c81a44fab fixed bug with Mysql. Thanks @Adi for reporting. 2013-08-03 17:55:50 +02:00
Michele Comitini 2af872da5a Merge ssh://github.com/web2py/web2py 2013-08-03 12:29:15 +02:00
mdipierro 2c622a7f62 Merge pull request #158 from niphlod/fix/scheduler_sys_path
fix issue with sys.path.
2013-08-03 00:49:22 -07:00
mdipierro 7e67f495e0 Merge pull request #157 from niphlod/issue/orderby_limitby_groupby
fixed bug introduced with commit "no more removal of ORDERBY in MSSQL"
2013-08-03 00:48:11 -07:00
mdipierro 51a7496f2e Merge pull request #155 from rpedroso/dal-break-typo
fix typo in dal.py
2013-08-03 00:47:17 -07:00
mdipierro 8526722ac8 Merge pull request #154 from gokceneraslan/master
Fix form validators in admin application.
2013-08-03 00:46:24 -07:00
niphlod 6cb91ab60d fix issue with sys.path. Now the path looks like 'root/gluon', 'root/site-packages', 'root' like in a normal web request 2013-08-03 02:46:59 +02:00
niphlod c0600a9e2e fixed bug introduced with commit: df4d8a5238 2013-08-02 21:14:00 +02:00
Ricardo Pedroso 99d73e03a5 fix typo in dal.py 2013-08-02 15:54:48 +01:00
Gökçen Eraslan 275cc3bfb4 Fix form validators in admin application. 2013-08-01 17:50:01 +03:00
mdipierro eb2c0e6ca1 added better handling of missing library, thanks Michele 2013-08-01 08:23:24 -05:00
mdipierro df4d8a5238 no more removal of ORDER BY in MSSQL 2013-08-01 02:49:27 -05:00
mdipierro a2566ef7ab call to build_parsemap() on __init__ instead of at every select(), thanks Niphlod 2013-08-01 02:00:08 -05:00
mdipierro d3c723666a Merge pull request #150 from niphlod/enhancement/roadmap
added roadmap in the community docs section
2013-07-31 23:54:41 -07:00
mdipierro f8362986c7 Merge pull request #149 from michele-comitini/oauth1_timeout_fix
oauth1 timeout. pbkdf2_ctypes repository reference in docstring
2013-07-31 23:53:29 -07:00
Michele Comitini 788b9e317f Merge ssh://github.com/web2py/web2py 2013-07-31 23:48:29 +02:00
niphlod 0e4aa6a395 added roadmap in the community docs section 2013-07-31 21:48:06 +02:00
mdipierro 8a011cf3ac table.field.referent, table._references 2013-07-31 11:45:14 -05:00
mdipierro ab9a35b541 table.field.referent 2013-07-31 11:25:15 -05:00
Michele Comitini 8fb1a954ba oauth1 timeout. pbkdf2_ctypes repository reference in docstring 2013-07-30 23:32:47 +02:00
Michele Comitini be13a8edec Merge ssh://github.com/web2py/web2py 2013-07-30 23:25:22 +02:00
mdipierro 26c8fcd5b3 catched attributeerror 2013-07-30 09:12:22 -05:00
mdipierro 487cfc1cf7 Merge pull request #148 from michele-comitini/pbkdf2_ctypes
[READ BEFORE APPLYING] pbkdf2 implemented ctypes wrapper around OpenSSL native implementation.
2013-07-30 06:59:48 -07:00
Michele Comitini 60792d943f pbkdf2_ctypes updated from upstream 2013-07-29 18:59:40 +02:00
mdipierro 0019dad19c fixed problem with alias and record versioning 2013-07-29 07:51:36 -05:00
mdipierro abeb4541fe better autocomplete in web2pu shell 2013-07-28 05:47:36 -05:00
Michele Comitini c4c331d645 pbkdf2 implemented ctypes wrapper around OpenSSL native implementation: 6x speedup 2013-07-27 16:34:09 +02:00
Michele Comitini 2be04b667c Merge ssh://github.com/web2py/web2py 2013-07-27 16:28:10 +02:00
mdipierro 18bed27bae Merge pull request #147 from mpranjic/masterfix
fixed auth_event logging
2013-07-27 04:58:24 -07:00
mdipierro 30a570538b fixed linked tables again 2013-07-27 06:47:25 -05:00
mdipierro 6faacfbf36 fixed issue 1607:NamedTemporaryFile broke GAE, thanks Alan 2013-07-26 15:56:03 -05:00
mpranjic 215cefd1e0 fixed auth_event logging 2013-07-26 10:35:36 +02:00
mdipierro 6aa0ff50b2 fixed bug in sqlform.grid 2013-07-26 03:03:49 -05:00
mdipierro b63e8994e4 upgraded analytics.min.js, thanks Paolo 2013-07-25 08:14:16 -05:00
mdipierro 61f5522661 fixed issue 1604:After web2py Upgrade, int status codes are no longer respected, thanks cfhowes 2013-07-25 05:14:54 -05:00
mdipierro ccdbb9a588 fixed issue 1605:mongodb select fails with long limitby, thanks Alan 2013-07-25 05:12:29 -05:00
mdipierro 8b7a638e9f appadmin_manage_without_https, thanks Anthony 2013-07-25 05:04:35 -05:00
mdipierro 182b385734 better next validation, thanks Andre Kablu 2013-07-23 11:09:14 -05:00
mdipierro a340de8c1e better solution 1602, thanks Alan 2013-07-23 08:41:53 -05:00
Michele Comitini cb7a7cec29 Merge ssh://github.com/web2py/web2py 2013-07-23 10:36:47 +02:00
mdipierro e6271dd5f1 fixed possible _next vulnerability 2013-07-23 02:06:42 -05:00
mdipierro 2d59e86ab9 removed e, no None in IS_JSON 2013-07-23 01:05:09 -05:00
Michele Comitini 73565a4718 Merge branch 'native_json_local_check' 2013-07-22 23:27:49 +02:00
Michele Comitini f52b7def1d Merge ssh://github.com/web2py/web2py 2013-07-22 23:27:35 +02:00
Michele Comitini 50f305ec64 Merge ssh://github.com/web2py/web2py into native_json_local_check 2013-07-22 23:25:54 +02:00
mdipierro 44985f0076 removed non-translatable json error 2013-07-22 14:52:53 -05:00
mdipierro 71407b4c6d Merge pull request #146 from michele-comitini/native_json_local_check
improved json validator to output meaningful error
2013-07-22 12:40:36 -07:00
mdipierro 839c3fbeff fixed issue 1602 again, thanks Alan 2013-07-22 09:13:23 -05:00
Michele Comitini 7194188e2f Merge branch 'master' of github.com:michele-comitini/web2py into native_json_local_check 2013-07-22 15:33:28 +02:00
Michele Comitini 8d7f6b7b7f improved json validator to output meaningful error 2013-07-22 15:07:12 +02:00
Michele Comitini d2ade8afb1 Merge ssh://github.com/web2py/web2py 2013-07-22 14:51:31 +02:00
mdipierro 60d0812f77 fixed issue 1596:Alias don't work with record versioning 2013-07-22 04:48:53 -05:00
mdipierro b192634946 fixed issue 1599:Shell relative paths while webserver's are absolute in dal, thanks Alan 2013-07-22 04:10:36 -05:00
mdipierro 87ea056565 fixed issue 1602:Retrieve migration data from db fails if table is not yet created 2013-07-22 04:04:28 -05:00
Michele Comitini c127dff8e6 Merge ssh://github.com/web2py/web2py 2013-07-22 10:38:28 +02:00
mdipierro 124c85a5ce fixed typo in changelog, thanks niphlod 2013-07-21 17:27:33 -05:00
mdipierro 24067bfc37 fixed issue 1600:Centralized migrations log, thanks Alan 2013-07-21 17:15:31 -05:00
mdipierro e020d5a6e2 removed '[__+-+...+-+__]' from last commit 2013-07-21 16:56:13 -05:00
mdipierro 5ce5b5672b Merge pull request #144 from michele-comitini/dal_sum_expression_fix
changed way to detect missing key since None is already a possible value
2013-07-21 14:53:26 -07:00
mdipierro 41c3f6a0b4 Merge pull request #145 from michele-comitini/postgresql_json_bug
bugfix native json fields were not supported correcly
2013-07-21 14:51:12 -07:00
Michele Comitini abf138c842 bugfix native json fields were not supported correcly 2013-07-21 23:32:58 +02:00
Michele Comitini a208e8cc9f changed way to detect missing key since None is already a possible value 2013-07-21 16:42:14 +02:00
Michele Comitini 7a9cf045de Merge branch 'master' of ssh://github.com/web2py/web2py 2013-07-21 16:37:55 +02:00
mdipierro 94a33dc47f fixed issue 1601:admin edit page first tab closing issue, thanks Paolo 2013-07-20 13:00:43 -05:00
mdipierro 3a9f328ab2 fixed issue 1598:Add SQLite to supported database stored migrations, thanks Alan (also reverted virtualfields that break tests) 2013-07-20 12:54:45 -05:00
mdipierro 650fec547b improved scripts/extract_mysql_models.py, thanks Andre Kablu 2013-07-19 17:42:15 -05:00
mdipierro 92c33f6a2b define_tables(migrate=None,fake_migrate=None) defaults to DAL(migrate=..,fake_migrate=...), thanks Paolo and Jonathan 2013-07-19 12:43:07 -05:00
mdipierro 67424d941a Merge pull request #143 from michele-comitini/table_name_quoting_bug
fix for postgresql when using an alias.
2013-07-19 10:13:33 -07:00
mdipierro be842ecfa9 Merge pull request #141 from carpaIdea/master
admin - site page - small visual enhancements
2013-07-19 10:11:09 -07:00
mdipierro 0f2f6a35f4 no more autocomplete for date/time inputs, thaks Paolo 2013-07-19 11:31:32 -05:00
mdipierro 5ebaab4ac1 fixed issue 1591:Allow sql log customization 2013-07-19 04:38:55 -05:00
mdipierro 79ac2cf607 synced web2py_bootstrap.css, fixed issue 1595:web2py_bootstrap.css in welcome, admin and examples app not in sync anymore, thanks lightdot 2013-07-19 04:34:47 -05:00
mdipierro bf3d345ce5 fixed issue 1594:radio widget layout conflicts with bootstrap, thanks Paolo Caruccio 2013-07-19 04:33:18 -05:00
mdipierro 5add14bf68 possibly fixed a problem with virtualfields in fields option of SQLFORM.grid, thanks peckto 2013-07-19 03:28:11 -05:00
Paolo Caruccio 32275c00d7 admin - site page - small visual enhancements 2013-07-18 21:11:26 +02:00
Michele Comitini f79aea6255 fix for postgresql when using an alias. 2013-07-18 11:42:52 +02:00
Michele Comitini c2ecb2fe5d Merge ssh://github.com/web2py/web2py 2013-07-18 11:25:58 +02:00
mdipierro e0d3d99be0 Merge pull request #140 from carpaIdea/master
files toggle in admin, maybe as Massimo would want it
2013-07-18 00:24:48 -07:00
mdipierro 8004dc81f4 fixed conflict 2013-07-18 02:23:31 -05:00
Paolo Caruccio 1e5831969b files toggle in admin, maybe as Massimo would want it 2013-07-18 01:56:45 +02:00
Michele Comitini 460b76f527 removed pycrypto leaving only strxor for speeding up pbkdf2 2013-07-18 00:54:44 +02:00
mdipierro 8d46c57985 Merge branch 'master' of github.com:web2py/web2py 2013-07-17 17:20:04 -05:00
mdipierro a182d322c6 Merge pull request #138 from niphlod/issue/1592
fix issue 1592
2013-07-17 15:19:37 -07:00
mdipierro 30f0215dc6 fixed a problem in recent commit when pycrypto is missing, the fix is temporary 2013-07-17 17:19:29 -05:00
niphlod bb7715445a fix issue 1592 2013-07-17 23:18:04 +02:00
ilvalle 50e336bc3a Config API, session is used only when filesystem is not available for storing data 2013-07-17 21:47:00 +02:00
Michele Comitini b8e423b24a Merge ssh://github.com/web2py/web2py 2013-07-17 16:49:43 +02:00
mdipierro 63ca73d6f0 fixed issue 1587:Mongodb error on id 2013-07-17 07:37:38 -05:00
mdipierro cd14782641 Merge pull request #136 from michele-comitini/speed_triks1
optimizations. Switch to PyCrypto support in pbkdf2 when possible.
2013-07-17 05:24:19 -07:00
ilvalle 786fffe269 settings tab in admin editor 2013-07-17 11:56:47 +02:00
Michele Comitini f8c20760d5 optimizations. Switch to PyCrypto support in pbkdf2 when possible. 2013-07-17 03:01:04 +02:00
Michele Comitini 49c189547b Merge ssh://github.com/web2py/web2py 2013-07-17 02:59:33 +02:00
mdipierro 1be0f3f468 fixed problem with tempfiles in Android, thanks Fernando Pacheco 2013-07-16 13:15:11 -05:00
mdipierro acbdeca03b fixed bug in recent commit, thanks Olivier Johner 2013-07-16 05:19:13 -05:00
mdipierro 0eb0619c0c Merge pull request #135 from carpaIdea/master
customization of upload package input in admin interface
2013-07-15 07:50:24 -07:00
mdipierro a7cc24254b fixed issue 1586:MSSQL Date format is language dependent, thanks score2000 2013-07-15 09:34:04 -05:00
mdipierro b60452ef47 fixed issue topic/web2py/LGxJR85pG88, thanks Oliver 2013-07-15 09:22:01 -05:00
Paolo Caruccio 38828c9ece customization of upload package input in admin interface 2013-07-15 00:27:49 +02:00
mdipierro fdad44315f reduced memory footprint by conditionally loading Tk 2013-07-14 16:52:42 -05:00
mdipierro 5c3d2edf3b moved the locals restoring logic, thanks ozancag 2013-07-14 15:50:23 -05:00
mdipierro af2ae42fdf Merge branch 'master' of github.com:web2py/web2py 2013-07-14 14:37:15 -05:00
mdipierro 848f021f71 Merge pull request #134 from niphlod/issue/admin_refactor
first step to a nicer code style of admin
2013-07-14 12:37:02 -07:00
mdipierro c5b88a557d Merge branch 'master' of github.com:web2py/web2py 2013-07-14 14:36:27 -05:00
mdipierro 51eca64fde Merge pull request #133 from niphlod/feature/js_inline
normalized behaviour in A() handler, fixed anonymous function block.
2013-07-14 12:36:00 -07:00
mdipierro 8fc93db229 Merge branch 'master' of github.com:web2py/web2py 2013-07-14 14:35:39 -05:00
mdipierro 27535b032d Merge pull request #132 from mpranjic/masterfix
updating jquery mobile to 1.3.1
2013-07-14 12:35:27 -07:00
mdipierro 569bf16977 Merge branch 'master' of github.com:web2py/web2py 2013-07-14 14:35:02 -05:00
mdipierro 7a0f6eafb7 Merge pull request #131 from swayf/feature/multiple_submit_buttons_in_grid
allows add multiple submit buttons in "selectable" mode in SQLFORM.grid ...
2013-07-14 12:34:50 -07:00
mdipierro 927e30eb45 Merge branch 'master' of github.com:web2py/web2py 2013-07-14 14:33:48 -05:00
mdipierro e34bdb5d67 Merge pull request #124 from oliveiraev/fix-pymysql-charset
Adding some charsets
2013-07-14 12:33:27 -07:00
niphlod 40d1ff9d17 first step to a nicer code style of admin 2013-07-14 20:13:37 +02:00
niphlod 2d95327a79 normalized behaviour in A() handler, fixed anonymous function block. 2013-07-14 19:42:49 +02:00
mdipierro 44697f5544 setting locale to default, fixed issue 1583, thanks ozancag 2013-07-14 06:05:49 -05:00
mdipierro 1a58701d57 files toggle in admin, not yet as I would want it 2013-07-14 04:57:59 -05:00
Oleg 59f8362f75 syntax fix for python 2.5 2013-07-14 11:32:40 +02:00
mdipierro 324b71c3af fixed issue 1582:Cannot login_bare in a web2py shell, thanks Alan 2013-07-13 19:10:12 -05:00
mdipierro 70f34e4532 better scripts/setup-web2py-nginx-uwsgi-ubuntu.sh, thanks Anthony 2013-07-12 11:58:16 -05:00
mdipierro d1065178bd css.patch, less html5 syntax error noise, thanks Jonathan 2013-07-12 09:52:31 -05:00
mpranjic b0ac67a8f6 updating jquery mobile to 1.3.1 2013-07-12 12:19:33 +02:00
mdipierro 9643086b34 TRHEAD->__TRHEAD__ as Jonathan suggested 2013-07-11 13:01:47 -05:00
mdipierro 8c19075f82 Merge pull request #130 from carpaIdea/master
some fixes for small visual bugs in bootstrap layout
2013-07-11 10:54:03 -07:00
mdipierro db715021bf Merge pull request #128 from mpranjic/masterfix
updating jQueryUI version
2013-07-11 10:52:58 -07:00
mdipierro 31c26dc03d Merge pull request #129 from michele-comitini/select_speedup1
speedup in case of keyed  tables
2013-07-11 10:51:21 -07:00
mdipierro 988ee82496 fixed issue 1579:Row.__getitem__(): count of 0 raises AttributeError, thanks Dominic 2013-07-11 11:49:49 -05:00
mdipierro 207105a21e fix to web2py_bookstrap.css, thanks Paolo 2013-07-11 11:35:46 -05:00
mdipierro 6566b2d2ed html patch, thanks Jonathan, but TRHEAD commented 2013-07-11 11:28:12 -05:00
Oleg 773b19d373 allows add multiple submit buttons in "selectable" mode in SQLFORM.grid (with different decorate css classes) 2013-07-11 18:11:37 +02:00
mdipierro 5ec22132a3 sync'd with gluino again 2013-07-11 09:14:41 -05:00
Paolo Caruccio 1b7bbfaf95 fixes for small visual bugs in bootstrap layout
- form input error text when formstyle='bootstrap' has fixed width.
In narrow screens:
- topbar has space in left and right sides;
- login button in topbar is unlined.
2013-07-10 15:55:51 +02:00
mdipierro cadf0e946a synced with gluino 2013-07-09 16:15:21 -05:00
Michele Comitini dd7aff8136 speedup in case of keyed tables 2013-07-09 09:07:43 +02:00
mdipierro 89e158cd1d fixed potential problem with unwanted translation of log messages 2013-07-08 08:47:24 -05:00
mdipierro b4fe6720ae fixed potential problem with unwanted translation of log messages 2013-07-08 08:39:43 -05:00
mpranjic 2a85fb099b updating jQueryUI version, 1.8 is not working with jQuery 1.10 2013-07-08 12:00:08 +02:00
mdipierro 317efea09b Merge pull request #126 from swayf/feature/bootstrap_same_control_size
fix for deprecated input-xlarge class to make input and select fields...
2013-07-08 01:03:54 -07:00
Oleg 59095ca11f fix for deprecated input-xlarge class to make input and select fields the same size. 2013-07-08 09:46:19 +02:00
mdipierro d3d77e3c84 fixed issue 1575:rows.as_list serializes date and time fields as strings instead of date time.date, thanks Alan 2013-07-08 01:38:38 -05:00
mdipierro ec96eaef74 auth log messages are not longer translated, thanks Anthony 2013-07-08 01:21:28 -05:00
mdipierro e7565845a0 fixed problem with web2py.js, thanks Niphlod 2013-07-07 12:25:31 -05:00
mdipierro 2888983036 fixed issue Issue 1549:signature of original link is lost after successful login, thanks Oleb Butovich 2013-07-06 16:06:25 -05:00
mdipierro 1bad215015 appadmin manage patch, thanks Anthony 2013-07-06 16:04:26 -05:00
Michele Comitini 1940ec2eba Merge ssh://github.com/web2py/web2py 2013-07-05 23:12:16 +02:00
mdipierro a7021bece2 speedup in getattr, thanks Michele 2013-07-05 02:13:24 -05:00
mdipierro dd7fc3a856 Merge pull request #123 from michele-comitini/row_speedup3
Row speedup3
2013-07-05 00:09:35 -07:00
Evandro Oliveira 531e6bd15d Adding some charsets
Newer versions of MySQL have more UTF-8 collations in addition to the
new utf8_mb4 charset/collation.

For some additional information about utf8_mb4, please refer to
http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html
2013-07-04 13:49:42 -03:00
Michele Comitini a8a10d6d08 uncommented faster code 2013-07-04 16:01:28 +02:00
Michele Comitini a974c90dcf row speedups 2013-07-04 15:57:17 +02:00
Michele Comitini fa755a64d9 Merge ssh://github.com/web2py/web2py 2013-07-04 15:31:35 +02:00
mdipierro 0c013f6b59 fixed typo, thanks Michele 2013-07-03 17:16:56 -05:00
mdipierro 5abfa27f3f rows.repr -> rows.render 2013-07-03 15:24:24 -05:00
Michele Comitini 42594fd66f Merge ssh://github.com/web2py/web2py 2013-07-03 18:07:04 +02:00
mdipierro 73d03cd48c auth.get_or_create_user(login=False) 2013-07-03 04:11:03 -05:00
mdipierro 42c36bd295 fixed Issue 1572:mongodb contains operator typo, thanks Alan 2013-07-03 04:00:32 -05:00
mdipierro 9a85a132ae calendar z-index:2000 2013-07-03 01:53:34 -05:00
Michele Comitini ec45a1a942 Merge ssh://github.com/web2py/web2py 2013-07-03 01:21:31 +02:00
mdipierro b28d155f0e fixed a problem with missing _extra 2013-07-02 08:33:47 -05:00
mdipierro 6017e749eb no more collapsible menu if not is_mobile, thanks Paolo 2013-07-02 08:03:51 -05:00
mdipierro 9ebab678c6 fixed problem with admin replacing text, thanks Niphlod 2013-07-02 07:40:00 -05:00
mdipierro 182bbbdcc2 fixed issue 1562:The dspval of integer value zero is nbsp not 0, thanks iiijjjiii 2013-07-02 07:21:09 -05:00
mdipierro a449c4ede5 fixed issue 1570:Recent web2py does no longer support table-aliasing, thanks Dominic 2013-07-02 07:17:37 -05:00
mdipierro c633ab450a Merge pull request #121 from tinio/memcache-bug
This looks to be a typo left behind from previous code when checking for an __memcache_client
2013-07-02 05:13:56 -07:00
Aurelio Tinio afa96da8e9 check for __memcache_client not __mc_instance 2013-07-01 10:43:33 -07:00
mdipierro 1e8c9e89f3 possibly fixed issue 1570:Recent web2py does no longer support table-aliasing, thanks Dominic 2013-07-01 05:51:57 -05:00
Michele Comitini ebee894b59 Merge ssh://github.com/web2py/web2py 2013-06-30 22:09:16 +02:00
mdipierro ad8c1165b7 removed BaseException = Exception logic, thanks Jonathan 2013-06-30 11:29:43 -05:00
mdipierro 480ea80ed8 fixed typo in basic_auth_realm = basic_auth_realm(), thanks Jonathan 2013-06-30 10:47:10 -05:00
mdipierro 3407cf6584 made the WSGI compatibility layer lazy, nobody uses it anyway and it may be broken, probably should be removed 2013-06-30 09:19:26 -05:00
mdipierro d218b052a1 fixed issues 1568, no spaces in usermames, thanks Iceberg 2013-06-29 17:07:17 -05:00
mdipierro d955af59af Merge pull request #119 from niphlod/issue/1567
fixed issue 1567 with scheduler and Mysql
2013-06-29 15:03:19 -07:00
niphlod 8666d3520e fixed issue 1567 with scheduler and Mysql 2013-06-29 22:49:05 +02:00
mdipierro 363aa2ff97 Merge pull request #117 from michele-comitini/row_speedup2
Some speedups
2013-06-29 09:17:37 -07:00
mdipierro ddc7f81c00 Merge pull request #118 from niphlod/feature/component_refactor
fixed the collapse function, refactored LOAD() to use new web2py.js
2013-06-28 02:47:59 -07:00
Michele Comitini 4b94fe637d restored the regex 2013-06-28 02:07:22 +02:00
niphlod 917d2087c5 fixed the collapse function, refactored LOAD() to use new web2py.js 2013-06-27 22:31:11 +02:00
Michele Comitini c4bff4437f removed useless comment 2013-06-27 22:01:35 +02:00
Michele Comitini c25f337ffe Row code speedups 2013-06-27 21:58:35 +02:00
mdipierro 81fa9b1984 removed check for missing driver 2013-06-27 07:21:40 -05:00
mdipierro 768b49224c fixed Issue 1563:Web2py in error when the request contains a json string corresponding to a list, thanks Hono Sandai 2013-06-27 01:51:03 -05:00
mdipierro 92757a4e2b Merge pull request #115 from niphlod/feature/js_inline
nicer alignment, removed leftovers, new listwidget and passwordwidget
2013-06-26 23:01:05 -07:00
niphlod 81495f7cca nicer alignment, removed leftovers, new listwidget and passwordwidget 2013-06-27 00:25:44 +02:00
mdipierro cdf8ee8d85 web2py.js with no inline code, thanks Niphlod (this upgrade required upgrading web2py.js 2013-06-26 05:12:47 -05:00
mdipierro ec4a55fc9e if not logged-in no [wiki] menu 2013-06-26 04:02:17 -05:00
mdipierro e3728da256 better german translation for admin, thanks Michael Kallweit 2013-06-26 02:54:31 -05:00
mdipierro 474af626f0 fixed a bug in revision b1d117199fdb 2013-06-25 16:56:25 -05:00
mdipierro 198dc8e0cd quoting table names 2013-06-25 15:40:06 -05:00
mdipierro 29f0428889 fixed Issue 1560:Smartgrid doesn work with Google app engine 1.8.1 2013-06-25 09:10:03 -05:00
Michele Comitini 8cab6b8ac0 Merge ssh://github.com/web2py/web2py 2013-06-25 10:43:25 +02:00
michele-comitini 5a3a316658 Merge pull request #1 from michele-comitini/basic_auth
Basic auth
2013-06-25 01:33:02 -07:00
mdipierro 7564f5f671 speedup CONTAINS when un-necessary REPLACE 2013-06-24 14:24:36 -05:00
mdipierro 51e510e30f Merge branch 'master' of github.com:web2py/web2py 2013-06-24 08:49:27 -05:00
mdipierro a2cd373b3e Merge pull request #113 from michele-comitini/basic_auth
Session renewal fix + record versioning fix + postgres fk reference fix
2013-06-24 06:48:58 -07:00
Michele Comitini e311da3441 "reference table.field" type bugfix 2013-06-24 15:23:57 +02:00
mdipierro fd833be535 edited link to realpython 2013-06-24 02:07:18 -05:00
mdipierro b5056b04f8 fixed __delattr__, thanks Vinicius 2013-06-24 01:48:48 -05:00
Michele Comitini c8cb3c94ef added empty line 2013-06-24 00:57:24 +02:00
Michele Comitini b632970960 record versioning must ignore tables without _id field. 2013-06-24 00:52:15 +02:00
Michele Comitini 285811f852 check that session_id exists before trying to renew session from the db 2013-06-24 00:20:11 +02:00
mdipierro b980d32d02 fixed issue 1557:imap: unexpected date format is not handled, thanks Alan 2013-06-23 08:51:42 -05:00
mdipierro 37c2441507 fixed issue 1556:imap: the encoding field is not writable, thanks Alan 2013-06-23 08:50:14 -05:00
mdipierro bb78217f44 fixed Issue 1555:imap: default string field represent ignores encoding, thanks Alan 2013-06-23 08:47:51 -05:00
mdipierro b0d8a0f0c7 fixed Issue 1553:IMAP row content field is not bar decoded, thanks Alan 2013-06-23 08:45:56 -05:00
mdipierro 47890a8454 fixed issue 1552:Missing ssl_ca_certificate option in HttpServer instantiation in we2pyDialog, thanks Jamie Sabin 2013-06-23 00:23:33 -05:00
mdipierro a526dfe774 fixed issue 1548:Firebird migrations drop column 2013-06-23 00:15:41 -05:00
mdipierro 97ba1379d7 no more maxcharlength, what will break? 2013-06-22 23:52:57 -05:00
mdipierro 578352d500 added a link that was lost 2013-06-22 01:46:39 -05:00
mdipierro 318e8046ba appadmin now works with lazy tables, thanks Anthony 2013-06-22 01:34:19 -05:00
mdipierro 24077f802b allow compute fields to depend on compute fields defined earlier, thanks Tim Richardson 2013-06-21 10:16:10 -05:00
mdipierro 3ce0c30b68 Merge pull request #110 from timrichardson/computed_fields
allow compute fields to depend on compute fields defined earlier
2013-06-21 08:12:43 -07:00
mdipierro ffa08817ea Merge pull request #112 from ilvalle/codemirror
codemirror 3.14
2013-06-21 08:06:04 -07:00
ilvalle 867c99469c codemirror 3.14 2013-06-21 16:03:20 +02:00
mdipierro 1d38b87719 jQuery('#component').reload() 2013-06-21 06:44:37 -05:00
mdipierro 9682f4a6e3 Rows.repr(), thanks Anthony 2013-06-21 01:54:08 -05:00
mdipierro 1509559e78 avoid recursion in rewrite, thanks Jonathan 2013-06-21 01:47:34 -05:00
Tim Richardson c3be2e5f8a test case for the changes allowing a compute field to refer to an
earlier defined compute field
2013-06-21 11:20:17 +10:00
Tim Richardson 545e304a73 minor typo (but hopefully will start travis on my repository ) 2013-06-21 09:52:31 +10:00
mdipierro 08f813d670 resynced recent patches, sorry for the mess 2013-06-20 16:44:16 -05:00
Tim Richardson 4c2fba134d fixed a typo in error message 2013-06-21 03:34:51 +10:00
Tim Richardson 5dd452554e allow compute fields to depend on compute fields defined earlier 2013-06-21 03:21:13 +10:00
mdipierro e055c3af7e fixed issue 1527 with smartgrid (again), thanks ato.steil 2013-06-18 07:44:50 -05:00
mdipierro 7e245e3fbe partial fix for issue 1531, disable validation in crud search 2013-06-18 07:23:01 -05:00
mdipierro f01f74ed61 reverted new german translation 2013-06-18 06:30:13 -05:00
mdipierro 4b2afc8ae1 fixed Issue 1541:[REQ] support for dot=T('.') in IS_DECIMAL_IN_RANGE() 2013-06-18 04:45:16 -05:00
mdipierro ad61a61d91 removed gql.py and added gae memcache incr 2013-06-18 04:42:28 -05:00
mdipierro 676dc2e377 no clickable headers for virtual fields, thanks Anthony 2013-06-17 10:41:56 -05:00
mdipierro 5f9615bd10 removed unwanted print statement 2013-06-17 09:16:37 -05:00
mdipierro 4b00c2eb30 added/removed files to hg/git, thanks Lightdot 2013-06-17 08:10:10 -05:00
mdipierro 85643ae55e fixed Issue 1539:user_groups are not updated during and after impersonation, thanks kmouts 2013-06-17 08:05:02 -05:00
mdipierro 215fd658f1 more secure sessions, now pass tests, thanks André Kablu 2013-06-17 04:41:07 -05:00
mdipierro 19f754704c fixed Issue 1538:Update Script setup-web2py-nginx-uwsgi-centos64.sh, thanks jniltinho 2013-06-16 16:59:20 -05:00
mdipierro d04f2ff502 merged some code form issue 1534 Session ID not changed after privilege level change, thanks kablubr 2013-06-16 07:20:54 -05:00
mdipierro 9b9e64e9ef fixed Issue 1522:Trigger for primary key on oracle database 2013-06-16 07:07:13 -05:00
mdipierro d4a2411eac fixed Issue 1530:Impersonation events not recorded if redirections onaccept, thanks kmouts 2013-06-16 06:56:50 -05:00
mdipierro e7724f9017 fixed Issue 1532:mongodb: why to catch connection exceptions? thanks Alan 2013-06-16 06:52:17 -05:00
mdipierro 4a0bc28b09 no references in archive tables 2013-06-16 03:26:46 -05:00
mdipierro d1660cf0c1 better layout.html and web2py_bootstra.css, thanks Paolo 2013-06-16 03:19:08 -05:00
mdipierro cb0856f70a Merge pull request #108 from ilvalle/editor
Editor improvements
2013-06-15 11:54:52 -07:00
mdipierro 5f6fd16e84 allow customization of default /manage/auth, thanks Anthony 2013-06-14 16:09:28 -05:00
mdipierro 4310d3e2d6 fixed Issue 1528:SQLFORM.smartgrid: Bug in links, thanks jjachuf 2013-06-13 23:42:22 -05:00
mdipierro 7b303deade Merge pull request #107 from robertop23/master
Fixed Uncaught CodeMirror.Pass
2013-06-13 20:45:01 -07:00
Roberto Perdomo 54f55a9b75 Fixed Uncaught CodeMirror.Pass on expand abbreviation with tab. Now the autoindent works! 2013-06-13 22:01:56 -04:30
Paolo 234c926d98 added buttons to manage editor font-size 2013-06-13 22:56:01 +02:00
mdipierro c0ba74dd88 fixed Issue 1526:MongoDBAdapter contains() doesn't work for list:reference types, thanks schlegel 2013-06-13 15:30:59 -05:00
mdipierro 98c19740a2 better appadmin, thanks Anthony 2013-06-13 15:20:50 -05:00
ilvalle ebc27cbc46 fix input search z-index 2013-06-13 09:18:20 +02:00
ilvalle 377d3a9ff3 added input box for a faster file search and opening 2013-06-12 13:36:58 +02:00
ilvalle 4f15c03686 fire a warning before closing an unsaved file 2013-06-12 13:18:48 +02:00
mdipierro 6af173c853 fixed help_field(s) 2013-06-11 08:00:48 -05:00
mdipierro 4a24523c10 fixed vertical scroll issue with editor, thanks LightDot 2013-06-10 21:29:46 -05:00
mdipierro a2a1e95c96 Merge pull request #105 from robertop23/master
Codemirror Fixed active line
2013-06-10 19:26:50 -07:00
Roberto Perdomo 4d043acfff Fixed Error: 'Uncaught TypeError: Cannot read property 'parent' of null codemirror.js:4815' 2013-06-10 20:54:34 -04:30
mdipierro 71b024297d Merge pull request #104 from ilvalle/editor
admin editor: fix theme selector and full screen
2013-06-10 06:31:55 -07:00
ilvalle 9e2bb2c08a admin editor: fix theme selector and full screen 2013-06-10 15:22:00 +02:00
mdipierro 5d6b4842ba fixed Issue 1233:improve webclient 2013-06-10 06:19:42 -05:00
mdipierro ca2fe00933 codemirror3, thanks Roberto 2013-06-09 21:43:18 -05:00
mdipierro 4753ebe958 Merge branch 'master' of github.com:web2py/web2py 2013-06-09 19:15:47 -05:00
mdipierro 29268fc91f Merge pull request #103 from ilvalle/theme
fix admin editor  (full-screen and theme selector)
2013-06-09 17:15:32 -07:00
mdipierro 09291e0df2 CAST in sql only when strincly necessary, still, can be better 2013-06-09 17:00:54 -05:00
mdipierro 2444b5c587 CAST in sql, needs more work 2013-06-09 16:57:13 -05:00
mdipierro bf3770dc98 fixed Issue 1520:incomplete fix for json and csv import 2013-06-09 16:43:49 -05:00
mdipierro 484b8e5cc9 possibly fixed issue 1446:contains/cast to string problem 2013-06-09 16:41:46 -05:00
mdipierro 4c9967e17e fixed Issue 1501:Links None in AppAdmin 2013-06-09 16:30:42 -05:00
mdipierro fa91475836 fixed Issue 1477:File exported by export_to_csv cannot be read by import_from_csv 2013-06-09 16:27:00 -05:00
ilvalle afedd8c235 fix full-screen and theme selector 2013-06-09 19:48:57 +02:00
mdipierro c75ef1af4f fixed issue with customizing class of input fields, thanks Anthony 2013-06-09 10:27:05 -05:00
mdipierro 73f447167e fixed Issue 1519:MongoDB fails when inserting list:reference values, thanks Alan 2013-06-08 18:51:14 -05:00
mdipierro cccc6565eb fixed as_json for output of joins, thanks Alan 2013-06-08 09:40:45 -05:00
mdipierro 6c2030f820 fixed some problem with latest editor tab, thanks Paolo 2013-06-07 17:35:47 -05:00
Massimo ba2702c0d2 cp -R in Makefile 2013-06-06 10:54:16 -05:00
Massimo 31b1334720 Merge branch 'master' of github.com:web2py/web2py 2013-06-06 10:52:07 -05:00
Massimo 1326b38e6f cp -R in Makefile 2013-06-06 10:51:37 -05:00
mdipierro afc47e180e Merge pull request #98 from ilvalle/master
Online editor with tabs
2013-06-06 08:51:29 -07:00
Massimo f463de5a45 R-2.5.1 2013-06-06 10:36:33 -05:00
mdipierro 8829780def Merge pull request #101 from rpedroso/anyserver-eventlet
monkey patch eventlet
2013-06-06 08:33:36 -07:00
mdipierro a302d52698 Merge pull request #102 from mbroadst/post-vars-in-delete-requests
allow to process post vars in DELETE requests
2013-06-06 08:32:47 -07:00
Massimo 00087198e0 R-2.5.1 2013-06-06 10:24:14 -05:00
Massimo ea3aa62476 fixed show_if with LOAD, thanks Niphlod 2013-06-04 16:41:05 -05:00
Matt Broadstone 176c9f4ad9 allow to process post vars in DELETE requests 2013-06-04 15:26:32 -04:00
Massimo 0fdab02d68 fixed auth.settings.manager_group_role 2013-06-04 09:31:53 -05:00
ilvalle 131eda75a6 theme selector (js part) 2013-06-04 10:08:50 +02:00
mdipierro 0fcb5f2ccd fixed missing import in last commit, thanks Tim 2013-06-03 22:41:24 -05:00
mdipierro 27287d246a fixed Issue 1512:AutocompleteWidget, help_fields parameter, thanks Mirek 2013-06-03 22:17:11 -05:00
mdipierro 2234cd245c fixed memory leak in issue 1493 2013-06-03 22:12:05 -05:00
mdipierro c5980cd312 grid displays Virtual Fields 2013-06-03 21:48:55 -05:00
Ricardo Pedroso 4e8dbffd0e monkey patch eventlet 2013-06-04 00:28:54 +01:00
mdipierro 50dcd7a572 conditional fields 2013-06-03 17:48:13 -05:00
mdipierro 35f1cca768 Merge pull request #99 from michele-comitini/master
removed useless orderby
2013-06-02 19:44:44 -07:00
mdipierro e5bde6c0b1 Merge pull request #100 from niphlod/issue/static_version
fixed serving static files with static_version
2013-06-02 19:43:45 -07:00
mdipierro d31bba2670 No more default capture of integrity error 2013-06-01 18:24:44 -05:00
niphlod 4f806a1db9 fixed serving static files with static_version 2013-06-01 14:02:48 +02:00
mdipierro f64232df30 change in appadmin auth 2013-05-31 21:34:38 -05:00
mdipierro ecc2f0004c removed manage from auth 2013-05-31 21:31:21 -05:00
mdipierro 4f2e327d33 appadmin/auth_manage and appadmin/manage, thanks Anthony 2013-05-31 21:29:28 -05:00
Massimo 3ce3171dff user/manage, thanks Anthony 2013-05-31 11:25:56 -05:00
Massimo 0850cadfdc allow hash_vars in verify signature, thanks Anthony 2013-05-31 10:41:28 -05:00
Michele Comitini 53a5a44def Merge ssh://github.com/web2py/web2py 2013-05-31 15:56:44 +02:00
Michele Comitini ad1d414485 removed automatic orderby on db.table[id] expression and db.table(id) call 2013-05-31 15:55:52 +02:00
mdipierro ba22f9a3a5 new twitter widget in admin, deleted old 2013-05-31 08:29:19 -05:00
mdipierro 51de1740f9 new twitter widget in admin 2013-05-31 08:20:34 -05:00
Massimo 1c012b92d5 possibly fixed dropbox_auth bug? 2013-05-30 12:25:21 -05:00
Massimo 7377922211 upgraded timeEntry in calendar, now works with latest jQuery 2013-05-30 12:10:01 -05:00
mdipierro fae120f1ea new setup_app and Makefile for OSX python 2.7 2013-05-29 11:40:07 -05:00
mdipierro a915054602 reverting https://code.google.com/p/web2py/issues/detail?id=1500 as discussed https://groups.google.com/ dE-Fu9prKyI 2013-05-28 22:45:15 -05:00
ilvalle c741fc4a6b fix breakpoint 2013-05-28 16:29:48 +02:00
ilvalle ad718b48e8 code cleanup (to remove the code of former editors)
fix breakpoints integration
2013-05-28 14:34:01 +02:00
mdipierro dd97b9c8dd fixed as_dict for functions, thanks Martin Hufsky and Alan 2013-05-27 11:50:31 -05:00
mdipierro d1e25796e9 fixed Issue 1505:Json fields imported from csv do not work with postgresql, thanks anonoofish 2013-05-27 10:41:57 -05:00
mdipierro e38cfc5767 fixed issue 1504, static asset management config in app.yaml, thanks Niphlod 2013-05-27 10:37:38 -05:00
mdipierro 69c888d071 Issue 1506: length argument wrong with unicode 2013-05-27 10:33:37 -05:00
ilvalle 9b4888e6d7 initial import for tabs in the online editor 2013-05-27 16:30:27 +02:00
mdipierro 0138b1782d jQuery 1.10.0 2013-05-25 18:36:32 -05:00
mdipierro 9b1b9e73c5 fixed type in dal with simplejson, thanks Mart 2013-05-25 10:39:16 -05:00
mdipierro 0fc60eedfb R-2.7.4 2013-05-24 12:37:43 -05:00
mdipierro 9e19833421 Merge branch 'master' of github.com:web2py/web2py 2013-05-24 11:44:52 -05:00
mdipierro 31318340e2 Merge pull request #97 from drnextgis/master
Use T operator fot title attribute of grid buttons
2013-05-24 09:44:43 -07:00
mdipierro 6cef27e69c fixed display of version 2013-05-24 11:44:40 -05:00
mdipierro 4f6ab86491 fixed Issue 1500:MySQL driver unable to handle IntegrityError, thanks wheresgatsby 2013-05-24 08:35:09 -05:00
mdipierro 4147867098 better handling of delimeters in template, thanks Corne Dickens 2013-05-24 08:28:45 -05:00
Denis Rykov a0dead1586 Use T operator fot title attribute of grid buttons 2013-05-23 17:58:43 +07:00
mdipierro 0afc18fd24 reverted HTTP(status_message) because redundant 2013-05-19 22:14:43 -05:00
mdipierro 9f695c783e Merge pull request #96 from rpedroso/redis-session
lock in redis session
2013-05-19 17:12:53 -07:00
Ricardo Pedroso 15263ea1d6 add missing client parameter to lua script 2013-05-18 22:26:35 +01:00
Ricardo Pedroso 693c5cd5e4 add an optional lock mechanism to redis sessions 2013-05-18 20:36:53 +01:00
Ricardo Pedroso cc3f045efa get rid of val == dict() 2013-05-18 20:36:53 +01:00
mdipierro 43806a26e7 grid(...,client_side_delete=True) for redirect(client_size=True) 2013-05-17 14:53:04 -05:00
mdipierro cb4c4b3eb5 Merge pull request #95 from niphlod/issue/1380
fix small error in parse_boolean
2013-05-17 12:34:44 -07:00
mdipierro 39558267b9 Merge pull request #94 from niphlod/feature/redis_cache
new and improved redis_cache
2013-05-17 12:33:43 -07:00
niphlod 59a3c5a6e6 fix small error in parse_boolean 2013-05-17 21:23:24 +02:00
mdipierro 2c9eeccc0e fixed issue 1496:Delete button in SQLFORM.grid does not cause browser redirect, thanks jppmssaraiva 2013-05-17 14:19:51 -05:00
mdipierro 7576d85dba ics(...,calname=False) 2013-05-17 13:53:32 -05:00
mdipierro 579f0d752f stripe.charge(token=...) 2013-05-16 22:03:20 -05:00
mdipierro 65e9cc2127 alternative escaping of password in DAL uri 2013-05-15 21:35:17 -05:00
niphlod dc2fd49ecb new and improved redis_cache. Got distributed locking and faster clear() function.
also, the .increment() was a little bit bugged.
2013-05-16 00:44:24 +02:00
mdipierro a380ae69d5 IS_SLUG patch, thanks Jonathan, Niphlod and Villas 2013-05-15 12:41:28 -05:00
mdipierro 0b84911d38 allow tables with no primary keys 2013-05-15 11:20:30 -05:00
mdipierro e64c556f84 Merge pull request #93 from rpedroso/memcache-double
double -> float
2013-05-14 10:06:24 -07:00
mdipierro 18644e027e Merge pull request #92 from rpedroso/fcgi_typo
typo in contrib/gateways/fcgi.py
2013-05-14 10:05:35 -07:00
mdipierro 65642c029c Merge pull request #91 from rpedroso/redis-session
redis_session.py small fixes
2013-05-14 10:04:58 -07:00
mdipierro 11540a6132 Merge pull request #90 from rpedroso/dal-typo
dal typo
2013-05-14 10:04:14 -07:00
mdipierro a6e728316b Merge pull request #89 from espern/french-translation
new french translation + fixed errors in existing translations
2013-05-14 10:03:24 -07:00
Massimo 4cb5e3c674 merged 2013-05-14 12:01:45 -05:00
mdipierro d918a6b2e2 fixed a minor problem with the sql filter 2013-05-14 00:30:05 -05:00
Ricardo Pedroso d721451d15 double -> float 2013-05-14 00:40:50 +01:00
Ricardo Pedroso c5aaebd4a8 typo 2013-05-14 00:15:49 +01:00
Ricardo Pedroso 4c1dbf4e40 one redis instance per application 2013-05-13 21:59:04 +01:00
Ricardo Pedroso c20c055788 typo: self.session.expiry -> self.session_expiry 2013-05-13 21:31:06 +01:00
Ricardo Pedroso 44c13f9fa3 fix missing variable 2013-05-13 21:29:37 +01:00
Ricardo Pedroso ae44a9e0ac dal typo 2013-05-13 20:55:55 +01:00
mdipierro 97ba47f339 allow tables without no id and no primary key 2013-05-13 10:12:09 -05:00
mdipierro 8671b897d0 logout after delete user from profile 2013-05-12 20:08:01 -05:00
mdipierro 1a3361a1bb auth.settings.allow_delete_accounts=True 2013-05-12 10:28:08 -05:00
mdipierro 9ac438d05a removed the timeout issues Issue 1488:Web2py not run OpenSUSE 12.3 64Bits but it may now work as intended 2013-05-11 22:11:21 -05:00
mdipierro 18e45ab994 Issue 1489:some improvement in Mail send class, thanks Alan 2013-05-11 22:03:05 -05:00
mdipierro f00090846e fixed some dropbox issues, thanks Jesus 2013-05-10 08:32:51 -05:00
mdipierro 6590de030c Issue 1481:error using do_connect=False parameter in DAL creation with mongodb and couchdb is fixed, thanks Alan 2013-05-10 08:28:52 -05:00
mdipierro 714fcc5202 Better german trsnalation of admin, thanks Klaus Kappel 2013-05-10 08:26:12 -05:00
mdipierro becc947556 hack for vertica timestamp field 2013-05-09 22:31:34 -05:00
Massimo d547a955ac actual_name for readonly table support 2013-05-09 13:10:48 -05:00
mdipierro 97e0736d8e added some code to help debug issue 1471 2013-05-08 16:52:59 -05:00
mdipierro 20db6daa65 patch moves flash to left avoiding submenu, thanks Jesus 2013-05-08 16:44:52 -05:00
mdipierro 3aefb5f6de es.py thanks Jesus Alvaro 2013-05-08 16:42:29 -05:00
Massimo 30818cdf5e Issue 1482:Patch for /gluon/contrib/login_methods/dropbox_account.py, thanks Jesus 2013-05-07 15:48:59 -05:00
Massimo 4089cf2145 Issue 1480:Patch for /gluon/tools.py, thanks Jesus Alvaro 2013-05-07 15:46:23 -05:00
l01c d7893c5292 new french translation + fixed errors in existing translations 2013-05-07 13:54:39 +02:00
mdipierro cdd3f6ed00 allow arbitrary username to enable register and sign in with facebook, thanks Ting-Yu Chou 2013-05-06 22:49:04 -05:00
mdipierro e44254346c reverting previous patch, Anthony is right, the patch is not backward compatible 2013-05-06 19:49:57 -05:00
mdipierro adf82c1267 fixed Issue 1478:field.uploadfolder instead of request.folder in accepts (sqlhtml.py), thanks szunny 2013-05-06 19:10:12 -05:00
mdipierro 4d98b72702 auth.settings.client_side, thanks Anthony 2013-05-06 18:37:26 -05:00
mdipierro f02240acd3 support for different representations of IPv4 in IPv6, thanks Jonathan 2013-05-06 07:33:54 +10:00
mdipierro cabef57851 improved ipv6 address checked, thanks Jonathan 2013-05-06 07:33:54 +10:00
mdipierro 98ad12a06c db(query)(other if cond else None).select() 2013-05-06 07:33:54 +10:00
mdipierro d454eb2fe7 removed unwated file 2013-05-06 07:33:54 +10:00
mdipierro 0facbe04ef support for different representations of IPv4 in IPv6, thanks Jonathan 2013-05-05 13:31:06 -05:00
mdipierro 8f9f4aae32 improved ipv6 address checked, thanks Jonathan 2013-05-05 10:13:26 -05:00
mdipierro d5bfaf83ee db(query)(other if cond else None).select() 2013-05-04 10:24:26 -05:00
mdipierro 9e46c3cbc4 removed unwated file 2013-05-04 10:11:55 -05:00
Tim Richardson d431206e30 Fixed a very minor typo 2013-05-04 22:13:15 +10:00
mdipierro 6adfb8b944 added setup-web2py-nginx-uwsgi-centos64.sh, thanks jniltinho 2013-05-03 22:25:27 -05:00
mdipierro 0c8ccaac9a Merge pull request #87 from michele-comitini/master
fix oauth issues if redirecting in a form | http custom status error message
2013-05-03 20:22:20 -07:00
mdipierro 4f0ee4543b fixed a problem with hiding passwords for uri = list of uris, thanks David 2013-05-03 22:20:05 -05:00
mdipierro 1383d13334 @db.table.add_method.name, thanks Vinicius 2013-05-03 22:15:01 -05:00
mdipierro 1b260c4b84 fixed typo AF_NET 2013-05-03 21:47:51 -05:00
mdipierro 0ff586a1ca removed file that should not be there, thanks Niphlod 2013-05-03 21:46:06 -05:00
mdipierro 95adb233f7 issue Issue 1474 attachment: addrinfo.patch, thanks Jonathan 2013-05-03 21:42:17 -05:00
mdipierro e7f2e494af fixed Issue 1165:auth.signature: unable to reset is_active to true, thanks Ricardo 2013-05-03 21:37:26 -05:00
Michele Comitini ded9e5886d fix left over docstring after copying. 2013-05-03 17:35:03 +02:00
Michele Comitini d2757294af added support for custom state messages in HTTP 2013-05-03 17:30:25 +02:00
Michele Comitini 39da6a68fe Merge ssh://github.com/web2py/web2py 2013-05-03 17:23:17 +02:00
mdipierro 8e4bc72fca IS_IPADDRESS added to __all__ 2013-05-03 08:27:35 -05:00
mdipierro bc481e954c something went wrong with VCS, trying fix it 2013-05-02 20:32:21 -05:00
Michele Comitini e4ba924dc1 changed redirections to status code 302 to avoid issues with forms 2013-05-02 02:43:20 +02:00
mdipierro 193510b57d Merge pull request #86 from niphlod/feature/cache.action
cache.action now works with actions raising HTTP internally
2013-05-01 06:46:02 -07:00
mdipierro 88ad882d83 Merge pull request #85 from ilvalle/master
File list sidebar on Admin
2013-05-01 06:45:18 -07:00
mdipierro a90c4f7953 Merge pull request #84 from niphlod/issue/1464-1465
better T in grid/smartgrid
2013-05-01 06:44:04 -07:00
niphlod 0c2d97b9db cache.action now works with actions raising HTTP internally 2013-04-29 21:07:04 +02:00
ilvalle 1c77fdd9e1 'File list' sidebar when editing a page in admin 2013-04-29 08:52:24 +02:00
mdipierro 681bc9755e fixed potential vulnerability in form CRSF handling, thanks Anthony 2013-04-28 23:09:49 -05:00
mdipierro 31e992696c fixed potential vulnerability in form CRSF handling, thanks Anthony 2013-04-28 23:05:40 -05:00
mdipierro 813411a408 grid.rows 2013-04-28 17:32:10 -05:00
niphlod 1702d1ac1f removed unused imports, fixes issue 1464 (wrong and missing T in grid and smartgrid), fixes issue 1465 (translation of "None" message) 2013-04-28 20:31:10 +02:00
mdipierro 022a2af8b1 Merge pull request #83 from yasinmuaz/patch-1
Turkish language support for Welcome app
2013-04-27 16:30:00 -07:00
yasinmuaz d46d16bc2b Update and rename tr-tr.py to tr.py 2013-04-27 23:35:44 +03:00
yasinmuaz ae3ff2313d Update tr-tr.py 2013-04-27 23:04:17 +03:00
yasinmuaz 669586f15e Turkish language support 2013-04-27 22:50:50 +03:00
mdipierro 46fbcc8d22 Merge pull request #82 from leonelcamara/patch-1
Mail - Added hostname to settings before locking
2013-04-26 08:32:00 -07:00
Massimo 178f94af8c fixed optional formatting of empty list:string 2013-04-25 18:10:56 -05:00
Leonel Câmara 2f6b3a0bda Mail - Added hostname to settings before locking
Added settings.hostname before locking settings, the class may need a comment explaining when is settings.hostname needed
2013-04-25 16:34:34 +02:00
mdipierro 97b70eff9f better populate 2013-04-24 18:05:22 -05:00
mdipierro 3efa77b57a Merge pull request #81 from niphlod/issue/1459
fixed issue 1459
2013-04-23 21:25:56 -07:00
mdipierro 48977ba04c Merge pull request #80 from niphlod/issue/1458
fixed issue 1458
2013-04-23 21:25:17 -07:00
mdipierro 94e3271481 fixed a long stanging problem with helo and hostname, thanks Leonel Câmara 2013-04-23 23:21:17 -05:00
niphlod 04f6e7ee38 fixed issue 1459 2013-04-23 23:04:12 +02:00
niphlod 15c9e685c8 fixed issue 1458 2013-04-23 22:35:43 +02:00
mdipierro b00463bdf4 fixed gluon/contrib/imageutils.py image path, thanks Tito Garrido 2013-04-21 19:50:55 -05:00
mdipierro c17e642f1f Merge pull request #79 from z4y4ts/master
Adds Query.__rand__ and dal.Query.__ror__
2013-04-20 10:39:55 -07:00
mdipierro a2e118ec50 fixed Issue 1456:encoding in mail.send, thanks Corne 2013-04-19 23:46:38 -05:00
Alexander Zayats 45bda63ed3 Adds Query.__rand__ and dal.Query.__ror__
Adds __rand__ == __and__ and __ror__ == __or__.

Also strips trailing spaces.
2013-04-18 16:15:06 +03:00
mdipierro c909af4a86 Merge pull request #77 from niphlod/feature/cache_count_grid
new arg to SQLFORM.grid to help with large datasets
2013-04-17 15:11:38 -07:00
mdipierro b5a7c7e30f Merge pull request #78 from niphlod/feature/test_markmin
add doctest hook for markmin. It wasn't run previously.
2013-04-17 15:11:29 -07:00
niphlod 6594e7a607 add doctest hook for markmin. It wasn't run previously. 2013-04-17 23:55:11 +02:00
niphlod 4d8dedeb27 new arg to SQLFORM.grid to help with large datasets 2013-04-17 23:01:01 +02:00
mdipierro b0e3e386e7 Merge pull request #76 from niphlod/feature/coverage
coverage integration
2013-04-16 14:19:58 -07:00
niphlod ad4870e338 windows-friendly coverage.ini, better handling for custom coverage settings, typo on contenttype.py 2013-04-16 22:47:12 +02:00
mdipierro c1f0bc3a6d fixed Issue 1453: Missing equivalent for Row.__int__ that works with new long-type record id, thanks Dominic 2013-04-15 22:58:05 -05:00
mdipierro 887d4cc136 enabled doctests (python 2.7 only) 2013-04-15 18:05:59 -05:00
mdipierro bbe787b7b4 new web2py_bootstrap.js, thanks Paolo Caruccio 2013-04-15 17:58:45 -05:00
mdipierro 7341988b01 hooking old doctests into unittests, thanks Niphlod 2013-04-15 17:19:11 -05:00
mdipierro 44eb880108 added test coverage link 2013-04-15 15:59:40 -05:00
niphlod c01f860009 added .coveragerc 2013-04-15 21:54:30 +02:00
niphlod f9315a8cc7 coverage integration, default .coveragerc and .travis.yml ready for coveralls.io 2013-04-15 21:50:36 +02:00
mdipierro 40918f44fd auto parsing of json content-type, thanks Niphlod 2013-04-15 10:16:18 -05:00
mdipierro 9fdb586d03 auth.requires_login() and ajax - don't force just 401, thanks Anthony 2013-04-15 10:06:25 -05:00
mdipierro 448c398341 Merge pull request #75 from michele-comitini/master
isempty() IS_NOT_IN_DB() speedup
2013-04-14 20:46:44 -07:00
mdipierro 618c322603 more more span6 in form in wiki 2013-04-12 23:33:36 -05:00
mdipierro b5c9ed633b fixed title-less layout 2013-04-12 23:30:19 -05:00
mdipierro 80342a22f5 fixed a bug in settings in wiki 2013-04-12 23:21:37 -05:00
Michele Comitini c999b16a27 Merge with upstream. 2013-04-13 00:04:26 +02:00
Michele Comitini 9bda793d46 orderby disabled where not needed 2013-04-13 00:03:43 +02:00
Massimo 5e9fbdd24f faster labels, thanks Anthony 2013-04-12 13:07:37 -05:00
Massimo 446e641e64 fixed issue 1443, automenu for wiki, thanks Alan 2013-04-12 10:46:58 -05:00
Massimo 7d53ec6d71 fixed loading or routes on winservice, thanks Stephen Tanner 2013-04-12 10:31:55 -05:00
mdipierro 7b0cf5bc12 fixed auth.settings.wiki and make populate generator 2013-04-10 22:14:59 -05:00
mdipierro a82034d516 auth.wiki(controller=...,function=...) always displays menu 2013-04-10 12:37:38 -05:00
mdipierro 4973361136 Merge branch 'master' of github.com:web2py/web2py 2013-04-10 11:09:44 -05:00
mdipierro 3b69d4bf7b Merge pull request #73 from wangganggithub/master
Add language file: zh-cn.py, zh-tw.py
2013-04-10 09:09:28 -07:00
wangganggithub fd5e14ea0d Create zh-tw.py
purely a clone of 'zh.py'.
rename to 'zh-tw.py' for more precise
2013-04-10 12:44:21 +08:00
wangganggithub 9fc3b2bc26 Update zh.py
fix 'langcode' from 'zh-cn' to 'zh-tw'.
2013-04-10 12:06:02 +08:00
wangganggithub 19cc977917 Create zh-cn.py
This is a specific language file for 'zh-cn'.
The former 'zh.py' should be renamed to 'zh-tw.py'.

web2py is a good project, thank you very much.
I wish I could do something for you all.
2013-04-10 12:04:49 +08:00
Massimo ce481d9002 fixed Issue 1439:ajax_error_500 var in web2py_ajax.html includes post vars, thanks Anthony 2013-04-09 16:46:48 -05:00
Massimo 2421a31b25 no links to media if page not saved 2013-04-09 16:42:41 -05:00
Massimo 94c79820b9 links with images in markmin 2013-04-09 16:33:45 -05:00
Massimo 80b38a743f [[http://link http://image img]] in markmin 2013-04-09 16:13:55 -05:00
Massimo af01b45852 ogg contenttype, thanks Ricardo 2013-04-09 16:00:25 -05:00
Massimo a2de6f12d1 ogg -> audio/ogg in contenttype 2013-04-09 09:20:28 -05:00
Massimo 2af81d2e7a fixed indonesian languages thanks Steve 2013-04-09 09:07:46 -05:00
mdipierro 0f691f2757 MARKMIN('<unicode>') 2013-04-08 21:45:19 -05:00
mdipierro be021db3d3 int -> long 2013-04-08 21:42:15 -05:00
mdipierro acd0ebd09d some clenup 2013-04-08 17:29:21 -05:00
mdipierro 3d5e594070 removed one more 2013-04-08 12:44:52 -05:00
mdipierro 58247e3d6b fixed Issue 1436:SQLFORM.grid search widget omits decimal data type 2013-04-08 12:40:52 -05:00
mdipierro 9f35635233 added Malesian and Indonesian languages, thanks Steve Van Christie 2013-04-08 11:13:15 -05:00
mdipierro 2119bacd22 Merge pull request #71 from grutz/IS_IPADDRESS
Adds IS_IPADDRESS() to gluon/validators.py
2013-04-07 19:41:25 -07:00
mdipierro d55fab540c Merge pull request #72 from grutz/auth_wiki_migrates
Add migrate control to Auth.wiki()
2013-04-07 19:39:26 -07:00
mdipierro 1344c50f85 fixed Issue 1434:admin page error listing with maximum recursion depth exceeded 2013-04-07 19:55:52 -05:00
mdipierro e8d97f5706 fixed issue 1433 & 885, login radius integration, thanks Nathan Freeze 2013-04-07 19:44:56 -05:00
mdipierro 35704f3527 new .travis.ci for Pypy testing, thanks Niphlod 2013-04-07 19:42:41 -05:00
mdipierro 96fb5b0755 pypi dal patch, thanks Niphlod 2013-04-07 19:37:32 -05:00
mdipierro 81f017a7c0 fixed OGV content-type 2013-04-06 12:22:46 -05:00
mdipierro aca3d43f0a R-2.4.6 2013-04-06 12:12:32 -05:00
mdipierro 5a898cc80a fixed Issue 1406:Table scrollbar problem in IE, thanks czhang2000 2013-04-06 11:13:31 -05:00
mdipierro bfb3a320bd comment about incompatibility of GAE static mapping and parametric router syntax, thanks Jonathan 2013-04-06 10:14:38 -05:00
mdipierro c0b1e387b1 fixed Issue 1409:Mail.send defaults for subject, message appear to be wrong 2013-04-06 10:10:37 -05:00
mdipierro c175e6340d Issue 1415:Untranslated label for SQLFORM 'Check to delete' checkbox, thanks Dmitry 2013-04-06 10:06:27 -05:00
mdipierro 3a5f7b05df attempt to address issue 1424 2013-04-06 10:02:55 -05:00
mdipierro 26babd7e96 fixed Issue 1416:auth.wiki login loop unless the user is admin, thanks Alan 2013-04-06 09:52:42 -05:00
mdipierro 349088a96e fixed Issue 1428:backslash in edit controller URL, thanks Frank 2013-04-06 09:48:51 -05:00
mdipierro a4ff77bdb9 fixed Issue 1430:options_std.py ssl_certificate and ssl_private_key default value broken on web2py 2.4.5, thanks wprins 2013-04-06 09:44:16 -05:00
mdipierro 8f70d3a802 fixed Issue 1431:Typo in web2py documentation, thanks dabweather.FBI 2013-04-06 09:42:37 -05:00
mdipierro 89021b6409 fixed Issue 1432:Oracle: invalid SQL generated when requires = IS_NOT_IN_DB, thanks jphillips 2013-04-06 09:40:07 -05:00
mdipierro 4a078705b3 fixed issue 1246 with a nested select 2013-04-06 09:38:16 -05:00
Massimo 6eea834777 fixed bug in scheduler context switch, thanks Niphlod 2013-04-05 16:01:13 -05:00
Kurt Grutzmacher b863ff048e Add migrate control to Auth.wiki()
The Auth.wiki() function does not allow for control of the migration
settings, always defaulting to migrate=True. In some instances the
developer may want to not force migration. This change adds the
ability to set the migrate option. Fake_migrate was not added but
can be if desired.
2013-04-05 09:25:20 -07:00
Kurt Grutzmacher 79a4693f34 Adds IS_IPADDRESS() to gluon/validators.py
IS_IPADDRESS() is mostly a meta function that will call IS_IPV4()
or IS_IPV6 accordingly based upon both dev-configured logic and
library checking of the address given. For instance:

 >>> IS_IPADDRESS()('192.168.1.5')
 ('192.168.1.5', None)

will run through the IS_IPV4() function since the ipaddr.py lib
recognizes it as an IPv4 address. Specific v4 or v6 validation
can be done by setting is_ipv4=True or is_ipv6=True:

 >>> IS_IPADDRESS(is_ipv4=True)('fe80::126c:8ffa:fe22:b3af')
 ('fe80::126c:8ffa:fe22:b3af', 'enter valid IP address')
 >>> IS_IPADDRESS(is_ipv6=True)('192.168.1.1')
 ('192.168.1.1', 'enter valid IP address')

The same arguments for IS_IPV4() and IS_IPV6() are supported and
no changes have been made to either of these two functions. The
goal of this function is to allow IPv4 or IPv6 addresses in a
textfield:

 INPUT(_type='text', _name='name', requires=IS_IPADDRESS())
2013-04-05 09:14:37 -07:00
mdipierro 0f0a62ef7f possible fix for Issue 1426:Count(*) query is incorrect when SQLFORM.grid() contains groupby parameter, thanks daveshih01 2013-04-04 21:11:19 -05:00
mdipierro cc8a21aedf document better the -X option, thanks Niphlod 2013-04-03 16:49:15 -05:00
mdipierro 38fff6fb91 better reporting in scheduler, thanks Niphlod 2013-04-03 16:42:27 -05:00
mdipierro e87a2bf0d5 populate(...contents), thanks Vinicius 2013-04-03 14:46:13 -05:00
mdipierro 6b3cdb5a99 fixed string concatenation in MySQL 2013-04-03 11:32:17 -05:00
mdipierro e2191175da smarter CONTAINS and REPLACE 2013-04-03 09:50:28 -05:00
Massimo 4a7f15bb04 fixed typo in examples page 2013-04-02 16:15:26 -05:00
mdipierro e6c58c3c6f Issue 1425:Check NoSQL, not GAE or Mongo, thanks Alan 2013-04-02 11:22:53 -05:00
mdipierro bb2407b468 interfear->interfere, thanks Ramos 2013-04-02 11:21:15 -05:00
mdipierro 07e809acb3 app pack custom 2013-04-02 11:12:40 -05:00
mdipierro 7714b5dc7b remove un-necessary checks 2013-04-01 19:18:56 -05:00
mdipierro ca85d9adab Issue 1418:Enhancement - SQLFORM.grid param. to change selectable option's submit button text, thanks bpeterso2013 2013-04-01 14:39:20 -05:00
mdipierro 41a9f12024 fixed Issue 1419:Using a recursive select but encountered a broken reference (versioning and auth.signature) 2013-04-01 14:36:14 -05:00
mdipierro 669691bbea Issue 1423:smartgrid multiple links to related table - how to suppress all but one, thanks cjkske 2013-04-01 14:14:41 -05:00
mdipierro 6ac38e7c56 fixed Issue 1414:Error with ldap_auth and using allowed_groups against AD 2008, thnaks Peter Gastinger 2013-04-01 12:45:09 -05:00
mdipierro 359758804b fixed contains(field) in postgresq for list:string 2013-04-01 09:32:44 -05:00
mdipierro 9400a0c7a1 fixed spanish translation, thanks neoecos 2013-03-31 19:14:17 -05:00
mdipierro ea34d1b3a0 fixed issue 1422, rss serializer encoding, thanks neoecos 2013-03-31 19:11:31 -05:00
mdipierro 72e9921901 fixed problem with hideerror, thanks Ricardo 2013-03-31 19:09:27 -05:00
mdipierro d6af8279bc Merge pull request #68 from mictee/any_of_validator
Added an ANY_OF validator
2013-03-31 16:17:48 -07:00
mdipierro cd005b01c0 Merge pull request #69 from grutz/IS_IPV6
Adds IS_IPV6() validator using Google ipaddr.py library
2013-03-31 16:16:50 -07:00
mdipierro fa04c23bbf Merge branch 'master' of github.com:web2py/web2py 2013-03-31 18:15:41 -05:00
mdipierro 6ecc09f286 Merge pull request #70 from gokceneraslan/patch-1
Render form content instead
2013-03-31 16:14:53 -07:00
mdipierro 4b0f6aff73 better Expose 2013-03-31 15:32:15 -05:00
Gökçen Eraslan c451f57d4e Render form content instead 2013-03-29 22:25:39 +01:00
Kurt Grutzmacher 721cb2b90a Adds IS_IPV6() validator using Google ipaddr.py library
ipaddr.py library rev/3144 has been approved as a standard python
library for python3. IS_IPV4() was not modified to use the library.
2013-03-29 08:55:06 -07:00
mdipierro 01d5302a2d no more bzr 2013-03-29 02:31:41 -05:00
mdipierro 706324b9c6 cleanup of whitespaces in scripts 2013-03-29 02:30:15 -05:00
mdipierro 244d3c68eb fixed newlines 2013-03-29 02:13:35 -05:00
mdipierro fcfa8aa917 added common_filter tests 2013-03-29 02:08:41 -05:00
mdipierro 8438a432e9 fixed issue 1405, ORDERBY and mssql, thanks Niphlod 2013-03-28 15:18:44 -05:00
mdipierro 9d5e0b24f7 Merge pull request #66 from mictee/arch_run_script
Improved process handling an error handling in web2py.archlinux.sh
2013-03-28 13:09:40 -07:00
mdipierro 4480acd6f7 Merge pull request #67 from michele-comitini/master
avoid ordering on limitby
2013-03-28 13:05:09 -07:00
mdipierro cd1ce28639 encoding in mail.send, thanks Jonathan 2013-03-28 14:59:06 -05:00
mdipierro bf5fbd8b09 fixed issue 1411, list of vars when using radiowidget, thanks Dmitry Mosin 2013-03-28 14:46:31 -05:00
mdipierro 515e284c22 issue 1412, common_filters and joins, thanks Felipe Merelles 2013-03-28 14:44:32 -05:00
mictee f98548827a Added an ANY_OF validator that allows a value to be valid according to any of a list of validators. 2013-03-26 17:24:19 +01:00
Michele Comitini b67e57f275 avoid ordering on limitby 2013-03-26 15:30:53 +01:00
mictee 7005fb655c Improved process handling an error handling in web2py.archlinux.sh 2013-03-26 13:47:41 +01:00
mdipierro b9189771d0 fixed mongodb issue 1401 and improvements, thanks Alan 2013-03-25 15:27:45 -05:00
mdipierro b15211064d fixed NoSQL Json, thanks Alan 2013-03-25 15:25:29 -05:00
Massimo 30ea9ac56b fixed cache and it.py, thanks Niphlod 2013-03-22 15:38:05 -05:00
Massimo dab4950f14 fixed cs BOM hopefully 2013-03-22 15:37:00 -05:00
Massimo 0fce3655d5 enabling test_web tests in travis, thanks Niphlod 2013-03-21 15:10:32 -05:00
Massimo 91504fbc2c better test_web.py, thanks Niphlod 2013-03-21 12:04:39 -05:00
Massimo 4b17684980 fixed issue 1397, fixed CHAR_LENGTH in Firebird thanks Villas 2013-03-21 11:29:31 -05:00
Massimo 675245eb15 fixed issue 1398, brackets in libspatialite load extension, thanks rmdpedroso 2013-03-21 11:21:53 -05:00
mdipierro 3494fa2d0d changed the logic behind tz 2013-03-18 22:48:52 -05:00
mdipierro 87a593845c added a test, thanks Jonathan 2013-03-18 22:03:39 -05:00
Massimo b9d80fcdc7 R-2.4.5 2013-03-18 17:37:49 -05:00
Massimo 3f7d085f73 fixed timezone and textarea default width 2013-03-18 17:34:06 -05:00
Massimo d57dd72780 upgraded fpdf, better tests, passes travis.ci tests, thanks Niphlod 2013-03-18 16:59:57 -05:00
Massimo a8d1d5cfcf upgraded fpdf, better tests, passes travis.ci tests, thanks Niphlod 2013-03-18 16:52:47 -05:00
mdipierro 8857e3d521 IS_DATE/DATETIME/etc. (timezone=user_timezone in hrs) 2013-03-17 18:53:19 -05:00
mdipierro 3b1a5be1be fixed (possibly) truncate for GAE 2013-03-17 15:27:47 -05:00
mdipierro c9a63a8524 fixed issue 1393, cast_keys in dict for python 2.5 support, thanks Alan and Niphlod 2013-03-17 12:11:10 -05:00
mdipierro cd967d2551 new travis.ci 2013-03-16 20:53:24 -05:00
mdipierro 92b5247f9f typo Fir(e)bird, thanks Jonathan 2013-03-15 21:27:52 -05:00
mdipierro 45a5b436c8 patched fpdf for 2.5, thanks Niphlod 2013-03-15 15:28:50 -05:00
mdipierro bfd385f969 travis badge in README, thanks niphlod 2013-03-15 15:12:01 -05:00
mdipierro f693fe6b2a added .travis.yml 2013-03-15 14:55:36 -05:00
mdipierro b040159a9b fixed issue 1385, thanks Alan 2013-03-15 14:14:40 -05:00
mdipierro f3af2a1999 fixed issue 1382, sanitizer accepts mailto, thanks lightdot 2013-03-15 10:17:33 -05:00
mdipierro f613a4cc99 wiki.settings, thanks Alan 2013-03-15 10:14:33 -05:00
mdipierro e4a96125a6 fixed issue 1390, dateTtime separator in MSSQL, thanks score2000 2013-03-15 10:05:52 -05:00
mdipierro e48074ff54 fixed issue 1391, sub for decimal 2013-03-15 10:00:45 -05:00
mdipierro 2ed122a534 fixed typo, thank you Philipp Storz 2013-03-15 09:49:46 -05:00
mdipierro 65c0d9b18b italian patch 2013-03-15 09:46:55 -05:00
mdipierro 6702694590 fixed slidetoggle boxes in new admin, thanks Annet and Niphlod 2013-03-15 09:44:22 -05:00
mdipierro 6f0d4d039e fixed upload default values, thanks Marin Pranjic 2013-03-15 09:38:47 -05:00
mdipierro 1325b0e48f Merge pull request #65 from michele-comitini/master
HTTP exceptions in jsonrpc2
2013-03-15 07:25:55 -07:00
Michele Comitini 7421eb8068 avoid treating HTTP redirections or status codes generated in jsonrpc2 functions as error exceptions 2013-03-14 21:54:38 +01:00
Michele Comitini 6c7a9a4030 avoid treating HTTP redirections or status codes generated in jsonrpc2 functions as error exceptions 2013-03-14 21:49:05 +01:00
Massimo ba0a143717 scheduler patch allows termination of tasks, thanks niphlod 2013-03-12 10:40:57 -05:00
mdipierro 28bcb5ed6c added sessions in cookie for examples 2013-03-11 18:12:01 -05:00
mdipierro 44fd637a1f R-2.4.4 2013-03-11 15:26:36 -05:00
mdipierro f13aed1a84 R-2.4.3 2013-03-11 14:41:10 -05:00
mdipierro cb3de825f2 /examples/default/version/raw 2013-03-11 14:38:04 -05:00
mdipierro fd4c775710 split->partition, thanks Ricardo 2013-03-11 14:28:48 -05:00
mdipierro 3e550b3e97 Merge branch 'master' of github.com:web2py/web2py 2013-03-11 14:25:01 -05:00
mdipierro 7a543250f9 Merge pull request #64 from michele-comitini/master
uwsgi doen't like unicode headers
2013-03-11 12:24:38 -07:00
mdipierro a071f07634 fixed issue with version 2013-03-11 14:22:40 -05:00
Michele Comitini a078f860d2 basic auth header changed to string from unicode 2013-03-11 18:42:00 +01:00
mdipierro 2bfd7a2467 fixed issue 1327, breadcrumbs in smartgrid 2013-03-11 11:10:45 -05:00
mdipierro 55c9392de4 fixed ccache, issue 1377 2013-03-11 10:22:40 -05:00
mdipierro 7991b555ff fixed some style issues 2013-03-11 10:01:03 -05:00
mdipierro eab7815c24 Merge pull request #63 from michele-comitini/master
rfc basic auth challenge
2013-03-11 07:46:29 -07:00
mdipierro 79c09de103 fixed download bug 2013-03-11 09:45:20 -05:00
mdipierro 24daa335b6 examples uses cookie based sessions 2013-03-11 08:50:01 -05:00
Michele Comitini 812ba9d52b docstring improved 2013-03-11 14:40:34 +01:00
mdipierro 00fb3b56cc fixed some links 2013-03-11 08:25:44 -05:00
Michele Comitini 3644d081f6 rfc compliant basic auth 2013-03-11 13:13:08 +01:00
mdipierro f05c46b3f1 partially fixed alignment in examples 2013-03-11 01:02:31 -05:00
mdipierro 13e76fe278 removed sitemap 2013-03-11 00:58:14 -05:00
mdipierro 0906ae28c1 no more plugin wiki 2013-03-10 22:12:46 -05:00
mdipierro 04905adb89 new examples based on bootstrap. no more skeleton.css 2013-03-10 21:58:50 -05:00
mdipierro 9767109d4e changed retrieve again 2013-03-10 17:40:36 -05:00
mdipierro a57919bc4d share widget 2013-03-10 17:08:43 -05:00
mdipierro c7c94d1f8f added image 2013-03-10 17:04:53 -05:00
mdipierro 817e6c3313 changed header of example... should move examples to bootstrap 2013-03-10 16:55:47 -05:00
mdipierro a23f4c5c88 Merge branch 'master' of github.com:web2py/web2py 2013-03-10 15:58:24 -05:00
mdipierro eac9768549 Merge pull request #62 from michele-comitini/master
jsonrpc-2.0
2013-03-10 13:58:18 -07:00
mdipierro a42fb6b558 Merge branch 'master' of github.com:web2py/web2py 2013-03-10 15:57:17 -05:00
mdipierro 879e825b61 Merge pull request #61 from clach04/master
Improved Ingres support, no longer needs IngresDBI, uses pyodbc instead
2013-03-10 13:56:55 -07:00
mdipierro 07f4310153 questions in examples 2013-03-10 15:45:15 -05:00
mdipierro 10c67e5be3 google group, no chat 2013-03-10 13:05:58 -05:00
mdipierro 1279d5ddaa added codemirror link, thanks Niphlod 2013-03-10 12:55:22 -05:00
mdipierro 2af15e4b27 fixed help link again 2013-03-10 12:51:09 -05:00
mdipierro 3096fcf045 chat in admin 2013-03-10 12:48:04 -05:00
mdipierro 831492448a a2enmod wsgi in ubuntu setup script, thanks badweather.FBI 2013-03-10 11:38:36 -05:00
mdipierro a5284e846c DIV(...,data=dict(action='whatever') 2013-03-10 11:27:13 -05:00
mdipierro 22accaced3 cache.client 2013-03-10 11:14:30 -05:00
mdipierro f92d97f36e fixed bug in encode/decode, thanks Jonathan 2013-03-10 11:06:20 -05:00
mdipierro 4f0a16a24c fixed flash 2013-03-10 11:04:43 -05:00
mdipierro 72dade793a attempt to support unicode in IT_MATCH 2013-03-10 10:45:29 -05:00
mdipierro 8addc54015 better cron stopping, thanks Álvaro José Iradier 2013-03-10 10:21:47 -05:00
mdipierro 25ab6f9a07 better twitter feed display 2013-03-10 09:10:30 -05:00
mdipierro b853f72e0c possibly fixed size spike in uploads in grid, thanks Ricardo 2013-03-10 08:25:54 -05:00
mdipierro 449a658521 fixed GAE to better support ustom_qualifier, thanks cfhowes 2013-03-10 08:19:28 -05:00
mdipierro 7776a22533 fixed Ingres constr typo, thanks Chris Clark 2013-03-10 07:54:44 -05:00
Michele Comitini 554eccc14a fixed request missing current prefix causing wrongly handled exceptions. 2013-03-09 21:29:06 +01:00
Michele Comitini 8cd6928da3 Revert "fixed request missing current prefix causing wrongly handled exceptions."
This reverts commit 8c28be1041.
Removed NEWINSTALL by error.
2013-03-09 21:21:26 +01:00
Michele Comitini 8c28be1041 fixed request missing current prefix causing wrongly handled exceptions. 2013-03-09 21:16:58 +01:00
mdipierro 810aa8f4f3 noconfirm in grid, thanks Niphlod 2013-03-09 09:36:17 -06:00
mdipierro 8e5be952bf fixed alignment in admin tooltips, thanks Paolo 2013-03-09 09:34:27 -06:00
mdipierro 5a560fee8a cleaned up examples/controller/global.py 2013-03-09 00:17:56 -06:00
clach04 21819ffc5d Remove dependency on IngresDBI, use pyodbc instead for Ingres/Vectorwise support. 2013-03-08 18:09:41 -08:00
mdipierro 1f8bdd6061 fixed search in design 2013-03-08 19:22:51 -06:00
Massimo 523c813439 fixed some layout problems 2013-03-08 16:30:11 -06:00
mdipierro 7ee638bc36 Merge pull request #60 from michele-comitini/master
oauth 2 fixes
2013-03-08 10:13:17 -08:00
mdipierro 76c515d3af Merge pull request #59 from pyner/patch-1
Update gluon/globals.py
2013-03-08 10:11:50 -08:00
Massimo 1c8ce00657 reverted recent change to retrieve, thanks Anthony for pointing out why the original correct is better than the 'fixed' one 2013-03-08 12:06:05 -06:00
Michele Comitini 0f4bbecd2a Merge with upstream 2013-03-08 18:36:52 +01:00
Michele Comitini e292f5a869 removed http_x_forwarded for until a better solution is found. 2013-03-08 18:36:06 +01:00
Massimo da25c6f843 fixed CONTAINS (again) 2013-03-08 10:19:13 -06:00
Massimo 5122fbe110 fixed issue 1366, minor rewrite in retrieve, thanks Dominic 2013-03-08 10:16:48 -06:00
Massimo dee3a3b655 fixed issue 1358, himBH>jQuery, thanks FeDjango 2013-03-08 10:06:03 -06:00
mdipierro 4e2bcd22d9 added cheatsheet 2013-03-06 12:37:44 -06:00
mdipierro 17890027a6 fixed issue 1357, date/datetime serialization in as_dict, thanks Alan 2013-03-06 12:31:39 -06:00
mdipierro 5e93804525 fixed issue 1359, typo in dal custom qualifier, thanks Vincenzo 2013-03-06 12:28:48 -06:00
mdipierro 778070dd8a fixed issue 1361, typo in contains, thanks Villas 2013-03-06 12:27:06 -06:00
mdipierro 74ecc762f3 fixed issue 1363, failsafe when languages folder does not exist, thanks Roberto 2013-03-06 12:24:30 -06:00
mdipierro 63f7b35cf8 fixed issue 1364, unicode in emails, thanks Corne 2013-03-06 12:21:22 -06:00
Massimo 0c3f4601cc 5th edition book link 2013-03-05 14:29:54 -06:00
mdipierro 9f0760c887 2.4.2 2013-03-03 21:23:16 -06:00
mdipierro 6d787d3e7e fixed typo in keyed tables, thanks Denes 2013-03-03 13:49:44 -06:00
mdipierro f79b04884c dal parse_date should always return date, issue 1344, thanks Niphlod 2013-03-02 12:56:12 -06:00
mdipierro 23af844d5b added content-type entries, thanks Niphlod 2013-03-02 12:54:36 -06:00
mdipierro ea7d82acf9 auth.accessible_query(query or set), isue 1356, thanks Alan 2013-03-02 12:52:22 -06:00
mdipierro f492148958 cs language no BOM, thanks David 2013-03-02 11:29:55 -06:00
mdipierro 8414e638ec fixed problem with keyed tables, thanks Denes 2013-03-02 09:18:04 -06:00
Massimo 0193db35b6 added Czech, thanks you David Herman 2013-03-01 12:46:20 -06:00
mdipierro b891723bab Form serialization enhancement, issue 1351, thanks Alan 2013-02-27 09:53:36 -06:00
mdipierro 1d8aa5672e re-synced plugin mobile, just in case 2013-02-27 09:48:06 -06:00
Massimo 0def24381e more attributes in virtual fields, thanks Donatas Burba 2013-02-26 11:40:59 -06:00
mdipierro b441e99e95 fixed has_membership True for invalid groups 2013-02-25 23:19:55 -06:00
mdipierro 40ceb92195 experimental patch to disable automatic GAE indexing, thanks howesc 2013-02-23 14:51:45 -06:00
mdipierro 38cac5dd58 no more xxx, thanks Howesc 2013-02-22 18:45:26 -06:00
mdipierro b64bf54f3e fixed keyed table issue, thanks Denes 2013-02-22 10:18:59 -06:00
Massimo 5d9fc2e9af fixed issue VirtualFields in select options 2013-02-21 10:21:31 -06:00
Massimo 9c970632c5 scheduler patch, thanks Niphlod 2013-02-21 10:16:30 -06:00
Massimo 58c32f5a05 patch for sanitizer allowed tags, thanks Alan 2013-02-21 09:58:28 -06:00
Massimo 8961060461 issue 1350, enhance form serialization for services/json output, thanks Alan 2013-02-21 09:45:16 -06:00
Massimo 5f290544e0 writedoc.py 2013-02-20 10:38:02 -06:00
mdipierro 7f4dc7ed42 added logging in db._lastsql the CREATE TABLE 2013-02-18 13:54:10 -06:00
pyner 101b74398f Update gluon/globals.py
typescript support (http://www.typescriptlang.org/)
2013-02-18 14:36:12 -05:00
mdipierro a36366ac61 changed in requires which may have fixed issue 1330 2013-02-17 21:30:21 -06:00
mdipierro 55afa0f31d upgraded fpdf to 1.7.1 2013-02-17 11:28:02 -06:00
mdipierro 892471d8e5 fixed issue 1340, bugs in as_dict, thanks Alan 2013-02-17 09:49:44 -06:00
mdipierro 4334ae38ed fixed issue 1339, faster IS_NOT_IN_DB 2013-02-17 01:00:01 -06:00
mdipierro be2ef9b626 fixed issue 1336 again 2013-02-16 10:00:35 -06:00
mdipierro 954e84db3c reverting change to issue 1336 2013-02-16 09:31:47 -06:00
mdipierro 8e63c8f937 using google for QR codes, thanks 黄祥 2013-02-16 09:15:26 -06:00
mdipierro 93f26540e6 allow component that do not reload, thanks Niphlod 2013-02-15 17:33:55 -06:00
mdipierro 08150f3a9d fixed issue 1337, as_dict(...,field_options=True), thanks Alan 2013-02-15 17:29:00 -06:00
mdipierro c9ad41288f uri not None, issue 1336, thanks Anthony 2013-02-15 17:25:58 -06:00
mdipierro 46d3fd92c9 _insert_empty, thanks Alan 2013-02-15 17:24:37 -06:00
Massimo 564f07e354 IS_EXPR(lambda value: None(=) 2013-02-15 10:51:30 -06:00
Massimo 5618350c0b added web2py.gif, thanks Niphlod 2013-02-14 17:34:04 -06:00
Massimo 77808c958c web2py icon in ubuntu, thanks Niphlod 2013-02-14 16:10:57 -06:00
Massimo c121589499 fixed bug in latest commit, thanks Niphlod 2013-02-14 14:41:52 -06:00
Massimo 18d2cc4f12 fixed issue 1334, thanks Jonathan Bohren 2013-02-14 14:22:46 -06:00
Massimo 50193471d6 better IS_NOT_IN_DB, new scheduler API, after_connection dal callback, thanks Niphlod 2013-02-14 14:15:27 -06:00
mdipierro 7ef19ecf47 allow a dict as uri, issue 1316, thanks Alan 2013-02-13 09:36:07 -06:00
mdipierro 098da4124f fixed yaml import issue 1333, thanks Alan 2013-02-13 09:31:26 -06:00
mdipierro b39788f883 fixed issue 1331, unkown http_x_forwarded_for, thanks Tyrone 2013-02-13 09:29:47 -06:00
mdipierro ae803727e9 auth.settings.ondelete='CASCADE', issue 1328 2013-02-13 08:41:31 -06:00
mdipierro f2dca4698c issue 1325 (hidden->display:none), thanks Anthony 2013-02-13 08:35:42 -06:00
mdipierro b940837c51 upgraded pypyodbc.py, thanks 江文 <jiangwen365@gmail.com> 2013-02-11 00:26:59 -06:00
mdipierro 481b6455f3 added pypyodbc 2013-02-10 23:28:32 -06:00
mdipierro b5b3fda329 'user' -> self.settings.function, thanks Vishal Agarwal 2013-02-10 23:22:34 -06:00
mdipierro a634c055c4 Merge pull request #58 from mwielgoszewski/master
Cryptographic vulnerabilities: Key as IV, insecure HMAC comparison
2013-02-10 15:17:54 -08:00
mdipierro 6a4012bfcc Merge pull request #57 from michele-comitini/master
OAuth 2.0 rfc6749 compliance
2013-02-10 15:15:43 -08:00
mdipierro befa55d0e1 Merge pull request #56 from jbohren-forks/fix-formstyle-help
Switching style class for auto-generated form help to "help-block"
2013-02-10 15:14:40 -08:00
mdipierro e31a9005ba Merge branch 'master' of github.com:web2py/web2py 2013-02-10 17:13:43 -06:00
mdipierro aaa379ead0 Make the menu html serializer pass LI items through as-is (allows for separators), issue github 55, thanks Jonathan Bohren 2013-02-10 17:12:44 -06:00
mdipierro c31ac85bfa Merge pull request #55 from jbohren-forks/fix-manual-li-in-menu
Make the menu html serializer pass LI items through as-is (allows for separators)
2013-02-10 15:12:15 -08:00
Michele Comitini 33ada924e8 manage https scheme without relying only on wsgi info 2013-02-09 15:06:33 +01:00
Michele Comitini 211462ecbc Merge github.com:web2py/web2py 2013-02-09 02:27:16 +01:00
Massimo ae12b74620 mysql regexp 2013-02-08 13:01:36 -06:00
Massimo 66c3855e23 id!=None in grid 2013-02-08 12:42:10 -06:00
mdipierro 343f295b6b better parse as rest, thanks Denes 2013-02-07 05:37:14 -06:00
mdipierro f90dbb9321 fixed custom_import indentation 2013-02-06 17:22:11 -06:00
mdipierro 5ab85ee20e fixed importing of local packages first (I hope) 2013-02-06 11:34:42 -06:00
mdipierro 0c0830c1df added missing files to git 2013-02-06 10:32:02 -06:00
mdipierro 4a8a41de91 if False: import import_all 2013-02-06 10:21:41 -06:00
mdipierro 9afa21cd30 simpler Makefile 2013-02-06 10:12:13 -06:00
mdipierro d1d3c171fd fixed issue 1321, shorter admin titles, thanks Argetlam Akshet 2013-02-06 09:53:52 -06:00
Massimo a7c6268d2c unlocking session in download 2013-02-05 13:23:51 -06:00
Massimo 409495cc70 removed pypyodbc test 2013-02-05 10:44:16 -06:00
mdipierro 0460ffdb28 added span and strong to allowed_tags 2013-02-05 08:49:58 -06:00
mdipierro cbb9a1fdbe added pypyodbc.py, thanks Derek 2013-02-05 08:46:32 -06:00
mdipierro ba603528d7 grid breadcrumbs uses field.label, not field.name, thanks Michael Beller 2013-02-04 16:45:42 -06:00
mdipierro 9069f06857 fixed cache expiration in grid downloads, thanks Niphlod 2013-02-04 15:12:15 -06:00
mdipierro 8f76efeb2f fixed issue 1320 (http://timelessrepo.com/json-isnt-a-javascript-subset), thanks Alan 2013-02-04 10:03:29 -06:00
mdipierro 4fb8333299 added comments to explain caveats with last commit 2013-02-04 10:01:00 -06:00
mdipierro 6b9d7af4ed passing parameters for contains case_sensitive but often ignored. :-( 2013-02-04 09:55:21 -06:00
mdipierro 7c1f6c2195 optional_args 2013-02-04 09:37:44 -06:00
mdipierro 90f8f223b9 fixed issue 1318, as_yaml, thanks Alan 2013-02-04 09:28:09 -06:00
mdipierro d06a1a68a0 allow export/import of db models, issue 1316 (experimental), thanks Alan 2013-02-03 09:11:13 -06:00
mdipierro af7a922cac fixed issue 1315, IE9 layout, thanks Duffy Nicholas 2013-02-03 09:09:18 -06:00
mdipierro a6d4e2340e reverted last change, better to use wiki.menu 2013-02-01 21:24:30 -06:00
mdipierro ecdd7f6733 fixed menus in auth.wiki() 2013-02-01 21:16:21 -06:00
mdipierro d407bdbbbc better scripts/setup-web2py-nginx-uwsgi-on-centos.sh, thanks Alan 2013-01-30 14:25:49 -06:00
mdipierro ef06262393 returning more info from auth.wiki, thanks Paolo 2013-01-30 12:48:08 -06:00
mdipierro 0328ed49b9 fixed mssql3 groupby/orderby issue, thanks Niphlod. 2013-01-30 12:30:23 -06:00
mdipierro 0719af011b operator serilization in DAL, thanks Alan 2013-01-30 09:45:00 -06:00
mdipierro 14bd35e348 fixed issue 1306 rendering of width in markmin, thanks dickschrauwen 2013-01-30 09:41:41 -06:00
mdipierro 8740fea7c1 allow multiple left joins in grid 2013-01-30 09:29:49 -06:00
Massimo 45969c7628 added note to scripts/setup-web2py-nginx-uwsgi-on-centos.sh, thanks Alan 2013-01-29 16:27:46 -06:00
Massimo 698286dbe0 Query/Set enhancements for client/service apps, thanks Alan 2013-01-29 16:25:10 -06:00
mdipierro d238b5e86d Row.__delitem__ 2013-01-28 20:48:02 -06:00
Marcin Wielgoszewski d16b5899e8 never use secret key as an initialization vector 2013-01-27 12:47:19 -05:00
Marcin Wielgoszewski 76b035b800 actually use the constant-time compare function in secure_loads 2013-01-27 12:23:42 -05:00
mdipierro 3bb8d5e235 configurable appadmin graphs, thanks Jose 2013-01-27 10:25:02 -06:00
mdipierro 8fe3934c6e fixed codemirror syntax highlighting, thanks Mariano 2013-01-27 09:59:19 -06:00
mdipierro ec7c8f0248 added bottom right save button in edit_languages, issue 1300 2013-01-27 09:46:22 -06:00
Massimo 147b2d889d db.as_json/as_xml thanks Alan (This is tentative and experimental) 2013-01-25 15:36:23 -06:00
Massimo ca330a99e2 issue 1302, support for expressions in CONTAINS, thanks Paolo 2013-01-25 15:29:04 -06:00
Michele Comitini 2eeb1e74b2 gluon/tools.py: correct error codes for Jsonrpc-2.0 exceptions.
gluon/contrib/login_methods/oauth20_account.py: removed dead code.
2013-01-25 21:41:14 +01:00
Massimo d4e68e6c18 more modular setup-web2py-nginx-uwsgi-ubuntu, thanks Paolo and Niphlod 2013-01-24 15:52:21 -06:00
Massimo 356643d509 check whether pgsql supports json fields, thanks Alan 2013-01-24 10:51:44 -06:00
Michele Comitini 9a957c907a merge with upstream 2013-01-24 02:10:16 +01:00
Michele Comitini d97ef82bb7 removed need for globals 2013-01-24 02:06:19 +01:00
Michele Comitini a751c0e03a Compliance with rfc6749. Added backward compatibility with Facebook custom implementation. Simpler and faster flow. 2013-01-24 02:04:01 +01:00
mdipierro 4c50c69fbb fixed gevent monkey patching problem, thank you JimK 2013-01-23 08:49:00 -06:00
mdipierro b1f77b9c4a reverted 4622 codemirror3 because broke zencoding and drops support for IE7, we do not use the new features anyway. Sorry 2013-01-23 08:17:59 -06:00
Michele Comitini 2db2737e86 Updated to rfc6749. Added backward compatibility to match facebook implementation. Simpler flow. 2013-01-23 12:43:27 +01:00
Massimo b7f2991246 fixed font-family in codemirror, thanks Mariano 2013-01-22 16:27:00 -06:00
Jonathan Bohren c4483b4587 Switching message type for auto-generated forms 2013-01-22 00:00:46 -05:00
Jonathan Bohren 9c63b7c71b Make the menu html serializer pass LI items through as-is 2013-01-21 23:48:42 -05:00
mdipierro a443631f11 fixed IS_JSON, thanks Alan 2013-01-21 16:42:42 -06:00
mdipierro d15f13dcbd Adapter.native_json 2013-01-21 14:13:05 -06:00
mdipierro 1518cbd16e fixed json odd behavior 2013-01-21 14:05:45 -06:00
mdipierro 65cd2233f3 fixed tkMessageBox problem, thanks Bruno 2013-01-21 08:39:44 -06:00
mdipierro 8ac1a8cc05 json-rpc2 support, thanks Michele 2013-01-21 08:36:00 -06:00
mdipierro d369310a5c commented unwanted style info in admin 2013-01-21 08:25:20 -06:00
mdipierro 1d15871a69 fixed incorrect template validator in wiki, thanks Alan 2013-01-20 21:36:02 -06:00
mdipierro 35e7f4265b allows modifiers in parse_as _rest, thanks Denes 2013-01-20 21:24:07 -06:00
mdipierro bb0be8a523 attempt to fix issue 1296, ipv6 header parsing 2013-01-20 14:51:53 -06:00
mdipierro 6684754a47 fixed issue 1295, more git issues, thanks Alan 2013-01-20 14:50:20 -06:00
mdipierro c214999e27 fixed issue 1294, thanks Vincent Chevrier 2013-01-20 14:48:45 -06:00
mdipierro 9e1ce571e4 fixed issue with multiple string expressions in select 2013-01-20 14:22:59 -06:00
mdipierro 2b968814c5 fixed previous commit error 2013-01-20 14:13:43 -06:00
Michele Comitini 8abff891c3 Added batch (serial) processing 2013-01-20 15:36:17 +01:00
Michele Comitini e8189636b3 again correct management of null id: avoid returning None by sending empty string. 2013-01-20 00:14:02 +01:00
Michele Comitini 795886d2f2 again correct management of null id. 2013-01-20 00:07:12 +01:00
Michele Comitini d17f3bedd3 correct management of null id. 2013-01-20 00:03:22 +01:00
Michele Comitini 9311e7c94f fixed comment for jsonrpc-2.0 example. 2013-01-19 23:54:02 +01:00
Michele Comitini 10193dd014 forward compatibility with jsonrpc-2.0 for @service.jsonrpc annotation. 2013-01-19 23:51:30 +01:00
Michele Comitini bc44bb0fe9 Merge github.com:web2py/web2py 2013-01-19 23:27:58 +01:00
Michele Comitini e980c5d762 Merge github.com:web2py/web2py 2013-01-19 18:33:13 +01:00
Michele Comitini 6a497b3894 jsonrpc 2.0 added to services. 2013-01-19 18:32:17 +01:00
Massimo 317d910cd3 .vtt in contenttype, thanks Magnitus 2013-01-18 10:01:01 -06:00
Massimo 6248fb89b3 .vtt in contenttype, thanks Magnitus 2013-01-18 10:01:01 -06:00
Massimo 51f5e40b37 fatch IMAP inbox size in dal, thanks Alan 2013-01-18 09:20:30 -06:00
Massimo ad048a8d5b fatch IMAP inbox size in dal, thanks Alan 2013-01-18 09:20:30 -06:00
Massimo 7b4a0515be fixed issue 1291, casting to string for like operator, thanks Dominic 2013-01-18 09:14:19 -06:00
Massimo 3d9d9448aa fixed issue 1291, casting to string for like operator, thanks Dominic 2013-01-18 09:14:19 -06:00
Massimo e90000545b highligthing wiki menu items, 1290, thanks Paolo 2013-01-18 09:09:21 -06:00
Massimo dc248dbbde highligthing wiki menu items, 1290, thanks Paolo 2013-01-18 09:09:21 -06:00
Massimo ea01ec0f0e fixed issue 1289, fixed wiki templates, thanks Alan 2013-01-18 09:05:39 -06:00
Massimo cf0c62f0c4 fixed issue 1289, fixed wiki templates, thanks Alan 2013-01-18 09:05:39 -06:00
Massimo ddc6da53b3 fixed searilization of request/response/session in tickets (they are stored as html, thanks Dominik 2013-01-17 17:33:17 -06:00
Massimo bb40239ed0 fixed searilization of request/response/session in tickets (they are stored as html, thanks Dominik 2013-01-17 17:33:17 -06:00
Massimo a2aa738f19 removed un-necessary code, thanks Mariano 2013-01-17 11:34:52 -06:00
Massimo c2ae4776a2 removed un-necessary code, thanks Mariano 2013-01-17 11:34:52 -06:00
mdipierro c0e1987b66 Merge pull request #52 from jbohren-forks/stable
Fixing indentation in readme
2013-01-17 09:11:36 -08:00
mdipierro 344f7cc5df Merge pull request #52 from jbohren-forks/stable
Fixing indentation in readme
2013-01-17 09:11:36 -08:00
mdipierro b7118a7d44 Merge pull request #51 from TierraDelFuego/master
Change/deletion in call to python interpreter
2013-01-17 09:11:18 -08:00
mdipierro dea15ab6bd Merge pull request #51 from TierraDelFuego/master
Change/deletion in call to python interpreter
2013-01-17 09:11:18 -08:00
Massimo b1f74213c6 fixed issue 1279, sys.prefix in tickets, thanks mjmare 2013-01-17 11:08:32 -06:00
Massimo 5b92d712f4 fixed issue 1279, sys.prefix in tickets, thanks mjmare 2013-01-17 11:08:32 -06:00
Massimo 1122ad65ec codemirror 3, thnaks Roberto Perdomo and Mariano Reingart 2013-01-17 11:00:56 -06:00
Massimo ab410b6707 codemirror 3, thnaks Roberto Perdomo and Mariano Reingart 2013-01-17 11:00:56 -06:00
mdipierro 5f9094e7d1 wiki(templates=None), thanks Alan 2013-01-16 11:23:29 -06:00
mdipierro fb4c749115 wiki(templates=None), thanks Alan 2013-01-16 11:23:29 -06:00
mdipierro 3a1c03894f json export in grid, thanks Alan 2013-01-16 09:41:36 -06:00
mdipierro b171a92449 json export in grid, thanks Alan 2013-01-16 09:41:36 -06:00
Michele Comitini e5a8319f0b Merge github.com:web2py/web2py 2013-01-16 12:22:56 +01:00
mdipierro 8f79000d2d fixed recent bug in dal, thanks Denes 2013-01-15 22:23:00 -06:00
mdipierro a4e926b637 fixed recent bug in dal, thanks Denes 2013-01-15 22:23:00 -06:00
Jonathan Bohren 8ffc89def2 Fixing indentation in readme 2013-01-15 18:09:27 -05:00
Massimo 92cef0b811 scheduler patch, thanks Niphlod 2013-01-15 15:54:29 -06:00
Massimo ad684bfdfc scheduler patch, thanks Niphlod 2013-01-15 15:54:29 -06:00
Massimo ccc1de2595 minor refactoring to avoid compatibility problems 2013-01-15 13:26:14 -06:00
Massimo 16b37b1061 minor refactoring to avoid compatibility problems 2013-01-15 13:26:14 -06:00
Massimo 10a39fd52c another parse_as_rest patch, thanks Denes 2013-01-15 13:19:54 -06:00
Massimo 97385d3310 another parse_as_rest patch, thanks Denes 2013-01-15 13:19:54 -06:00
Massimo 8a2c0c320e IMAP attachments in .select(), thanks Alan 2013-01-15 13:09:59 -06:00
Massimo cea9145400 IMAP attachments in .select(), thanks Alan 2013-01-15 13:09:59 -06:00
Massimo cf5f1c9c6e fixed git errors issues, thanks Alan, wonderful work 2013-01-15 13:08:27 -06:00
Massimo 1c69eb4ce4 fixed git errors issues, thanks Alan, wonderful work 2013-01-15 13:08:27 -06:00
mdipierro 918971cab8 fixing issue 1276 again, thanks Alan 2013-01-14 15:30:01 -06:00
mdipierro c1a534bee2 fixing issue 1276 again, thanks Alan 2013-01-14 15:30:01 -06:00
mdipierro 41f5dfaffc gluon/scheduler.py 2013-01-14 15:26:46 -06:00
mdipierro c60fffc34a gluon/scheduler.py 2013-01-14 15:26:46 -06:00
mdipierro d05aceb3f3 fixed issue 1276, preserving subject encoding in IMAP adapter, thanks Alan 2013-01-14 09:44:47 -06:00
mdipierro 9dbf0bbbcd fixed issue 1276, preserving subject encoding in IMAP adapter, thanks Alan 2013-01-14 09:44:47 -06:00
mdipierro cb2c5aae48 fixed issue 1273, default int as_dict, thanks Alan 2013-01-14 09:42:59 -06:00
mdipierro 10af0102f4 fixed issue 1273, default int as_dict, thanks Alan 2013-01-14 09:42:59 -06:00
mdipierro a2663fc8dd parse_as_rest patch, thanks Denes 2013-01-14 09:18:43 -06:00
mdipierro fb5e6e927f parse_as_rest patch, thanks Denes 2013-01-14 09:18:43 -06:00
mdipierro 4bbe6ed195 minor fix in parse_as_rest 2013-01-13 13:15:38 -06:00
mdipierro 69fa34b3c5 minor fix in parse_as_rest 2013-01-13 13:15:38 -06:00
mdipierro b49de3eccb Row.as_xml and Rows.as_csv, issue 1275, thank you Alan 2013-01-13 13:08:41 -06:00
mdipierro b1f51c30a6 Row.as_xml and Rows.as_csv, issue 1275, thank you Alan 2013-01-13 13:08:41 -06:00
mdipierro 63a049d336 admin/languages/sr-*.py thanks Sasa Kelecevic 2013-01-13 10:44:07 -06:00
mdipierro 05fdf963af admin/languages/sr-*.py thanks Sasa Kelecevic 2013-01-13 10:44:07 -06:00
TierraDelFuego 9b9b79ed58 Add a file to ignore. 2013-01-12 23:41:28 -08:00
TierraDelFuego 97cf2475cf Add a file to ignore. 2013-01-12 23:41:28 -08:00
TierraDelFuego e363ee0994 Change the call to python from /usr/bin/python to /usr/bin/env python so the correct python is called when using virtualenv. Remove the the call if not needed. 2013-01-12 23:34:35 -08:00
TierraDelFuego 473960a394 Change the call to python from /usr/bin/python to /usr/bin/env python so the correct python is called when using virtualenv. Remove the the call if not needed. 2013-01-12 23:34:35 -08:00
TierraDelFuego 5ff925d583 Removing call to python where it is not needed. 2013-01-12 22:53:43 -08:00
TierraDelFuego ef60909d4c Removing call to python where it is not needed. 2013-01-12 22:53:43 -08:00
mdipierro 97b22438fa fixed issue 1271, admin/languages/ru.py, thanks Dmitry.Mosin 2013-01-12 14:12:19 -06:00
mdipierro 3eba79d6c5 fixed issue 1271, admin/languages/ru.py, thanks Dmitry.Mosin 2013-01-12 14:12:19 -06:00
mdipierro b747ac27cb row.as_json simplification thanks Alan 2013-01-12 14:09:05 -06:00
mdipierro fcf7b1a025 row.as_json simplification thanks Alan 2013-01-12 14:09:05 -06:00
mdipierro f02735de81 row.as_son, rows.as_json, rows.as_xml, thanks Alan 2013-01-12 14:04:15 -06:00
mdipierro 4c15575194 row.as_son, rows.as_json, rows.as_xml, thanks Alan 2013-01-12 14:04:15 -06:00
mdipierro bb6e130bfe fixed typo in ru.py, issue 1271, thanks Dmitry.Mosin 2013-01-11 13:38:03 -06:00
mdipierro e4526f4725 fixed typo in ru.py, issue 1271, thanks Dmitry.Mosin 2013-01-11 13:38:03 -06:00
mdipierro ec8d9a3714 fixed issue with hiding password, thanks Niphlod 2013-01-11 09:02:22 -06:00
mdipierro 96f4c944c1 fixed issue with hiding password, thanks Niphlod 2013-01-11 09:02:22 -06:00
mdipierro cc66524e1f imapdb(query).select(imapdb.INBOX.sender, imapdb.INBOX.subject, imapdb.INBOX.seen), issue 1269, thanks Alan 2013-01-10 23:15:46 -06:00
mdipierro ea07c9dcd8 imapdb(query).select(imapdb.INBOX.sender, imapdb.INBOX.subject, imapdb.INBOX.seen), issue 1269, thanks Alan 2013-01-10 23:15:46 -06:00
mdipierro 7c5c27f556 links to user have _rel='nofollow' 2013-01-10 23:12:01 -06:00
mdipierro 7a94b2dbd6 links to user have _rel='nofollow' 2013-01-10 23:12:01 -06:00
Massimo b8cfc9630f fixed preview of auth.wiki pages 2013-01-10 15:13:29 -06:00
Massimo 563239147f fixed preview of auth.wiki pages 2013-01-10 15:13:29 -06:00
Massimo 70d701db5b changed pages grid in auth.wiki 2013-01-10 14:54:21 -06:00
Massimo 683f8ebdc7 changed pages grid in auth.wiki 2013-01-10 14:54:21 -06:00
Massimo b20d963f56 No more templates in wiki, security vulnearbility 2013-01-10 14:29:50 -06:00
Massimo df653f9f78 No more templates in wiki, security vulnearbility 2013-01-10 14:29:50 -06:00
Massimo 7614955591 IMAP DAL enhancements, thanks Alan 2013-01-10 13:04:38 -06:00
Massimo 8a1b37e8ec IMAP DAL enhancements, thanks Alan 2013-01-10 13:04:38 -06:00
Massimo 8eadfe3d79 fixed issue 1268, better grid search options, thanks Paolo Angulo 2013-01-10 13:01:12 -06:00
Massimo b9120ddce4 fixed issue 1268, better grid search options, thanks Paolo Angulo 2013-01-10 13:01:12 -06:00
Michele Comitini 4bf840abf3 Merge github.com:web2py/web2py 2013-01-10 00:25:31 +01:00
mdipierro 90dbf440c7 optional mail.settings.sender, thanks Michele 2013-01-09 16:57:19 -06:00
mdipierro e46f920929 optional mail.settings.sender, thanks Michele 2013-01-09 16:57:19 -06:00
mdipierro 6ebed79500 fixed problem with render_tags 2013-01-09 16:10:33 -06:00
mdipierro 9357a37509 fixed problem with render_tags 2013-01-09 16:10:33 -06:00
mdipierro f02676f264 Wiki.render_base(body) 2013-01-09 15:41:21 -06:00
mdipierro cac8e89670 Wiki.render_base(body) 2013-01-09 15:41:21 -06:00
mdipierro 9e9fde2e8f no warp buttons 2013-01-09 12:50:05 -06:00
mdipierro a0b62b1392 no warp buttons 2013-01-09 12:50:05 -06:00
mdipierro db1a788082 no warp buttons 2013-01-09 12:44:35 -06:00
mdipierro 5a93299fc3 no warp buttons 2013-01-09 12:44:35 -06:00
mdipierro f84ac09e31 form.custom.delete 2013-01-09 11:13:05 -06:00
mdipierro c1cdb365f1 form.custom.delete 2013-01-09 11:13:05 -06:00
mdipierro 45e8e20eae parse_as_rest(patterns=[('...',query)] 2013-01-09 10:44:58 -06:00
mdipierro 0eefcd7d4f parse_as_rest(patterns=[('...',query)] 2013-01-09 10:44:58 -06:00
mdipierro 4ce3ebf1fd fixed issue 1262, table.insert() empty, thanks Alan 2013-01-09 10:18:42 -06:00
mdipierro d454389356 fixed issue 1262, table.insert() empty, thanks Alan 2013-01-09 10:18:42 -06:00
mdipierro 65bc1062f5 fixed add class 2013-01-09 09:16:50 -06:00
mdipierro 6e347619f4 fixed add class 2013-01-09 09:16:50 -06:00
Massimo 980aedf314 some cleanup patches, thanks Alan 2013-01-08 15:31:17 -06:00
Massimo 3a608f3fde some cleanup patches, thanks Alan 2013-01-08 15:31:17 -06:00
Massimo 4946ebf154 fixed issue 1260, auth.settings.update_fields, thanks Nafiux 2013-01-08 15:23:44 -06:00
Massimo 361700734f fixed issue 1260, auth.settings.update_fields, thanks Nafiux 2013-01-08 15:23:44 -06:00
Massimo 2d606e6836 actions='#', fixed issue 1253, thanks yaribaud 2013-01-08 14:38:05 -06:00
Massimo 1dfb6824a3 actions='#', fixed issue 1253, thanks yaribaud 2013-01-08 14:38:05 -06:00
Massimo aba8d8f871 fixed conflict 2013-01-08 11:45:53 -06:00
Massimo 3788ec3f9a fixed conflict 2013-01-08 11:45:53 -06:00
Massimo 3b56ed3cfd fixed bootstrap class in SQLHTML, de ja vu 2013-01-08 11:45:04 -06:00
Massimo 62c4711f8e fixed bootstrap class in SQLHTML, de ja vu 2013-01-08 11:45:04 -06:00
mdipierro 1b08152594 fixed issue 1229, _class and bootstrap in SQLFORM, thanks Paolo Valleri 2013-01-08 09:31:18 -06:00
mdipierro 292a71e8bb fixed issue 1229, _class and bootstrap in SQLFORM, thanks Paolo Valleri 2013-01-08 09:31:18 -06:00
mdipierro ec21e81f19 json field in DAL, thanks Alan 2013-01-08 09:23:18 -06:00
mdipierro 5e18932429 json field in DAL, thanks Alan 2013-01-08 09:23:18 -06:00
mdipierro 2da5b2191f fixed bug self._tables, thanks Mart 2013-01-08 09:17:42 -06:00
mdipierro 4369f2742b fixed bug self._tables, thanks Mart 2013-01-08 09:17:42 -06:00
mdipierro 424ea22334 Row.__copy__, fixed issue 1255 2013-01-08 09:10:34 -06:00
mdipierro d22b93caf4 Row.__copy__, fixed issue 1255 2013-01-08 09:10:34 -06:00
mdipierro 88d2216780 fixed issue 1254, change of scope for web2py-component-command and web2py-component-flash, thanks Paolo valleri 2013-01-08 09:06:30 -06:00
mdipierro 9e41d679c4 fixed issue 1254, change of scope for web2py-component-command and web2py-component-flash, thanks Paolo valleri 2013-01-08 09:06:30 -06:00
mdipierro 30e32c07b9 fixed issue 1252, thanks Mark Weissen 2013-01-08 08:58:30 -06:00
mdipierro 03a464efd9 fixed issue 1252, thanks Mark Weissen 2013-01-08 08:58:30 -06:00
mdipierro bd485d37c9 fixed st_x and st_y, thanks Paolo Valleri 2013-01-08 08:49:18 -06:00
mdipierro e27f82b610 fixed st_x and st_y, thanks Paolo Valleri 2013-01-08 08:49:18 -06:00
mdipierro 69d00a50a6 support for motor and pulsar servers, thanks Niphlod 2013-01-07 10:34:31 -06:00
mdipierro 55afa4f2ea support for motor and pulsar servers, thanks Niphlod 2013-01-07 10:34:31 -06:00
mdipierro c625be0a4a fixed another geodal issue, thanks Paolo 2013-01-06 09:28:01 -06:00
mdipierro 4bd8b96dc9 fixed another geodal issue, thanks Paolo 2013-01-06 09:28:01 -06:00
mdipierro 46d5035437 fixed dist type, thanks Paolo Valleri 2013-01-05 18:46:10 -06:00
mdipierro ca87312c49 fixed dist type, thanks Paolo Valleri 2013-01-05 18:46:10 -06:00
mdipierro b3e791b4d4 fixed geoPoint bug, thanks Paolo Valleri 2013-01-05 18:36:23 -06:00
mdipierro 4d0389db7b fixed geoPoint bug, thanks Paolo Valleri 2013-01-05 18:36:23 -06:00
mdipierro 54866ecef5 fixed auto patterns, thanks Denes 2013-01-03 21:30:17 -06:00
mdipierro 9147929204 fixed auto patterns, thanks Denes 2013-01-03 21:30:17 -06:00
mdipierro 828a4d7a60 stopped error progragation in ajax, thanks Niphlod 2013-01-02 18:58:54 -06:00
mdipierro 062de22fde stopped error progragation in ajax, thanks Niphlod 2013-01-02 18:58:54 -06:00
mdipierro 91be7eb3dc fixed opener in oauth2, thanks Ignacio Ocampo 2013-01-01 21:09:09 -06:00
mdipierro 0368d83484 fixed opener in oauth2, thanks Ignacio Ocampo 2013-01-01 21:09:09 -06:00
mdipierro 532ddf1d9a fixed issue 1249, thanks Alan 2013-01-01 19:08:46 -06:00
mdipierro 8824742a4c fixed issue 1249, thanks Alan 2013-01-01 19:08:46 -06:00
mdipierro dd3055836a fixed issue 1251, imporved mongodb support, thanks Alan 2013-01-01 19:03:44 -06:00
mdipierro 9a5e9c5e69 fixed issue 1251, imporved mongodb support, thanks Alan 2013-01-01 19:03:44 -06:00
mdipierro ed42c3e489 fixed issue 1246, is_active and left joins 2012-12-31 15:17:55 -06:00
mdipierro 1ceb587875 fixed issue 1246, is_active and left joins 2012-12-31 15:17:55 -06:00
mdipierro 117a0b9849 fixed issue 1247 Missing URL for Delete button, thanks Boris and Niphlod 2012-12-31 14:38:43 -06:00
mdipierro af31e2e079 fixed issue 1247 Missing URL for Delete button, thanks Boris and Niphlod 2012-12-31 14:38:43 -06:00
mdipierro 52c1ba67e3 added setup-ubuntu-12-04-redmine-unicorn-web2py-uwsgi-nginx.sh, thanks Richard 2012-12-30 15:16:39 -06:00
mdipierro b442f005a9 added setup-ubuntu-12-04-redmine-unicorn-web2py-uwsgi-nginx.sh, thanks Richard 2012-12-30 15:16:39 -06:00
mdipierro 9557c46dcf fixed redirection in login page, thanks Osman Masood 2012-12-28 16:19:50 -06:00
mdipierro e233a14eec fixed redirection in login page, thanks Osman Masood 2012-12-28 16:19:50 -06:00
mdipierro 60093e81b0 debugger patch, thanks Mariano 2012-12-28 15:45:14 -06:00
mdipierro f8d012ac56 debugger patch, thanks Mariano 2012-12-28 15:45:14 -06:00
mdipierro 1fe2877a14 removed commit error 2012-12-28 10:49:32 -06:00
Michele Comitini db4446b023 Merge github.com:web2py/web2py 2012-12-28 15:53:36 +01:00
mdipierro 556de70f20 changed color scheme and fixed bug in graph model 2012-12-28 01:22:05 -06:00
mdipierro 6026b5996c changed color scheme and fixed bug in graph model 2012-12-28 01:22:05 -06:00
mdipierro 1d6de8e0a8 fixed problem with representation of user without last_name, thanks Bruno 2012-12-28 01:08:33 -06:00
mdipierro 902f228565 fixed problem with representation of user without last_name, thanks Bruno 2012-12-28 01:08:33 -06:00
mdipierro e8a7c0257e fixed issue with lack of charset in driver, thanks Felipe Meirelles 2012-12-27 14:27:18 -06:00
mdipierro 53d251bed5 fixed issue with lack of charset in driver, thanks Felipe Meirelles 2012-12-27 14:27:18 -06:00
mdipierro c8d4e03ead fixed debugger, thanks Mariano and Paolo 2012-12-26 11:55:05 -06:00
mdipierro a4ba43f77b fixed debugger, thanks Mariano and Paolo 2012-12-26 11:55:05 -06:00
mdipierro 4ddb7dea28 graph font style, thanks Jose 2012-12-26 11:44:41 -06:00
mdipierro 997c5103a7 graph font style, thanks Jose 2012-12-26 11:44:41 -06:00
mdipierro c8b0686c2f fixed grid with id field not called id, issue 972 2012-12-25 21:01:59 -06:00
mdipierro 2365c34ce3 fixed grid with id field not called id, issue 972 2012-12-25 21:01:59 -06:00
mdipierro 400f27ef55 fixed generation of html in graphs, thanks Alan 2012-12-25 20:32:21 -06:00
mdipierro cdedbaa1e9 fixed generation of html in graphs, thanks Alan 2012-12-25 20:32:21 -06:00
mdipierro 16540936db some cleanup 2012-12-25 12:21:08 -06:00
mdipierro adbeaffa39 some cleanup 2012-12-25 12:21:08 -06:00
mdipierro c173beac43 fixed issue 1244, default CBC mode for sessions in cookies, thanks Pearu Peterson 2012-12-25 09:44:44 -06:00
mdipierro e9e3906357 fixed issue 1244, default CBC mode for sessions in cookies, thanks Pearu Peterson 2012-12-25 09:44:44 -06:00
mdipierro 0d5e1ba1d3 fixed examples, thanks Joe 2012-12-24 16:14:05 -06:00
mdipierro 83ed22f64e fixed examples, thanks Joe 2012-12-24 16:14:05 -06:00
mdipierro c573003167 edit CHANGELOG 2012-12-24 14:04:07 -06:00
mdipierro 6acb695660 edit CHANGELOG 2012-12-24 14:04:07 -06:00
mdipierro cb87a32775 removed errors in previous commit 2012-12-24 13:55:00 -06:00
mdipierro 5d4ef568a1 removed errors in previous commit 2012-12-24 13:55:00 -06:00
mdipierro ebda5cb2bc admin based on bootstrap, thanks Paolo 2012-12-24 13:49:06 -06:00
mdipierro 3710d43cfc admin based on bootstrap, thanks Paolo 2012-12-24 13:49:06 -06:00
mdipierro 9981ae4d5f graphiz support added, thanks Jose 2012-12-24 12:14:08 -06:00
mdipierro 56295371a4 graphiz support added, thanks Jose 2012-12-24 12:14:08 -06:00
mdipierro 9caea58a3c fixed issue 1241 with auth.wiki content error, thanks Alan 2012-12-24 11:23:30 -06:00
mdipierro bd923806be fixed issue 1241 with auth.wiki content error, thanks Alan 2012-12-24 11:23:30 -06:00
mdipierro 6fc307cf7b better reporting of 500 ajax errors, issue 832, thanks Paolo Velleri 2012-12-24 11:21:37 -06:00
mdipierro a0a9e92fc1 better reporting of 500 ajax errors, issue 832, thanks Paolo Velleri 2012-12-24 11:21:37 -06:00
mdipierro 2d5f558b54 fixed issue 1240, problem with rejected upload forms 2012-12-23 23:33:53 -06:00
mdipierro ffdff5490a fixed issue 1240, problem with rejected upload forms 2012-12-23 23:33:53 -06:00
mdipierro ea20769242 fixed calendar.js Date conflict, issue 1243 2012-12-23 23:02:28 -06:00
mdipierro 335f76665b fixed calendar.js Date conflict, issue 1243 2012-12-23 23:02:28 -06:00
mdipierro 1c410638da fixed problem with padding in secure sessions in cookies, issue 1239, thanks pearu.peterson 2012-12-23 22:12:19 -06:00
mdipierro b8afb04de8 fixed problem with padding in secure sessions in cookies, issue 1239, thanks pearu.peterson 2012-12-23 22:12:19 -06:00
mdipierro ee2c4f339a fixed possible scheduler problem, thanks Mike Dickun and Niphlod 2012-12-23 15:07:43 -06:00
mdipierro 62a9c460e4 fixed possible scheduler problem, thanks Mike Dickun and Niphlod 2012-12-23 15:07:43 -06:00
mdipierro ba0e51ad02 fixed analytics.min.js 2012-12-22 21:27:05 -06:00
mdipierro 5aa719daf5 fixed analytics.min.js 2012-12-22 21:27:05 -06:00
mdipierro a99014ad26 auth.signature.is_active is notnull and migration will set default value 2012-12-22 10:54:29 -06:00
mdipierro 7ac570f4e9 auth.signature.is_active is notnull and migration will set default value 2012-12-22 10:54:29 -06:00
mdipierro 6280ca5d36 return geo data in text always (since not all support json) 2012-12-22 10:19:49 -06:00
mdipierro 96286844fb return geo data in text always (since not all support json) 2012-12-22 10:19:49 -06:00
mdipierro b39b6d9715 return geo data in json always 2012-12-22 10:10:54 -06:00
mdipierro ff7b78bb6a return geo data in json always 2012-12-22 10:10:54 -06:00
mdipierro 728d634672 params in serve_json can be dict of list 2012-12-22 08:58:28 -06:00
mdipierro f500ea46d4 params in serve_json can be dict of list 2012-12-22 08:58:28 -06:00
mdipierro 0cdfe3d57b remporary reverting model sorting patch until better understanding 2012-12-21 00:22:51 -06:00
mdipierro a1d38d6633 remporary reverting model sorting patch until better understanding 2012-12-21 00:22:51 -06:00
mdipierro 7c906c8b89 possibly fixed issue table_archive_archive...archive 2012-12-21 00:20:06 -06:00
mdipierro bb7594f6c5 possibly fixed issue table_archive_archive...archive 2012-12-21 00:20:06 -06:00
mdipierro 91045b918f fixed problem with - button in list widget, thanks howesc 2012-12-21 00:17:08 -06:00
mdipierro 7644b1693e fixed problem with - button in list widget, thanks howesc 2012-12-21 00:17:08 -06:00
mdipierro 95a5b2eea2 geoPoint, getLine, geoPolygon 2012-12-20 18:16:40 -06:00
mdipierro c75cd39282 geoPoint, getLine, geoPolygon 2012-12-20 18:16:40 -06:00
mdipierro 76ad8258f5 semantic version support in admin 2012-12-20 15:47:46 -06:00
mdipierro b81810bb02 semantic version support in admin 2012-12-20 15:47:46 -06:00
mdipierro c1f47cdc44 support for semantic versioning 2012-12-20 15:39:57 -06:00
mdipierro 27cfdb6ac4 support for semantic versioning 2012-12-20 15:39:57 -06:00
mdipierro 64d6691e61 added improved scripts/setup-web2py-nginx-uwsgi-ubuntu.sh, thanks Niphlod 2012-12-20 09:22:24 -06:00
mdipierro 95b3ca839a added improved scripts/setup-web2py-nginx-uwsgi-ubuntu.sh, thanks Niphlod 2012-12-20 09:22:24 -06:00
mdipierro 9bf964b918 db.table.field.abs() 2012-12-20 09:03:13 -06:00
mdipierro dcf0a7ccc9 db.table.field.abs() 2012-12-20 09:03:13 -06:00
mdipierro dd9a3c8b7e wiki patches, thanks Niphlod 2012-12-19 16:07:50 -06:00
mdipierro 3f8bf01b20 wiki patches, thanks Niphlod 2012-12-19 16:07:50 -06:00
mdipierro 5a9b1a0a33 fixed issue 1226, delete_cascade class 2012-12-19 11:53:03 -06:00
mdipierro e342e68737 fixed issue 1226, delete_cascade class 2012-12-19 11:53:03 -06:00
mdipierro 0ab37d9538 reverted the - button after list:string because of problems 2012-12-19 11:44:30 -06:00
mdipierro 08ff08c4e6 reverted the - button after list:string because of problems 2012-12-19 11:44:30 -06:00
mdipierro 02d488c458 on_failure in grid, fixed issue 1232, thanks dev.ldhughes 2012-12-19 11:37:56 -06:00
mdipierro 267e891a9e on_failure in grid, fixed issue 1232, thanks dev.ldhughes 2012-12-19 11:37:56 -06:00
mdipierro af85a2cf25 changed of scheduler column names, this breaks scheduler backard compatibility 2012-12-19 11:24:55 -06:00
mdipierro 536ca3ec34 changed of scheduler column names, this breaks scheduler backard compatibility 2012-12-19 11:24:55 -06:00
mdipierro ec28f5c494 fixed problem with impersonate and login_onaccept not a list 2012-12-19 11:21:06 -06:00
mdipierro 4daada1142 fixed problem with impersonate and login_onaccept not a list 2012-12-19 11:21:06 -06:00
mdipierro a221e0cbee T('Add') in grid, thanks Tito Garrido 2012-12-18 20:28:44 -06:00
mdipierro 34f3220d1a T('Add') in grid, thanks Tito Garrido 2012-12-18 20:28:44 -06:00
mdipierro e93c49fb8c fixed problem with grid appending to fields 2012-12-18 09:31:30 -06:00
mdipierro aa3f671d86 fixed problem with grid appending to fields 2012-12-18 09:31:30 -06:00
mdipierro 515cc6b829 preventing invalid query when exporting a rows object, thanks Niphlod 2012-12-18 09:22:28 -06:00
mdipierro 8d174225f7 preventing invalid query when exporting a rows object, thanks Niphlod 2012-12-18 09:22:28 -06:00
mdipierro 3cd0b78edb fixed streamer gzip expiration, thanks Niphlod 2012-12-17 17:16:09 -06:00
mdipierro 5140564fc5 fixed streamer gzip expiration, thanks Niphlod 2012-12-17 17:16:09 -06:00
mdipierro b465c9f9d5 R-2.3.2 2012-12-17 09:00:46 -06:00
mdipierro 4599dcd988 R-2.3.2 2012-12-17 09:00:46 -06:00
mdipierro d115b4216c fixed issue 1227, entropy check with IS_STRONG, thanks Clavin Sim 2012-12-17 08:50:08 -06:00
mdipierro 14bdfd3321 fixed issue 1227, entropy check with IS_STRONG, thanks Clavin Sim 2012-12-17 08:50:08 -06:00
mdipierro 3dd857aa9f fixed issue 1225, NEWINSTALL ignored 2012-12-17 08:46:33 -06:00
mdipierro e7d14c028b fixed issue 1225, NEWINSTALL ignored 2012-12-17 08:46:33 -06:00
mdipierro c99d34aecc cursor point in share.js, issue 1123, thanks Nathan 2012-12-16 12:36:28 -06:00
mdipierro 0207a17afa cursor point in share.js, issue 1123, thanks Nathan 2012-12-16 12:36:28 -06:00
mdipierro c03a7e2f90 added oneall login support, issue 1124, thanks Nathan 2012-12-16 12:34:08 -06:00
mdipierro 73b049f361 added oneall login support, issue 1124, thanks Nathan 2012-12-16 12:34:08 -06:00
mdipierro 1a5a974c06 fixed example in examples from pull-request, thanks tpng 2012-12-14 14:28:31 -06:00
mdipierro 5695fe34f0 fixed example in examples from pull-request, thanks tpng 2012-12-14 14:28:31 -06:00
mdipierro 9354417f76 R-2.3.1 2012-12-14 09:22:09 -06:00
mdipierro f2e44f96d6 R-2.3.1 2012-12-14 09:22:09 -06:00
mdipierro 6e7ad1d7b8 modernizr 2.6.2 2012-12-14 09:21:00 -06:00
mdipierro 2ccc707059 modernizr 2.6.2 2012-12-14 09:21:00 -06:00
mdipierro 32d7efc55d fixed possible issue with share.js 2012-12-14 09:17:30 -06:00
mdipierro 30490a0c5c fixed possible issue with share.js 2012-12-14 09:17:30 -06:00
mdipierro fb93e83f96 upgraded bootstrap, jquery, and analytics 2012-12-14 08:24:58 -06:00
mdipierro 4c1102026d upgraded bootstrap, jquery, and analytics 2012-12-14 08:24:58 -06:00
mdipierro fb03c15223 fixed paths in admin debug.py, thanks Mariano 2012-12-13 18:09:11 -06:00
mdipierro 63b589170c fixed paths in admin debug.py, thanks Mariano 2012-12-13 18:09:11 -06:00
mdipierro 7185d4d8c1 CHANGELOG edits 2012-12-13 12:54:39 -06:00
mdipierro 2b0d098027 CHANGELOG edits 2012-12-13 12:54:39 -06:00
mdipierro ddbddf6c2f edited CHANGELOG, 2.3.0 rc2 2012-12-13 11:53:30 -06:00
mdipierro fcfaa63f33 edited CHANGELOG, 2.3.0 rc2 2012-12-13 11:53:30 -06:00
mdipierro 29c1874bc1 fixed aes 2012-12-13 11:28:52 -06:00
mdipierro f497aa7fcf fixed aes 2012-12-13 11:28:52 -06:00
mdipierro 242dca7365 allow web shell working when https is required 2012-12-13 11:10:59 -06:00
mdipierro d91f7381e1 allow web shell working when https is required 2012-12-13 11:10:59 -06:00
mdipierro 5ddd7f0a6f removed debug print statement, thanks Niphlod 2012-12-13 08:22:10 -06:00
mdipierro bad0af15f6 removed debug print statement, thanks Niphlod 2012-12-13 08:22:10 -06:00
mdipierro 37acdc0cc6 partially fixed issue 832, auth.requires raises 401 on ajax, thanks Paolo Valleri 2012-12-12 22:07:20 -06:00
mdipierro d7cc15c85d partially fixed issue 832, auth.requires raises 401 on ajax, thanks Paolo Valleri 2012-12-12 22:07:20 -06:00
mdipierro 380c78b758 fixed formstyle_bootstrap, thanks Anthony 2012-12-12 22:03:39 -06:00
mdipierro 1f1e65dcb5 fixed formstyle_bootstrap, thanks Anthony 2012-12-12 22:03:39 -06:00
mdipierro 06237a48c4 added NEWINSTALL to git, issue 1217, thanks dev.ldhughes 2012-12-12 21:49:27 -06:00
mdipierro 930d4dcdd0 added NEWINSTALL to git, issue 1217, thanks dev.ldhughes 2012-12-12 21:49:27 -06:00
mdipierro f6f82a1be1 fixed ip4 client validation, issue 1218, thanks Joachim Breitsprecher 2012-12-12 21:47:55 -06:00
mdipierro b640820052 fixed ip4 client validation, issue 1218, thanks Joachim Breitsprecher 2012-12-12 21:47:55 -06:00
mdipierro 6fafba0772 fixed css issue 1219, thanks Paolo 2012-12-12 21:46:09 -06:00
mdipierro be0003927a fixed css issue 1219, thanks Paolo 2012-12-12 21:46:09 -06:00
mdipierro 2cb2484cd0 analytics.js 2012-12-12 21:30:57 -06:00
mdipierro 0015a265a9 analytics.js 2012-12-12 21:30:57 -06:00
mdipierro 8fa903f17a allow LOADing multiple grids, thanks Niphlod 2012-12-12 21:14:25 -06:00
mdipierro 12ff451f4b allow LOADing multiple grids, thanks Niphlod 2012-12-12 21:14:25 -06:00
mdipierro 6d61f9d0ef fixed typo in docstring, issue 1210, thanks francois.delpierre 2012-12-11 20:50:10 -06:00
mdipierro 63cefe0862 fixed typo in docstring, issue 1210, thanks francois.delpierre 2012-12-11 20:50:10 -06:00
mdipierro 7a85625743 revised setup-web2py-nginx-uwsgi-ubuntu.sh, thanks Vinicious 2012-12-11 20:15:15 -06:00
mdipierro bf3a24e515 revised setup-web2py-nginx-uwsgi-ubuntu.sh, thanks Vinicious 2012-12-11 20:15:15 -06:00
mdipierro 21e2e5e2af fixed typo in globals, issue 1213, thanks jkellas 2012-12-11 15:54:57 -06:00
mdipierro 4378a8a792 fixed typo in globals, issue 1213, thanks jkellas 2012-12-11 15:54:57 -06:00
mdipierro 5188b64704 Added intro tutorial, thanks Michael Herman 2012-12-11 10:53:31 -06:00
mdipierro 1532cecb25 Added intro tutorial, thanks Michael Herman 2012-12-11 10:53:31 -06:00
mdipierro 128ff10ade sorting importing models was broken, now fixed, thanks Joel Samuelsson 2012-12-11 08:25:48 -06:00
mdipierro 22af4db51d sorting importing models was broken, now fixed, thanks Joel Samuelsson 2012-12-11 08:25:48 -06:00
mdipierro a98f45f875 fixed winservice problem 2012-12-10 21:32:36 -06:00
mdipierro 523cb34119 fixed winservice problem 2012-12-10 21:32:36 -06:00
mdipierro c02b79f0c3 fixed problem with clear and session_hash 2012-12-09 14:29:37 -06:00
mdipierro 24b037c307 fixed problem with clear and session_hash 2012-12-09 14:29:37 -06:00
mdipierro 8d6a19aeb2 fixed issue 1208 (auth on GAE) by disabling virtual fields in auth.user on GAE 2012-12-08 18:31:41 -06:00
mdipierro bd933ca43d fixed issue 1208 (auth on GAE) by disabling virtual fields in auth.user on GAE 2012-12-08 18:31:41 -06:00
mdipierro fa08472392 fixed issue 1208 (auth on GAE) by disabling virtual fields in auth.user on GAE 2012-12-08 18:25:04 -06:00
mdipierro 676b2ef54b fixed issue 1208 (auth on GAE) by disabling virtual fields in auth.user on GAE 2012-12-08 18:25:04 -06:00
mdipierro 22d872c7e5 fixed issue 1207, IS_IN_SET(list_of_ints), thanks Alan 2012-12-07 10:58:43 -06:00
mdipierro 353a66f44c fixed issue 1207, IS_IN_SET(list_of_ints), thanks Alan 2012-12-07 10:58:43 -06:00
mdipierro c5a7c8d8f9 fixed problem CRYPT password comparsion, issue 1203, thanks Alan 2012-12-06 23:04:29 -06:00
mdipierro 689dfcd83e fixed problem CRYPT password comparsion, issue 1203, thanks Alan 2012-12-06 23:04:29 -06:00
mdipierro e08fdc42cf fixed escaping of response.js, issue 1205, thanks max.morais.dmm 2012-12-06 23:02:09 -06:00
mdipierro 8f7b82fdb3 fixed escaping of response.js, issue 1205, thanks max.morais.dmm 2012-12-06 23:02:09 -06:00
mdipierro 30ff19b271 regex simplification 2012-12-06 16:56:29 -06:00
mdipierro c574a97cad regex simplification 2012-12-06 16:56:29 -06:00
mdipierro 42ff4aa0d8 fixed issue 1202, commas in attachments, thanks simonm3 2012-12-05 16:49:24 -06:00
mdipierro 5e7de996e0 fixed issue 1202, commas in attachments, thanks simonm3 2012-12-05 16:49:24 -06:00
mdipierro fcd960149d fixed issue 1187, custom widget hadnling error in case for nonzero formatter, thanks Maria Mitica 2012-12-05 16:34:55 -06:00
mdipierro 52ba4bb0ea fixed issue 1187, custom widget hadnling error in case for nonzero formatter, thanks Maria Mitica 2012-12-05 16:34:55 -06:00
mdipierro f6dc70dd9b himBH>jQuery, thanks Niphlod 2012-12-05 15:33:30 -06:00
mdipierro c43aa3545f himBH>jQuery, thanks Niphlod 2012-12-05 15:33:30 -06:00
mdipierro f5368f988e better paymenttech support, BSD license 2012-12-05 15:31:38 -06:00
mdipierro 8e48a816f8 better paymenttech support, BSD license 2012-12-05 15:31:38 -06:00
mdipierro c86a4467d3 fixed IS_STRONG **** issue, issue 1098 2012-12-05 15:24:15 -06:00
mdipierro afef829571 fixed IS_STRONG **** issue, issue 1098 2012-12-05 15:24:15 -06:00
mdipierro 9c41f48786 lazy sqlhtml_validators, fixed issue 931 2012-12-05 14:18:00 -06:00
mdipierro f4e5de995c lazy sqlhtml_validators, fixed issue 931 2012-12-05 14:18:00 -06:00
mdipierro 9202be6fba fixed web2py_bootstrap.css, thanks Paolo 2012-12-05 13:53:46 -06:00
mdipierro 70a4e06f18 fixed web2py_bootstrap.css, thanks Paolo 2012-12-05 13:53:46 -06:00
mdipierro 73f2da5087 allow more customization of db._adapter.types 2012-12-05 11:57:18 -06:00
mdipierro f241c008d4 allow more customization of db._adapter.types 2012-12-05 11:57:18 -06:00
mdipierro 32823d8288 fixed issue 440, reference to primary keys 2012-12-05 11:35:23 -06:00
mdipierro 9920b7592d fixed issue 440, reference to primary keys 2012-12-05 11:35:23 -06:00
mdipierro 7e4c533357 db.define_table('person',Field('name'),Field.Virtual('namey',lambda row: row.person.name+'y')), fixed issue 374 2012-12-05 11:23:11 -06:00
mdipierro fee2c667b3 db.define_table('person',Field('name'),Field.Virtual('namey',lambda row: row.person.name+'y')), fixed issue 374 2012-12-05 11:23:11 -06:00
mdipierro d1e73c8f79 fixed issue 265 2012-12-05 11:03:16 -06:00
mdipierro ebc9d98a87 fixed issue 265 2012-12-05 11:03:16 -06:00
mdipierro 3cf2ca4347 db.thing(name='Cohen',_orderby=db.thing.name), thanks Yair 2012-12-05 09:01:03 -06:00
mdipierro 06f5a32c48 db.thing(name='Cohen',_orderby=db.thing.name), thanks Yair 2012-12-05 09:01:03 -06:00
mdipierro a058a39976 experimental support for MSSQL pagination 2012-12-04 18:30:36 -06:00
mdipierro 35cb9ee529 experimental support for MSSQL pagination 2012-12-04 18:30:36 -06:00
mdipierro c75eab9e73 paymentech.py 2012-12-04 10:56:30 -06:00
mdipierro f0e59ca617 paymentech.py 2012-12-04 10:56:30 -06:00
mdipierro d01750601b 2.3.0 rc1 2012-12-04 09:02:41 -06:00
mdipierro 1bbfd80c24 2.3.0 rc1 2012-12-04 09:02:41 -06:00
mdipierro 2b21c8ec8d uri='informi-se://... 2012-12-04 08:48:27 -06:00
mdipierro a9600faa9f uri='informi-se://... 2012-12-04 08:48:27 -06:00
mdipierro b1b295f700 added interact.html to git 2012-12-04 08:32:26 -06:00
mdipierro 6f39f96799 added interact.html to git 2012-12-04 08:32:26 -06:00
mdipierro 07afe71f37 fixed filename in dal storage, thanks Marin 2012-12-03 18:02:45 -06:00
mdipierro b06df4740b fixed filename in dal storage, thanks Marin 2012-12-03 18:02:45 -06:00
mdipierro 5347bd03f1 possibly fixed issue 1169 2012-12-03 17:39:17 -06:00
mdipierro d354e4f767 possibly fixed issue 1169 2012-12-03 17:39:17 -06:00
mdipierro d964970c9e fixed escape->encodeURIComponent in autocomplete, issue 1198, thanks Dmitry 2012-12-03 17:11:18 -06:00
mdipierro caef44d4f9 fixed escape->encodeURIComponent in autocomplete, issue 1198, thanks Dmitry 2012-12-03 17:11:18 -06:00
mdipierro bfcda54fa2 check_reserved in welcome, thanks Marin 2012-12-03 16:30:13 -06:00
mdipierro f9eb2c5a0a check_reserved in welcome, thanks Marin 2012-12-03 16:30:13 -06:00
mdipierro 411ef4549e closeflash patch, thanks Paolo, issue 1191 2012-12-03 16:06:27 -06:00
mdipierro 3a05be49f6 closeflash patch, thanks Paolo, issue 1191 2012-12-03 16:06:27 -06:00
mdipierro ca18d164e3 MENU(li_first, li_last..), fixed issue 1200, thanks dev to null 2012-12-03 14:42:37 -06:00
mdipierro b92e169b69 MENU(li_first, li_last..), fixed issue 1200, thanks dev to null 2012-12-03 14:42:37 -06:00
mdipierro f6c1ae20c9 better grid errors, issue 1135 2012-12-03 14:28:00 -06:00
mdipierro 882f42de8f better grid errors, issue 1135 2012-12-03 14:28:00 -06:00
mdipierro fdf7d5661d fixed problem with raw_args 2012-12-03 14:04:17 -06:00
mdipierro c8e64ac4f7 fixed problem with raw_args 2012-12-03 14:04:17 -06:00
mdipierro cabe9603c2 fixed cronjobs broken in 4278, fixed issue 1190 2012-12-03 13:16:14 -06:00
mdipierro da1751dc1b fixed cronjobs broken in 4278, fixed issue 1190 2012-12-03 13:16:14 -06:00
mdipierro abca14d9ae improved heroku script 2012-12-03 11:01:11 -06:00
mdipierro 304ae277fe improved heroku script 2012-12-03 11:01:11 -06:00
mdipierro ce0180a23a support for in and not in smart_query 2012-12-03 08:15:58 -06:00
mdipierro 0e93162080 support for in and not in smart_query 2012-12-03 08:15:58 -06:00
mdipierro 96de4348fa auth.settings.login_onfail, thanks Yair 2012-12-02 08:27:17 -06:00
mdipierro 6ced9dd235 auth.settings.login_onfail, thanks Yair 2012-12-02 08:27:17 -06:00
mdipierro 7aef84ae90 added missing form.html to examples 2012-12-01 16:39:31 -06:00
mdipierro e2da57f448 added missing form.html to examples 2012-12-01 16:39:31 -06:00
mdipierro 1bfd5bc20a removed test, lazy table do not suport self references 2012-11-30 14:30:49 -06:00
mdipierro d0047e6e5b removed test, lazy table do not suport self references 2012-11-30 14:30:49 -06:00
mdipierro 7c8ecbe126 wiki(menugroups=['wiki_editor']) 2012-11-30 09:02:35 -06:00
mdipierro 90955bdcab wiki(menugroups=['wiki_editor']) 2012-11-30 09:02:35 -06:00
mdipierro eda7e27394 fixed error reporting in dal 2012-11-30 08:34:11 -06:00
mdipierro d2b4099cdb fixed error reporting in dal 2012-11-30 08:34:11 -06:00
mdipierro b6947c5f25 fixed problem with lazy tables and self references 2012-11-29 23:54:29 -06:00
mdipierro 1e7315d4a8 fixed problem with lazy tables and self references 2012-11-29 23:54:29 -06:00
mdipierro 792b313891 Allow for Field Validators to handle None values, fixed issue 1183, thanks Joe Barnhart 2012-11-29 22:35:20 -06:00
mdipierro d7ace92c04 Allow for Field Validators to handle None values, fixed issue 1183, thanks Joe Barnhart 2012-11-29 22:35:20 -06:00
mdipierro a56030b6c1 allow -R ...pyc, fixed issue 1186, thanks Corne.Dickens 2012-11-29 18:21:06 -06:00
mdipierro 568c33d7d6 allow -R ...pyc, fixed issue 1186, thanks Corne.Dickens 2012-11-29 18:21:06 -06:00
mdipierro 9291d38bb5 added missing fileutils, fixed issue 1193, thanks Yager 2012-11-29 17:13:30 -06:00
mdipierro ef8f10c42d added missing fileutils, fixed issue 1193, thanks Yager 2012-11-29 17:13:30 -06:00
mdipierro 33271c8386 fixed issue 1197, Virtual Fields are stored in session 2012-11-29 17:05:27 -06:00
mdipierro fc7c4432e9 fixed issue 1197, Virtual Fields are stored in session 2012-11-29 17:05:27 -06:00
mdipierro 1a2d11560f do not redirect after auth.logout() if next is None 2012-11-29 09:52:48 -06:00
mdipierro 04a7d9a92d do not redirect after auth.logout() if next is None 2012-11-29 09:52:48 -06:00
mdipierro fabc3a5db1 new router patch fixes runaway vulnerability, thanks Jonathan 2012-11-27 11:29:36 -06:00
mdipierro b83673f1c8 new router patch fixes runaway vulnerability, thanks Jonathan 2012-11-27 11:29:36 -06:00
mdipierro 25f16b5315 fixed bug in getlist thanks roger 2012-11-27 10:17:22 -06:00
mdipierro ba21ce887a fixed bug in getlist thanks roger 2012-11-27 10:17:22 -06:00
mdipierro c4ffbf4b2b style upload button 2012-11-27 10:11:52 -06:00
mdipierro 5764482acd style upload button 2012-11-27 10:11:52 -06:00
mdipierro 24531b85c6 fixed issue 1174, cache folder in examples 2012-11-24 11:12:20 -06:00
mdipierro 1b0e08cfa0 fixed issue 1174, cache folder in examples 2012-11-24 11:12:20 -06:00
mdipierro b8ca2a1e97 fixed issue 1174, cache folder in examples 2012-11-24 11:07:07 -06:00
mdipierro e59cb43b0b fixed issue 1174, cache folder in examples 2012-11-24 11:07:07 -06:00
mdipierro fe4713ad88 fixed issue 1176, truncate on GAE+SQL 2012-11-24 10:58:44 -06:00
mdipierro 2cbca7a43d fixed issue 1176, truncate on GAE+SQL 2012-11-24 10:58:44 -06:00
mdipierro 43c97bd8cc fixed issue 1179, welcome.w2p created if not exists 2012-11-24 10:48:27 -06:00
mdipierro d2dd3d0ac6 fixed issue 1179, welcome.w2p created if not exists 2012-11-24 10:48:27 -06:00
mdipierro 71fb544eaa added .woff contenttype, fixed issue 1181, thanks Chris 2012-11-24 10:35:47 -06:00
mdipierro 6324ed7a9c added .woff contenttype, fixed issue 1181, thanks Chris 2012-11-24 10:35:47 -06:00
mdipierro 2323b07d07 rocket support for IPV6, thanks Chirs Winebrinner 2012-11-24 10:15:37 -06:00
mdipierro 23595c0608 rocket support for IPV6, thanks Chirs Winebrinner 2012-11-24 10:15:37 -06:00
mdipierro 291e7ebb57 Merge branch 'master' of github.com:web2py/web2py 2012-11-24 10:09:48 -06:00
mdipierro eebc3418f9 Merge branch 'master' of github.com:web2py/web2py 2012-11-24 10:09:48 -06:00
mdipierro 7794090bfe Merge pull request #44 from cwinebrinner/rocket_ipv6_and_cleanup
explorigin/Rocket merged and IPv6 support added
2012-11-24 08:06:54 -08:00
mdipierro 867caae3da Merge pull request #44 from cwinebrinner/rocket_ipv6_and_cleanup
explorigin/Rocket merged and IPv6 support added
2012-11-24 08:06:54 -08:00
mdipierro 2f06fe4d2a fixed router regex runaway, thanks Jonathan 2012-11-23 11:58:36 -06:00
mdipierro d0098a878a fixed router regex runaway, thanks Jonathan 2012-11-23 11:58:36 -06:00
mdipierro b41e89586c fixed ldap security issue, thanks demetrio 2012-11-23 08:02:01 -06:00
mdipierro ee7db631ee fixed ldap security issue, thanks demetrio 2012-11-23 08:02:01 -06:00
Charles Winebrinner bd13035a17 Added IPv6 support for Rocket, refactored some code, and fixed some bugs. 2012-11-18 01:03:04 -06:00
Charles Winebrinner b388f41f80 Added IPv6 support for Rocket, refactored some code, and fixed some bugs. 2012-11-18 01:03:04 -06:00
Charles Winebrinner c6c54ad98d Merged explorigin/Rocket and brought web2py's rocket more in line with upstream. 2012-11-18 00:32:24 -06:00
Charles Winebrinner 9f5391bbc0 Merged explorigin/Rocket and brought web2py's rocket more in line with upstream. 2012-11-18 00:32:24 -06:00
Charles Winebrinner a9ec60e4b9 Fixed a typo in utils.py. 2012-11-18 00:32:24 -06:00
Charles Winebrinner 22ca52a1cb Fixed a typo in utils.py. 2012-11-18 00:32:24 -06:00
Charles Winebrinner 1deee02eff PEP8'd rocket.py.footer (to be removed from rocket.py). 2012-11-18 00:32:24 -06:00
Charles Winebrinner b56cfb372d PEP8'd rocket.py.footer (to be removed from rocket.py). 2012-11-18 00:32:24 -06:00
mdipierro b27f2a59f4 better heroku script 2012-11-17 22:28:51 -06:00
mdipierro c8367e257f better heroku script 2012-11-17 22:28:51 -06:00
mdipierro d7a38b5350 better heroku support 2012-11-17 22:14:42 -06:00
mdipierro 62d37702a9 better heroku support 2012-11-17 22:14:42 -06:00
mdipierro db02948e08 added heroku support 2012-11-17 21:38:28 -06:00
mdipierro 74fc2a2d85 added heroku support 2012-11-17 21:38:28 -06:00
mdipierro 7b1351daa3 fixed broken session in recent trunk 2012-11-17 13:28:50 -06:00
mdipierro 0ac1298501 fixed broken session in recent trunk 2012-11-17 13:28:50 -06:00
mdipierro a317c223c4 fixed issue 1173, request.requires_https, thanks Maciej 2012-11-17 12:14:28 -06:00
mdipierro faf76ac715 fixed issue 1173, request.requires_https, thanks Maciej 2012-11-17 12:14:28 -06:00
mdipierro ffe118c45a fixed typo in response.updated, issue 1167, thanks dedirock 2012-11-17 12:06:39 -06:00
mdipierro 3ece96ae08 fixed typo in response.updated, issue 1167, thanks dedirock 2012-11-17 12:06:39 -06:00
mdipierro e53a175740 better list widget, thanks Howesc 2012-11-17 12:04:29 -06:00
mdipierro e91cf7f6ac better list widget, thanks Howesc 2012-11-17 12:04:29 -06:00
mdipierro 2b05b92de8 fixed issue 1152, gae sql varchar limit, and fixed typo in fpdf 2012-11-17 11:46:46 -06:00
mdipierro 019d3e07b5 fixed issue 1152, gae sql varchar limit, and fixed typo in fpdf 2012-11-17 11:46:46 -06:00
mdipierro 80ba8c2992 fixed image_map in gluon/contrib/fpdf/html.py 2012-11-17 09:16:07 -06:00
mdipierro e3046845bf fixed image_map in gluon/contrib/fpdf/html.py 2012-11-17 09:16:07 -06:00
mdipierro 18ca3bb1c1 fixed broken HTT_HOST in routes_in 2012-11-17 08:59:55 -06:00
mdipierro b8f52ed76a fixed broken HTT_HOST in routes_in 2012-11-17 08:59:55 -06:00
mdipierro 851053e4ec extra or {}, thanks villas 2012-11-16 16:24:13 -06:00
mdipierro 662abd29cb extra or {}, thanks villas 2012-11-16 16:24:13 -06:00
Michele Comitini 5f1566db49 Merge github.com:web2py/web2py 2012-11-16 11:31:05 +01:00
mdipierro 045f5b4578 auth.wiki(extra) 2012-11-15 14:34:20 -06:00
mdipierro 3560337b40 auth.wiki(extra) 2012-11-15 14:34:20 -06:00
mdipierro a63b8ca9ca patches for @service.jsonrpc and exportclasses, thanks niphlod 2012-11-15 13:40:04 -06:00
mdipierro c7985e8881 patches for @service.jsonrpc and exportclasses, thanks niphlod 2012-11-15 13:40:04 -06:00
mdipierro 1425a46c00 fixed generic.xml 2012-11-15 12:29:28 -06:00
mdipierro a69bc44314 fixed generic.xml 2012-11-15 12:29:28 -06:00
mdipierro 1268d76ae8 do not create a new session if nothing in session file 2012-11-14 15:33:18 -06:00
mdipierro 651c92c175 do not create a new session if nothing in session file 2012-11-14 15:33:18 -06:00
mdipierro 0f2df1b46c fixed issue 1160, show button for linked tables even if referenced column is not readable 2012-11-14 15:00:04 -06:00
mdipierro 7319574f30 fixed issue 1160, show button for linked tables even if referenced column is not readable 2012-11-14 15:00:04 -06:00
mdipierro f90d871fb6 fixed issue 1158, redirect client_side in auth forms embedded via LOAD, thanks PyCon support 2012-11-14 14:12:32 -06:00
mdipierro b9821f1c21 fixed issue 1158, redirect client_side in auth forms embedded via LOAD, thanks PyCon support 2012-11-14 14:12:32 -06:00
mdipierro 019211cb80 possible solution to issue 1154, onvalidation = dict(onsuccess= [...]) 2012-11-14 13:47:56 -06:00
mdipierro 52ca6af024 possible solution to issue 1154, onvalidation = dict(onsuccess= [...]) 2012-11-14 13:47:56 -06:00
mdipierro bc9e3427a0 jQuery 1.8.2 2012-11-14 08:44:11 -06:00
mdipierro cc4d27c6d2 jQuery 1.8.2 2012-11-14 08:44:11 -06:00
mdipierro 54dabd979b fixed 2.5 issues with scheduler 2012-11-13 16:27:26 -06:00
mdipierro b687977663 fixed 2.5 issues with scheduler 2012-11-13 16:27:26 -06:00
mdipierro 180c508d83 fixed CAS login for extra url fields, thanks efaisal 2012-11-09 14:11:37 -06:00
mdipierro 3e85f5bf39 fixed CAS login for extra url fields, thanks efaisal 2012-11-09 14:11:37 -06:00
mdipierro 0001e35400 fixed issue 1144, start webservert at 0.0.0.0 2012-11-08 16:19:44 -06:00
mdipierro 23165d9382 fixed issue 1144, start webservert at 0.0.0.0 2012-11-08 16:19:44 -06:00
mdipierro 3ae5774404 HTML(doctype=''), issue 1140 2012-11-08 11:29:47 -06:00
mdipierro 1abc31895e HTML(doctype=''), issue 1140 2012-11-08 11:29:47 -06:00
mdipierro bce7bd7fa7 fixed issue 1143, grid/smartgrid GAE improvements, thanks Howesc 2012-11-08 10:05:46 -06:00
mdipierro 6fc70fbc55 fixed issue 1143, grid/smartgrid GAE improvements, thanks Howesc 2012-11-08 10:05:46 -06:00
mdipierro ec429af686 fies typo in dal, issue 1146, thanks guruyaya 2012-11-08 10:04:24 -06:00
mdipierro bf86becc5e fies typo in dal, issue 1146, thanks guruyaya 2012-11-08 10:04:24 -06:00
mdipierro e11aa24b7d typo in compileapp, issue 1149, thanks Corne 2012-11-08 10:02:46 -06:00
mdipierro 510142ad2d typo in compileapp, issue 1149, thanks Corne 2012-11-08 10:02:46 -06:00
mdipierro c5ecf80b65 possibly fixed issue 1151 2012-11-08 09:59:10 -06:00
mdipierro 6eb361d8f7 possibly fixed issue 1151 2012-11-08 09:59:10 -06:00
mdipierro fc739f242d fixed issue 1147, belongs(None), thanks Marin 2012-11-06 14:26:28 -06:00
mdipierro e56f588dea fixed issue 1147, belongs(None), thanks Marin 2012-11-06 14:26:28 -06:00
mdipierro 3f266a188a grid buttons_placement and links_placement , thanks Niphlod 2012-11-06 10:36:45 -06:00
mdipierro 0ee551de71 grid buttons_placement and links_placement , thanks Niphlod 2012-11-06 10:36:45 -06:00
mdipierro e1bcd86e5e changed in custom_import 2012-11-06 09:47:02 -06:00
mdipierro 7dc40f68db changed in custom_import 2012-11-06 09:47:02 -06:00
Michele Comitini b16fc6b19a Merge github.com:web2py/web2py 2012-11-06 05:02:10 +01:00
mdipierro ad2b332fa0 improved scheduler, thanks Niphlod 2012-11-05 12:39:17 -06:00
mdipierro adb0c08933 improved scheduler, thanks Niphlod 2012-11-05 12:39:17 -06:00
mdipierro 22e2b4864f fixed rss serializer again, thanks Charles Winebrinner 2012-11-04 20:45:25 -06:00
mdipierro 2fea9495b3 fixed rss serializer again, thanks Charles Winebrinner 2012-11-04 20:45:25 -06:00
mdipierro 7115c44cb8 fixed rss serializer again, thanks Charles Winebrinner 2012-11-04 19:55:15 -06:00
mdipierro 1f767c3497 fixed rss serializer again, thanks Charles Winebrinner 2012-11-04 19:55:15 -06:00
mdipierro d33871db98 fixed rss2 again 2012-11-04 19:29:18 -06:00
mdipierro 09bae08dfa fixed rss2 again 2012-11-04 19:29:18 -06:00
mdipierro 9ced73cf1d fixed problem in rss2.py 2012-11-04 18:12:41 -06:00
mdipierro 8a137691ff fixed problem in rss2.py 2012-11-04 18:12:41 -06:00
mdipierro 0d9cb51021 adding missing views 2012-11-04 09:14:47 -06:00
mdipierro 7de90f18cc adding missing views 2012-11-04 09:14:47 -06:00
mdipierro 3448db8e67 fixed issue 1136, prevent redirection loop, better form, usability as embedded widgets, thanks Alan 2012-11-03 11:54:46 -05:00
mdipierro 859636e6e0 fixed issue 1136, prevent redirection loop, better form, usability as embedded widgets, thanks Alan 2012-11-03 11:54:46 -05:00
mdipierro dec6afa0f1 better google wallet, checks parameters 2012-11-01 22:01:57 -05:00
mdipierro a511682ce1 better google wallet, checks parameters 2012-11-01 22:01:57 -05:00
mdipierro 755a860011 many scheduler improvements, thanks Niphlod 2012-11-01 21:35:53 -05:00
mdipierro 6a81420fc0 many scheduler improvements, thanks Niphlod 2012-11-01 21:35:53 -05:00
mdipierro 3173d75dad fixed issue 1124, create new auth.wiki page from slug model, thanks Nico 2012-11-01 21:33:06 -05:00
mdipierro fa019e8960 fixed issue 1124, create new auth.wiki page from slug model, thanks Nico 2012-11-01 21:33:06 -05:00
mdipierro f52c981316 better gluon.tools.Expose, thanks Richard 2012-11-01 21:09:09 -05:00
mdipierro b17358e761 better gluon.tools.Expose, thanks Richard 2012-11-01 21:09:09 -05:00
mdipierro d16ad52a56 fixed issue 1132, unicode in IS_IN_DB validator 2012-11-01 21:07:47 -05:00
mdipierro c9b41a4343 fixed issue 1132, unicode in IS_IN_DB validator 2012-11-01 21:07:47 -05:00
mdipierro f02fe585c8 fixed issue 1134, gae dal delete, thanks Howesc 2012-11-01 21:01:46 -05:00
mdipierro 8affdbdc86 fixed issue 1134, gae dal delete, thanks Howesc 2012-11-01 21:01:46 -05:00
mdipierro bb5a613ad2 fixed issue 1130, prevent exception for virtual fields in forms, thanks hi21alt 2012-10-31 11:43:11 -05:00
mdipierro a61e388498 fixed issue 1130, prevent exception for virtual fields in forms, thanks hi21alt 2012-10-31 11:43:11 -05:00
mdipierro 15e5b1a2f0 scripts/extract_sqlite_models.py, thanks Michele 2012-10-31 10:23:56 -05:00
mdipierro d72752f453 scripts/extract_sqlite_models.py, thanks Michele 2012-10-31 10:23:56 -05:00
mdipierro 863140fec9 allows to customize the A in a MENU, thanks ilvalle 2012-10-31 10:22:20 -05:00
mdipierro d67af48f29 allows to customize the A in a MENU, thanks ilvalle 2012-10-31 10:22:20 -05:00
mdipierro 16540d32ae fixed issue 1117, snitize of unicode, thanks Bill 2012-10-31 10:02:08 -05:00
mdipierro b18a2a7aa3 fixed issue 1117, snitize of unicode, thanks Bill 2012-10-31 10:02:08 -05:00
mdipierro 6801ed07d8 fixed issue 1127, SQLTABLE column with virtual fields, thanks hi21alt 2012-10-31 09:52:43 -05:00
mdipierro 693dce0e6c fixed issue 1127, SQLTABLE column with virtual fields, thanks hi21alt 2012-10-31 09:52:43 -05:00
mdipierro 783d049668 fixed issue 1129, recapcha message error, thanks Friedrich 2012-10-31 09:50:37 -05:00
mdipierro e1cd36771e fixed issue 1129, recapcha message error, thanks Friedrich 2012-10-31 09:50:37 -05:00
mdipierro f62c8f6489 allow to pass hidden to crud.update 2012-10-31 09:14:58 -05:00
mdipierro 12107da9bd allow to pass hidden to crud.update 2012-10-31 09:14:58 -05:00
Michele Comitini 33ebb0ce84 Merge github.com:web2py/web2py 2012-10-31 11:20:32 +01:00
Michele Comitini 3d1dfadc18 removed prints 2012-10-30 17:40:13 +01:00
Michele Comitini 9f2e135e80 improved regex matching 2012-10-30 17:39:49 +01:00
Massimo c404db4a08 fixed sync languages, thanks Yair 2012-10-30 11:09:50 -05:00
Massimo 96eee74f56 fixed sync languages, thanks Yair 2012-10-30 11:09:50 -05:00
Massimo 5713ec1365 fixed validator recent typo 2012-10-30 09:42:03 -05:00
Massimo 2f881085ef fixed validator recent typo 2012-10-30 09:42:03 -05:00
mdipierro bd6b719c32 reverted changes about formatting None 2012-10-29 22:25:19 -05:00
mdipierro 7b2afa109e reverted changes about formatting None 2012-10-29 22:25:19 -05:00
mdipierro 30ffb3492a gluon/contrib/login_methods/dropbox_account.py, get client 2012-10-29 22:22:36 -05:00
mdipierro 8dae3f832d gluon/contrib/login_methods/dropbox_account.py, get client 2012-10-29 22:22:36 -05:00
mdipierro 23f34e0f80 page and media preview in wiki, thanks Niphlod 2012-10-29 21:38:09 -05:00
mdipierro c61e0e11bb page and media preview in wiki, thanks Niphlod 2012-10-29 21:38:09 -05:00
mdipierro d1ac7981dd moved toolbar logic to dal, thanks Niphlod 2012-10-29 18:13:58 -05:00
mdipierro 04caa5f4e4 moved toolbar logic to dal, thanks Niphlod 2012-10-29 18:13:58 -05:00
mdipierro 28d320e5ac added informix to list, thanks Christopher 2012-10-29 18:11:52 -05:00
mdipierro 6a13c33c70 added informix to list, thanks Christopher 2012-10-29 18:11:52 -05:00
mdipierro 827ea1808a if user_group_name is None, user_group_role is also None 2012-10-29 14:00:29 -05:00
mdipierro 4357edb1d4 if user_group_name is None, user_group_role is also None 2012-10-29 14:00:29 -05:00
mdipierro 18d97c0609 csv can return a generator, thanks Jonathan 2012-10-29 11:36:04 -05:00
mdipierro 9d7e009c0f csv can return a generator, thanks Jonathan 2012-10-29 11:36:04 -05:00
mdipierro 094646d5ba validator.formatter checks None 2012-10-29 10:09:07 -05:00
mdipierro 7549f77edc validator.formatter checks None 2012-10-29 10:09:07 -05:00
mdipierro 2b0943b57d fixed redirection after change password, issue 1112, thanks Friedrich 2012-10-29 09:31:51 -05:00
mdipierro 5ee2ab9b6b fixed redirection after change password, issue 1112, thanks Friedrich 2012-10-29 09:31:51 -05:00
mdipierro c6f3bda227 fixed issue 1118, reload page when called by component, thanks Paolo 2012-10-29 09:28:19 -05:00
mdipierro 54b98b4e05 fixed issue 1118, reload page when called by component, thanks Paolo 2012-10-29 09:28:19 -05:00
mdipierro 8e9a190fef fixed toolbar issue 1111, thanks niphlod 2012-10-29 09:06:52 -05:00
mdipierro 6e0e48e150 fixed toolbar issue 1111, thanks niphlod 2012-10-29 09:06:52 -05:00
mdipierro db21f663fe fixed issue 1120, bug introduced in latest utils.py import. thanks Yair 2012-10-29 08:59:54 -05:00
mdipierro fe5a1c6a8d fixed issue 1120, bug introduced in latest utils.py import. thanks Yair 2012-10-29 08:59:54 -05:00
mdipierro 554640b103 fixed issue 1121, appadmin interface to cache, thanks Paolo 2012-10-29 08:57:43 -05:00
mdipierro 8332106754 fixed issue 1121, appadmin interface to cache, thanks Paolo 2012-10-29 08:57:43 -05:00
mdipierro ba1a28f47a fixed bug in sessions2trach.py, issue 1111, thanks Szimszon 2012-10-29 08:53:50 -05:00
mdipierro aa149d2e7b fixed bug in sessions2trach.py, issue 1111, thanks Szimszon 2012-10-29 08:53:50 -05:00
Michele Comitini c58c6157e9 pulling custom_import from upstream 2012-10-29 10:11:18 +01:00
mdipierro 056ffa300a following Joe and Jonathan's advice, None value is formatted 2012-10-28 12:01:09 -05:00
mdipierro a5f883c2f0 following Joe and Jonathan's advice, None value is formatted 2012-10-28 12:01:09 -05:00
Michele Comitini d450d48e99 Merge github.com:web2py/web2py 2012-10-28 14:38:03 +01:00
Michele Comitini 0aa87fed63 model generator for sqlite legacy databases. 2012-10-28 14:37:34 +01:00
mdipierro 70cc551bba better utils.py, thanks Niphlod 2012-10-27 14:37:40 -05:00
mdipierro 5953377060 better utils.py, thanks Niphlod 2012-10-27 14:37:40 -05:00
Michele Comitini 78cf7e0622 Merge github.com:web2py/web2py 2012-10-27 21:26:31 +02:00
mdipierro b44f82c13c removed redundant assignment, thanks Niphlod 2012-10-26 15:51:17 -05:00
mdipierro 5a478302f4 removed redundant assignment, thanks Niphlod 2012-10-26 15:51:17 -05:00
mdipierro 8fe14215e1 fixed scheduler bug, thanks Niphlod 2012-10-26 15:49:47 -05:00
mdipierro 1621825166 fixed scheduler bug, thanks Niphlod 2012-10-26 15:49:47 -05:00
mdipierro b87d3fb481 fixed commit mistake, thanks Nico 2012-10-25 17:23:05 -05:00
mdipierro 6af2e859ac fixed commit mistake, thanks Nico 2012-10-25 17:23:05 -05:00
mdipierro 88cfa5ef2a fixed issue 1096, thanks Howesc 2012-10-25 10:23:50 -05:00
mdipierro fb22a8843e fixed issue 1096, thanks Howesc 2012-10-25 10:23:50 -05:00
mdipierro 913d6331c6 fixed issue 1104, thanks Paolo Valleri 2012-10-25 10:19:50 -05:00
mdipierro 529dda0e6d fixed issue 1104, thanks Paolo Valleri 2012-10-25 10:19:50 -05:00
mdipierro a1a6cd0d07 fixed issue 1109 2012-10-25 10:11:51 -05:00
mdipierro 35c893d47a fixed issue 1109 2012-10-25 10:11:51 -05:00
mdipierro 88e554fb7e fixed issue 1113, thanks Nico 2012-10-25 10:07:39 -05:00
mdipierro 99e2397981 fixed issue 1113, thanks Nico 2012-10-25 10:07:39 -05:00
mdipierro 6394953a17 fixed issue 1114, thanks Friedrich 2012-10-25 10:04:04 -05:00
mdipierro b6d68f97d6 fixed issue 1114, thanks Friedrich 2012-10-25 10:04:04 -05:00
mdipierro c7019930fd operators in grid are not translated, thanks Friedrich Weber 2012-10-25 10:02:40 -05:00
mdipierro 74024301a5 operators in grid are not translated, thanks Friedrich Weber 2012-10-25 10:02:40 -05:00
mdipierro 1b15818ab6 better pep8 in ldap_auth.py, thanks Gyuris 2012-10-25 08:47:36 -05:00
mdipierro 1f100bbe88 better pep8 in ldap_auth.py, thanks Gyuris 2012-10-25 08:47:36 -05:00
mdipierro a48b008f99 wiki edit menu pages conditional to login 2012-10-25 08:22:34 -05:00
mdipierro c94c192e17 wiki edit menu pages conditional to login 2012-10-25 08:22:34 -05:00
mdipierro 7ec816bf73 better sessions2trash.py, thanks Jim 2012-10-25 08:17:30 -05:00
mdipierro 0d9e5985e4 better sessions2trash.py, thanks Jim 2012-10-25 08:17:30 -05:00
Massimo fd16eb767e fixed missing sys in languages 2012-10-24 16:04:32 -05:00
Massimo b31bfdaaf5 fixed missing sys in languages 2012-10-24 16:04:32 -05:00
mdipierro 90bcc9b08b dal almost runs with python 3.3 but fails a test on 2.5 2012-10-23 11:30:02 -05:00
mdipierro 5f67edbf87 dal almost runs with python 3.3 but fails a test on 2.5 2012-10-23 11:30:02 -05:00
mdipierro 3d6be9a383 dal compiles with python 3.3 2012-10-23 11:13:29 -05:00
mdipierro 093e8b356e dal compiles with python 3.3 2012-10-23 11:13:29 -05:00
mdipierro d575d8053f template compiles with python 3.0 2012-10-23 10:45:17 -05:00
mdipierro 43d4c2831d template compiles with python 3.0 2012-10-23 10:45:17 -05:00
mdipierro 50497b3c1f languages.py closer to python 3.0 support 2012-10-23 10:28:46 -05:00
mdipierro 55a0dbeb86 languages.py closer to python 3.0 support 2012-10-23 10:28:46 -05:00
mdipierro 49b40a1cf3 utils compiles with python 3 2012-10-23 10:17:23 -05:00
mdipierro 2f1f2dccc1 utils compiles with python 3 2012-10-23 10:17:23 -05:00
mdipierro 36518ecbeb reverted changs to utils 2012-10-23 10:13:17 -05:00
mdipierro a4cef60c49 reverted changs to utils 2012-10-23 10:13:17 -05:00
mdipierro 28e773f9a7 utils compiles with python 3 2012-10-23 10:11:33 -05:00
mdipierro 96ee377279 utils compiles with python 3 2012-10-23 10:11:33 -05:00
mdipierro 5247981fa8 aes python 3 compiles (but does work well?) 2012-10-23 09:54:07 -05:00
mdipierro 4152c72de5 aes python 3 compiles (but does work well?) 2012-10-23 09:54:07 -05:00
mdipierro ea6714e89b aes new raise compliant 2012-10-23 09:44:34 -05:00
mdipierro ab066397b2 aes new raise compliant 2012-10-23 09:44:34 -05:00
mdipierro 5a63fddf02 reverted previous change but still problems with concurency multiple dbs in different folders in same app 2012-10-22 22:52:40 -05:00
mdipierro 8c514df120 reverted previous change but still problems with concurency multiple dbs in different folders in same app 2012-10-22 22:52:40 -05:00
mdipierro 510e8d70d7 THREAD_LOCAL folder not reset in dal 2012-10-22 22:49:35 -05:00
mdipierro 0eab35842d THREAD_LOCAL folder not reset in dal 2012-10-22 22:49:35 -05:00
mdipierro 108aeb0ee1 portable languages 2012-10-22 22:21:11 -05:00
mdipierro 752bb7e048 portable languages 2012-10-22 22:21:11 -05:00
mdipierro 46610d59ce language changes 2012-10-22 22:14:40 -05:00
mdipierro 9e897dcc46 language changes 2012-10-22 22:14:40 -05:00
mdipierro b5603d6956 minor fix in dal for rare condition 2012-10-22 18:50:18 -05:00
mdipierro 2bb3485827 minor fix in dal for rare condition 2012-10-22 18:50:18 -05:00
Michele Comitini ccb976e233 Merge github.com:web2py/web2py 2012-10-22 23:38:35 +02:00
mdipierro f0efd80e44 minor fix in dal for rare condition 2012-10-22 15:07:38 -05:00
mdipierro 0be4abe9c2 minor fix in dal for rare condition 2012-10-22 15:07:38 -05:00
Michele Comitini d10774b3ae Merge github.com:web2py/web2py 2012-10-22 12:51:58 +02:00
mdipierro b7208616cd R-2.2.1 2012-10-21 10:54:13 -05:00
mdipierro 37bc09169f R-2.2.1 2012-10-21 10:54:13 -05:00
mdipierro cdaf4f651b assign_task takes better care for group_names, thanks Niphlod 2012-10-21 09:23:26 -05:00
mdipierro 1cc2decfdd assign_task takes better care for group_names, thanks Niphlod 2012-10-21 09:23:26 -05:00
mdipierro ce979d2945 fixed a problem with capitalization in wiki 2012-10-20 19:38:54 -05:00
mdipierro e9eb1689e2 fixed a problem with capitalization in wiki 2012-10-20 19:38:54 -05:00
Michele Comitini a451796562 merge with upstream after pep8 2012-10-21 00:12:30 +02:00
mdipierro 5aa27fc562 assign_task takes better care for group_names, thanks Niphlod 2012-10-20 15:27:13 -05:00
mdipierro 0f446833c0 assign_task takes better care for group_names, thanks Niphlod 2012-10-20 15:27:13 -05:00
mdipierro dc23087847 fixed issue 1102, thanks howesc 2012-10-20 10:12:04 -05:00
mdipierro cb9c2a8ef9 fixed issue 1102, thanks howesc 2012-10-20 10:12:04 -05:00
mdipierro 28084cf99a fixed issue 1109, thanks Niphlod 2012-10-20 10:11:08 -05:00
mdipierro b37ed1c1e0 fixed issue 1109, thanks Niphlod 2012-10-20 10:11:08 -05:00
mdipierro 5d439bdc30 fixed issue 1100, thanks sherdim 2012-10-20 10:08:58 -05:00
mdipierro b484955005 fixed issue 1100, thanks sherdim 2012-10-20 10:08:58 -05:00
mdipierro 3f4330d9b1 removed print statements from scheduler, thanks Niphlod 2012-10-20 10:03:57 -05:00
mdipierro 654626d519 removed print statements from scheduler, thanks Niphlod 2012-10-20 10:03:57 -05:00
mdipierro b9a1056503 back button in mobile admin demo 2012-10-19 18:43:14 -05:00
mdipierro ca0313c514 back button in mobile admin demo 2012-10-19 18:43:14 -05:00
mdipierro 98353bc18a fixed problem with new importer and custom import 2012-10-19 18:36:39 -05:00
mdipierro fb357eb241 fixed problem with new importer and custom import 2012-10-19 18:36:39 -05:00
mdipierro 32a9d36934 populate fix and pep8 2012-10-19 14:59:30 -05:00
mdipierro 1a83487221 populate fix and pep8 2012-10-19 14:59:30 -05:00
mdipierro 295084976b pep8 in scripts/*.py 2012-10-19 14:22:42 -05:00
mdipierro 6cda7a29fc pep8 in scripts/*.py 2012-10-19 14:22:42 -05:00
mdipierro d053900032 fixed pep8 in apps 2012-10-19 14:13:37 -05:00
mdipierro 17f495e9c5 fixed pep8 in apps 2012-10-19 14:13:37 -05:00
mdipierro c7943b8977 upgraded feedparer and PyRSS2Gen 2012-10-19 12:59:58 -05:00
mdipierro dd32a90844 upgraded feedparer and PyRSS2Gen 2012-10-19 12:59:58 -05:00
mdipierro 6aa5edc7ff many pep8 improvements 2012-10-19 12:33:53 -05:00
mdipierro 4b2ba185ae many pep8 improvements 2012-10-19 12:33:53 -05:00
mdipierro 71ec15190b some pep8 changes (fixed spacing at end) 2012-10-19 10:37:07 -05:00
mdipierro b716df1a05 some pep8 changes (fixed spacing at end) 2012-10-19 10:37:07 -05:00
mdipierro 3a66f5e330 fixed some pep8 stuff 2012-10-19 09:40:17 -05:00
mdipierro d552eb2eeb fixed some pep8 stuff 2012-10-19 09:40:17 -05:00
mdipierro ea9ae52e10 scheduler.queue_task, thank Niphlod 2012-10-18 18:20:51 -05:00
mdipierro de2337dfe3 scheduler.queue_task, thank Niphlod 2012-10-18 18:20:51 -05:00
mdipierro ec0d7e6ecf codemirror autoresize 2012-10-18 13:42:49 -05:00
mdipierro e707cfc67c codemirror autoresize 2012-10-18 13:42:49 -05:00
mdipierro 8d5c82c531 scheduler.queue_task(...), thanks Niphlod 2012-10-18 13:02:19 -05:00
mdipierro c3c5df6394 scheduler.queue_task(...), thanks Niphlod 2012-10-18 13:02:19 -05:00
mdipierro 3124fd90b9 better openshift error 2012-10-17 17:00:50 -05:00
mdipierro 72739ebb97 better openshift error 2012-10-17 17:00:50 -05:00
mdipierro 255cb5e1de faster scheduler, thanks Niphlod 2012-10-17 16:01:29 -05:00
mdipierro 39c94b8dcf faster scheduler, thanks Niphlod 2012-10-17 16:01:29 -05:00
mdipierro a2a011f007 remove excessive session saving with caching of mobile_agent 2012-10-17 14:33:52 -05:00
mdipierro 5af380223a remove excessive session saving with caching of mobile_agent 2012-10-17 14:33:52 -05:00
mdipierro 1da32b81cf fixed appadmin bug and excessive session saving 2012-10-17 14:30:02 -05:00
mdipierro 1ea379180a fixed appadmin bug and excessive session saving 2012-10-17 14:30:02 -05:00
mdipierro b1e5ed4018 fixed problem with session in cookie, thanks Niphlod 2012-10-17 12:04:19 -05:00
mdipierro ca3d050a0b fixed problem with session in cookie, thanks Niphlod 2012-10-17 12:04:19 -05:00
mdipierro 5d2967abdf T.is_writable, thanks Fran 2012-10-17 09:13:48 -05:00
mdipierro 161b2271b3 T.is_writable, thanks Fran 2012-10-17 09:13:48 -05:00
Massimo 3ea3d1a5f8 inlined sluggify 2012-10-16 11:47:16 -05:00
Massimo 013c94cdf6 inlined sluggify 2012-10-16 11:47:16 -05:00
Massimo 6a8423bd88 customizable session cookie expriration 2012-10-16 11:23:41 -05:00
Massimo addbb78151 customizable session cookie expriration 2012-10-16 11:23:41 -05:00
Massimo 7798e49d8a session cookie data no expires by default 2012-10-16 11:14:52 -05:00
Massimo f6789eaf39 session cookie data no expires by default 2012-10-16 11:14:52 -05:00
Massimo fd0f48f028 fixed auth.impersonating again, thanks Ricardo 2012-10-16 11:08:42 -05:00
Massimo c13b4f18f7 fixed auth.impersonating again, thanks Ricardo 2012-10-16 11:08:42 -05:00
Massimo 418e753684 current.T.is_writable=False no languages write, thanks Fran 2012-10-16 10:54:33 -05:00
Massimo 67840e9481 current.T.is_writable=False no languages write, thanks Fran 2012-10-16 10:54:33 -05:00
Massimo 03eb760cd7 fixed issue 1092, thanks nicozanf 2012-10-16 10:34:36 -05:00
Massimo 41c40974a3 fixed issue 1092, thanks nicozanf 2012-10-16 10:34:36 -05:00
Massimo 90098648df users can switch between sessions storage types 2012-10-16 10:25:28 -05:00
Massimo 9a6ce11f09 users can switch between sessions storage types 2012-10-16 10:25:28 -05:00
mdipierro 00f1ab4393 improved session data in cookie 2012-10-16 07:44:22 -05:00
mdipierro d404e40508 improved session data in cookie 2012-10-16 07:44:22 -05:00
mdipierro 7119d53a86 improved session data in cookie 2012-10-16 07:10:33 -05:00
mdipierro b6a496aae5 improved session data in cookie 2012-10-16 07:10:33 -05:00
mdipierro 2afb8a5a96 fixed bug with auth.impersonate(0) 2012-10-16 06:19:39 -05:00
mdipierro ecaed07a3d fixed bug with auth.impersonate(0) 2012-10-16 06:19:39 -05:00
mdipierro efcc2cf249 sessions in secure cookies, session.connect(cookie_key='mypassword') 2012-10-16 06:15:45 -05:00
mdipierro 30ec8e645b sessions in secure cookies, session.connect(cookie_key='mypassword') 2012-10-16 06:15:45 -05:00
mdipierro bd5db6b48e reverting some test but session.__hash needs work 2012-10-15 21:49:43 -05:00
mdipierro 3a1ba53a4b reverting some test but session.__hash needs work 2012-10-15 21:49:43 -05:00
mdipierro 44d81b897a fixed problem with session __hash 2012-10-15 20:43:51 -05:00
mdipierro ab95dfa7cd fixed problem with session __hash 2012-10-15 20:43:51 -05:00
mdipierro 5623db50fa fixed issue with storing Row in session 2012-10-15 19:39:25 -05:00
mdipierro 6b9ebb6dc5 fixed issue with storing Row in session 2012-10-15 19:39:25 -05:00
mdipierro 647ac1f84b more languages patches, thanks Vladyslav 2012-10-15 16:28:51 -05:00
mdipierro e2e843d2ed more languages patches, thanks Vladyslav 2012-10-15 16:28:51 -05:00
mdipierro e24b644a09 fixed make pip 2012-10-15 14:48:45 -05:00
mdipierro d5381d7b36 fixed make pip 2012-10-15 14:48:45 -05:00
mdipierro c3a33c3795 who page 2012-10-15 14:44:04 -05:00
mdipierro f7c0f0341b who page 2012-10-15 14:44:04 -05:00
mdipierro 4e4f515ef1 better markmin with links in links, thanks Vladyslav 2012-10-15 07:43:23 -05:00
mdipierro 9f7fd68728 better markmin with links in links, thanks Vladyslav 2012-10-15 07:43:23 -05:00
mdipierro 3f5bc60406 R-2.1.1 2012-10-15 06:40:55 -05:00
mdipierro c2b6c645ef R-2.1.1 2012-10-15 06:40:55 -05:00
mdipierro 66fa7a1ea9 fixed error for missing driver 2012-10-15 06:36:44 -05:00
mdipierro 36810aaccc fixed error for missing driver 2012-10-15 06:36:44 -05:00
mdipierro afa4d11c88 updated changelog 2012-10-15 06:15:33 -05:00
mdipierro 8e14d1c92e updated changelog 2012-10-15 06:15:33 -05:00
mdipierro 0cfb9681e6 improved custom_inport with app-level track changes 2012-10-15 05:55:45 -05:00
mdipierro 9b7e944dea improved custom_inport with app-level track changes 2012-10-15 05:55:45 -05:00
mdipierro 321b9c5999 better errors in custom_import, thanks Michele 2012-10-15 05:46:57 -05:00
mdipierro b6429ca5fd better errors in custom_import, thanks Michele 2012-10-15 05:46:57 -05:00
mdipierro 3d9024561c -Y starts cron 2012-10-15 05:33:21 -05:00
mdipierro 8607b09e64 -Y starts cron 2012-10-15 05:33:21 -05:00
Michele Comitini 1d5e4d7090 removed print 2012-10-15 11:34:31 +02:00
Michele Comitini 484f53224d Reverted to the import using fromlist, but with working traceback. 2012-10-15 11:20:04 +02:00
mdipierro b49b8b4778 reverted custom_install tests 2012-10-14 20:07:54 -05:00
mdipierro 64151a2c3e reverted custom_install tests 2012-10-14 20:07:54 -05:00
mdipierro a03994d587 cron disabled by default unless -H 2012-10-14 18:29:17 -05:00
mdipierro d5749db0cd cron disabled by default unless -H 2012-10-14 18:29:17 -05:00
Michele Comitini 3c0b58322a Merge github.com:web2py/web2py 2012-10-15 00:35:25 +02:00
Michele Comitini 6dd9af61fd custom import fixes 2012-10-15 00:34:41 +02:00
mdipierro 48a4277ea2 fixed issue 1088 2012-10-14 16:40:49 -05:00
mdipierro df7d6847e6 fixed issue 1088 2012-10-14 16:40:49 -05:00
mdipierro 7731b96bcf auth = Auth(db).define_tables() in one line 2012-10-14 15:55:45 -05:00
mdipierro c6b5ad8179 auth = Auth(db).define_tables() in one line 2012-10-14 15:55:45 -05:00
mdipierro 54a6dee35d changed default driver for sqlite, thanks Niphlod 2012-10-14 15:32:33 -05:00
mdipierro 71ec500fde changed default driver for sqlite, thanks Niphlod 2012-10-14 15:32:33 -05:00
mdipierro efbe8bd857 DAL(...,do_connect=False,migrate_enabled=False) 2012-10-14 15:08:25 -05:00
mdipierro 6cf05edf63 DAL(...,do_connect=False,migrate_enabled=False) 2012-10-14 15:08:25 -05:00
mdipierro 5ae3d5afdc auth_wiki extra fields, thanks Alan 2012-10-14 14:44:37 -05:00
mdipierro 39c5341dbc auth_wiki extra fields, thanks Alan 2012-10-14 14:44:37 -05:00
mdipierro dca071cb6f added storage of length, notnull, unique in .table files 2012-10-14 14:41:28 -05:00
mdipierro e2234a8771 added storage of length, notnull, unique in .table files 2012-10-14 14:41:28 -05:00
mdipierro 238c04ff68 wiki preview patch, thanks Niphlod 2012-10-14 14:28:17 -05:00
mdipierro cac9741cb7 wiki preview patch, thanks Niphlod 2012-10-14 14:28:17 -05:00
mdipierro 1702f9cb19 bettere errors in custom_import, thanks Michele 2012-10-14 14:20:12 -05:00
mdipierro 648cb296e6 bettere errors in custom_import, thanks Michele 2012-10-14 14:20:12 -05:00
mdipierro 76d619fb34 faster better web2py_uuid, thanks Michele 2012-10-14 14:16:43 -05:00
mdipierro 5a0ebb7d8c faster better web2py_uuid, thanks Michele 2012-10-14 14:16:43 -05:00
Michele Comitini 66dd7d4337 Merge github.com:web2py/web2py 2012-10-14 02:21:53 +02:00
Michele Comitini 344def2b3d Trying to simplify custom import. 2012-10-14 02:13:51 +02:00
mdipierro 40c09a5d80 new tests in test_web, tests static/_1.2.3/... 2012-10-13 14:36:20 -05:00
mdipierro b7b534ccf2 new tests in test_web, tests static/_1.2.3/... 2012-10-13 14:36:20 -05:00
mdipierro 0b0fddb886 removed un-necessary setup_exe_2.6.py 2012-10-13 10:16:06 -05:00
mdipierro fab23d210b removed un-necessary setup_exe_2.6.py 2012-10-13 10:16:06 -05:00
mdipierro d9f83927e1 no more custom_import_install in gaehandler.py 2012-10-13 09:37:41 -05:00
mdipierro 6a18539f7e no more custom_import_install in gaehandler.py 2012-10-13 09:37:41 -05:00
mdipierro d8d85815ad redis session patch, thanks Niphlod 2012-10-13 09:26:53 -05:00
mdipierro 4d87a90c10 redis session patch, thanks Niphlod 2012-10-13 09:26:53 -05:00
mdipierro 4d569d3f7d fixed issue 1081, conflict betweeen web2py css error and bootstrap error classes, thanks Paolo and lapcchan 2012-10-13 09:25:32 -05:00
mdipierro 2c9767e500 fixed issue 1081, conflict betweeen web2py css error and bootstrap error classes, thanks Paolo and lapcchan 2012-10-13 09:25:32 -05:00
Michele Comitini db699de008 Merge github.com:web2py/web2py 2012-10-13 15:17:58 +02:00
mdipierro 10aa5d4c8c fixed issue 1084 2012-10-12 22:16:23 -05:00
mdipierro 2b1d9acba5 fixed issue 1084 2012-10-12 22:16:23 -05:00
mdipierro 06eaf803b5 ip address validator fixed 2012-10-12 18:17:06 -05:00
mdipierro 8a2d18b63b ip address validator fixed 2012-10-12 18:17:06 -05:00
Michele Comitini dc448f0033 Merge github.com:web2py/web2py 2012-10-12 21:17:03 +02:00
Massimo 63a5e953ba fixed problem with renaming of the rewrite.thread to rewrite.THREAD_LOCAL 2012-10-12 12:19:08 -05:00
Massimo b59f9f896c fixed problem with renaming of the rewrite.thread to rewrite.THREAD_LOCAL 2012-10-12 12:19:08 -05:00
Massimo 0f725d0d68 some minor simplifications in rewrite.py 2012-10-12 11:48:25 -05:00
Massimo 496e6663fd some minor simplifications in rewrite.py 2012-10-12 11:48:25 -05:00
Massimo d61a4529f3 improved speed of regex_url_in 2012-10-12 11:33:02 -05:00
Massimo a4fbf9b6b4 improved speed of regex_url_in 2012-10-12 11:33:02 -05:00
mdipierro aadde5a791 much better custom_import, smaller, faster, and finally works with shell 2012-10-11 22:03:20 -05:00
mdipierro b8afce746b much better custom_import, smaller, faster, and finally works with shell 2012-10-11 22:03:20 -05:00
mdipierro ca5efcc032 fixed cron 2012-10-11 16:48:07 -05:00
mdipierro 4c239eaf79 fixed cron 2012-10-11 16:48:07 -05:00
mdipierro a13c77d836 just alignment of custom_import 2012-10-11 09:23:36 -05:00
mdipierro 1d03233c83 just alignment of custom_import 2012-10-11 09:23:36 -05:00
mdipierro 85edef0802 faster init on gae and better gae_memcache 2012-10-11 08:27:58 -05:00
mdipierro 5358ad271e faster init on gae and better gae_memcache 2012-10-11 08:27:58 -05:00
Massimo b3841e19d2 added comments in cache, thanks Michele 2012-10-10 15:16:21 -05:00
Massimo 2fa7d72b01 added comments in cache, thanks Michele 2012-10-10 15:16:21 -05:00
Michele Comitini 8d40ec9c1d Merge github.com:web2py/web2py 2012-10-10 21:21:04 +02:00
mdipierro eaadd12c0e fixed problem with DAL on googlesql 2012-10-10 12:20:25 -05:00
mdipierro f034d83c81 fixed problem with DAL on googlesql 2012-10-10 12:20:25 -05:00
mdipierro 1b780e3178 fixed impval=0, thanks vp 2012-10-10 12:10:51 -05:00
mdipierro b3afa2ab57 fixed impval=0, thanks vp 2012-10-10 12:10:51 -05:00
mdipierro ae597dac7f increased admin (is_local) security, thanks Jonathan 2012-10-10 12:00:59 -05:00
mdipierro 36fc758690 increased admin (is_local) security, thanks Jonathan 2012-10-10 12:00:59 -05:00
mdipierro 83cd22077e rocket passes all pathoc tests without hang 2012-10-10 11:57:30 -05:00
mdipierro f764eb2653 rocket passes all pathoc tests without hang 2012-10-10 11:57:30 -05:00
mdipierro 6cd25ff346 faster local_hosts lookup 2012-10-10 11:43:06 -05:00
mdipierro 63f56ddecc faster local_hosts lookup 2012-10-10 11:43:06 -05:00
mdipierro 1a1bb7abd7 fixed issue 1077, thanks c.guimaraes 2012-10-10 11:25:25 -05:00
mdipierro 0b2bab3f3d fixed issue 1077, thanks c.guimaraes 2012-10-10 11:25:25 -05:00
mdipierro 66aeff12fc fixed gae_memcache increment bug, issue 1079, thanks in4tunio 2012-10-10 11:21:01 -05:00
mdipierro 66de02929b fixed gae_memcache increment bug, issue 1079, thanks in4tunio 2012-10-10 11:21:01 -05:00
mdipierro d5cdcf9285 many improvements in cache, lazy cache.ram and cache.disk 2012-10-10 11:03:52 -05:00
mdipierro 3c4a142f9a many improvements in cache, lazy cache.ram and cache.disk 2012-10-10 11:03:52 -05:00
mdipierro 48d2ea7424 many improvements in cache 2012-10-10 11:01:09 -05:00
mdipierro bf6f090428 many improvements in cache 2012-10-10 11:01:09 -05:00
mdipierro 4222430988 better toolbar, thanks Niphlod 2012-10-10 09:19:01 -05:00
mdipierro 59ab818f5b better toolbar, thanks Niphlod 2012-10-10 09:19:01 -05:00
mdipierro e95809a442 auth.wiki preview, thanks Niphlod 2012-10-10 09:18:09 -05:00
mdipierro 77847daa77 auth.wiki preview, thanks Niphlod 2012-10-10 09:18:09 -05:00
Michele Comitini 85ee2ca272 web2py_uuid 2x speedup 2012-10-10 00:06:10 +02:00
Massimo 45dd57e49e redis_sessions.py, thanks Niphlod 2012-10-09 14:36:34 -05:00
Massimo 690d2df774 redis_sessions.py, thanks Niphlod 2012-10-09 14:36:34 -05:00
Massimo e68ab9c746 added jquery.mobile 1.2.0 2012-10-09 09:04:27 -05:00
Massimo 643cc9c141 added jquery.mobile 1.2.0 2012-10-09 09:04:27 -05:00
Michele Comitini c98aa8e5af Merge github.com:web2py/web2py 2012-10-09 10:13:32 +02:00
mdipierro 89c4e562ee some work on mongodb but references do not work 2012-10-08 22:09:25 -05:00
mdipierro 562cb58342 some work on mongodb but references do not work 2012-10-08 22:09:25 -05:00
mdipierro 72f5d51ca4 fixed time_expire typo in mamcache, thanks Bruno 2012-10-08 12:09:00 -05:00
mdipierro 1c8ef29413 fixed time_expire typo in mamcache, thanks Bruno 2012-10-08 12:09:00 -05:00
mdipierro 3cab47a13d fixed problem with close all instances when no instances 2012-10-08 11:03:21 -05:00
mdipierro 8e67c551de fixed problem with close all instances when no instances 2012-10-08 11:03:21 -05:00
mdipierro 19e7871355 removed rc1 2012-10-08 09:15:33 -05:00
mdipierro 03e3324a12 removed rc1 2012-10-08 09:15:33 -05:00
mdipierro f99d5d6b34 2.1.0rc1 2012-10-07 22:45:38 -05:00
mdipierro a3ba3f662a 2.1.0rc1 2012-10-07 22:45:38 -05:00
mdipierro 90ed2b0c51 clearing zombie list. Should not be necessary but what the heck 2012-10-07 13:31:02 -05:00
mdipierro 2b21678d48 clearing zombie list. Should not be necessary but what the heck 2012-10-07 13:31:02 -05:00
mdipierro 64c7fdf057 fixed issue 1074, thanks mjmare 2012-10-07 10:48:37 -05:00
mdipierro 09f29257d2 fixed issue 1074, thanks mjmare 2012-10-07 10:48:37 -05:00
mdipierro aa2ff6e3f2 fixed issue 1072 2012-10-07 10:13:20 -05:00
mdipierro 62be48decf fixed issue 1072 2012-10-07 10:13:20 -05:00
mdipierro 5b19b606c4 fixed routes example, issue 1073 2012-10-07 10:12:04 -05:00
mdipierro 952a29d5da fixed routes example, issue 1073 2012-10-07 10:12:04 -05:00
mdipierro 700a639c8e fixed routes example, issue 1073 2012-10-07 10:11:10 -05:00
mdipierro db9151b993 fixed routes example, issue 1073 2012-10-07 10:11:10 -05:00
mdipierro ab987cd740 db.define_table(...,redefine=True) 2012-10-07 01:10:08 -05:00
mdipierro e1bb2b4556 db.define_table(...,redefine=True) 2012-10-07 01:10:08 -05:00
mdipierro 7cdef717d0 zombie dal is here, should fix scheduler problems while retaining Row/Rows serialization 2012-10-07 01:07:49 -05:00
mdipierro 668658b7c9 zombie dal is here, should fix scheduler problems while retaining Row/Rows serialization 2012-10-07 01:07:49 -05:00
mdipierro 626baf5705 Try the mobile interface link in site 2012-10-05 10:38:58 -05:00
mdipierro 231a3e1278 Try the mobile interface link in site 2012-10-05 10:38:58 -05:00
mdipierro 2841fbbf61 fixed mobile admin, and improved it 2012-10-05 10:24:14 -05:00
mdipierro 41d234bf48 fixed mobile admin, and improved it 2012-10-05 10:24:14 -05:00
mdipierro b142fa9f7e lazy tables re-appeared in appadmin 2012-10-05 09:01:51 -05:00
mdipierro f16c3a394f lazy tables re-appeared in appadmin 2012-10-05 09:01:51 -05:00
mdipierro 6ab5c9d116 fixed IMAP reconnect 2012-10-05 07:25:21 -05:00
mdipierro 570538042e fixed IMAP reconnect 2012-10-05 07:25:21 -05:00
mdipierro 80a77b256e Auth use request.requires_https, thanks Yarin 2012-10-05 07:18:35 -05:00
mdipierro 6a97bfe517 Auth use request.requires_https, thanks Yarin 2012-10-05 07:18:35 -05:00
mdipierro de5546c713 fixed issue 990 2012-10-04 21:52:04 -05:00
mdipierro 7b6e5c5270 fixed issue 990 2012-10-04 21:52:04 -05:00
mdipierro 1f07dc517e minor indentation change 2012-10-04 21:45:25 -05:00
mdipierro 20deb56e33 minor indentation change 2012-10-04 21:45:25 -05:00
mdipierro 3841025ffc fixed url_in(request, environ)[1]['PATH_INFO'] 2012-10-04 20:39:00 -05:00
mdipierro a23a2c52c2 fixed url_in(request, environ)[1]['PATH_INFO'] 2012-10-04 20:39:00 -05:00
mdipierro f7c364d34b fixed issue 1067 2012-10-04 20:36:30 -05:00
mdipierro 3f6fa941cb fixed issue 1067 2012-10-04 20:36:30 -05:00
mdipierro 669cb6547d removed depredation working, thanks Niphlod 2012-10-04 20:17:12 -05:00
mdipierro 28f914463b removed depredation working, thanks Niphlod 2012-10-04 20:17:12 -05:00
mdipierro 9d4e854723 scheduler non-writable field, thanks Niphlod 2012-10-04 20:10:55 -05:00
mdipierro f0c84b5230 scheduler non-writable field, thanks Niphlod 2012-10-04 20:10:55 -05:00
mdipierro a9f4585a36 Auth(secure=True), thanks Yarin and Niphlod 2012-10-04 15:12:52 -05:00
mdipierro dc51abe54c Auth(secure=True), thanks Yarin and Niphlod 2012-10-04 15:12:52 -05:00
mdipierro deaee3f6a8 fixed setup, thanks Mike 2012-10-04 15:06:58 -05:00
mdipierro f501da74b7 fixed setup, thanks Mike 2012-10-04 15:06:58 -05:00
mdipierro 7a35973bbf fixed preblem with db singledon serialization in tickets 2012-10-04 11:53:04 -05:00
mdipierro c1d14a35ee fixed preblem with db singledon serialization in tickets 2012-10-04 11:53:04 -05:00
mdipierro a0b0584be8 fixed wiki for missing body 2012-10-04 10:44:35 -05:00
mdipierro 4f4a0318aa fixed wiki for missing body 2012-10-04 10:44:35 -05:00
mdipierro 66d9ead746 fixed problem with __new__ deprecated 2012-10-04 08:44:26 -05:00
mdipierro 54a1005af3 fixed problem with __new__ deprecated 2012-10-04 08:44:26 -05:00
mdipierro 8945dffb0c allow re-definition of tables 2012-10-04 08:35:39 -05:00
mdipierro 7b4fac7a7f allow re-definition of tables 2012-10-04 08:35:39 -05:00
Michele Comitini 101aef7474 merge from upstream 2012-10-03 22:46:34 +02:00
Massimo d026b39988 better request.requires_https, thanks Yarin and Niphlod 2012-10-03 12:32:12 -05:00
Massimo c80a6db604 better request.requires_https, thanks Yarin and Niphlod 2012-10-03 12:32:12 -05:00
Massimo 2b99fd0ba6 fixed some problem with grid 2012-10-03 11:58:50 -05:00
Massimo 96247eda51 fixed some problem with grid 2012-10-03 11:58:50 -05:00
Massimo 4ab78a096b fixed issue 1064 2012-10-03 11:54:03 -05:00
Massimo 433a02537c fixed issue 1064 2012-10-03 11:54:03 -05:00
Massimo 9c5ba437de fised issue 1063 2012-10-02 14:55:56 -05:00
Massimo bacff3453b fised issue 1063 2012-10-02 14:55:56 -05:00
Massimo b41490a6f6 wiki uses contains instead of startswith, thanks David 2012-10-02 14:50:16 -05:00
Massimo b20e74c899 wiki uses contains instead of startswith, thanks David 2012-10-02 14:50:16 -05:00
mdipierro 563934dcac fixed issue 738 2012-10-01 21:16:42 -05:00
mdipierro efa5ceb6de fixed issue 738 2012-10-01 21:16:42 -05:00
mdipierro e8702e757e attempt to fix issue 981 2012-10-01 21:11:45 -05:00
mdipierro f79660dd2a attempt to fix issue 981 2012-10-01 21:11:45 -05:00
mdipierro f4595ced2d possibly fixed 1020 2012-10-01 20:52:02 -05:00
mdipierro 606daabdd3 possibly fixed 1020 2012-10-01 20:52:02 -05:00
mdipierro 6cc29e4527 fixed DAL.__new__ and SQLFORM.factory 2012-10-01 19:15:37 -05:00
mdipierro fc1e4ad620 fixed DAL.__new__ and SQLFORM.factory 2012-10-01 19:15:37 -05:00
mdipierro 485719ca1f more customizaiton of booleans 2012-10-01 17:07:06 -05:00
mdipierro 54dcf2ead9 more customizaiton of booleans 2012-10-01 17:07:06 -05:00
Michele Comitini 940024823e merge from upstream 2012-10-01 22:57:46 +02:00
mdipierro 187140f083 better generic.xml, thanks Derek 2012-10-01 15:54:35 -05:00
mdipierro 69cea23cd4 better generic.xml, thanks Derek 2012-10-01 15:54:35 -05:00
mdipierro 89cbe815a7 fixed issue 1031, thanks David 2012-10-01 14:49:42 -05:00
mdipierro 083b598c93 fixed issue 1031, thanks David 2012-10-01 14:49:42 -05:00
mdipierro 3d28d1c2a7 another rocket fix 2012-10-01 14:25:38 -05:00
mdipierro 94f11501ed another rocket fix 2012-10-01 14:25:38 -05:00
mdipierro 8a638c6115 fixed textarea for long translation strings in admin 2012-10-01 12:30:02 -05:00
mdipierro 9ac4a11db1 fixed textarea for long translation strings in admin 2012-10-01 12:30:02 -05:00
mdipierro a71cd3058a speedup in build-environment, thanks Michele 2012-10-01 12:01:35 -05:00
mdipierro a56cf59136 speedup in build-environment, thanks Michele 2012-10-01 12:01:35 -05:00
mdipierro 720ce51dcd fixed rocket (removed handling of static files, faster parse headers, pathoc fault-tolerant) 2012-10-01 11:57:45 -05:00
mdipierro 12cc81147c fixed rocket (removed handling of static files, faster parse headers, pathoc fault-tolerant) 2012-10-01 11:57:45 -05:00
mdipierro 727993dd45 simplification in after_update 2012-09-30 16:50:57 -05:00
mdipierro f70737ddc2 simplification in after_update 2012-09-30 16:50:57 -05:00
Michele Comitini 40a82aa2dd Merge github.com:web2py/web2py 2012-09-30 22:01:09 +02:00
mdipierro 5e12803efa self.connector 2012-09-30 14:45:47 -05:00
mdipierro 1a22497b64 self.connector 2012-09-30 14:45:47 -05:00
mdipierro 8ffa5bbbcb adapter have do_connect 2012-09-30 14:19:52 -05:00
mdipierro 6da330a001 adapter have do_connect 2012-09-30 14:19:52 -05:00
mdipierro f502708f7a made contrib.pbkdf2 optionional for utils 2012-09-30 13:47:49 -05:00
mdipierro f6652e7530 made contrib.pbkdf2 optionional for utils 2012-09-30 13:47:49 -05:00
mdipierro ec82c6b8af cleaner code in dal 2012-09-30 13:40:41 -05:00
mdipierro 5148c6ec3a cleaner code in dal 2012-09-30 13:40:41 -05:00
mdipierro 417c94470f fixed Storage copy 2012-09-30 13:20:05 -05:00
mdipierro 954c79abcb fixed Storage copy 2012-09-30 13:20:05 -05:00
mdipierro 396f4449d8 experimental DAL rewrite (work in progress) 2012-09-30 08:37:27 -05:00
mdipierro 7ec3fe3bfe experimental DAL rewrite (work in progress) 2012-09-30 08:37:27 -05:00
mdipierro 27e0f08ee9 fixed issues with grid form and b.parent 2012-09-30 08:32:03 -05:00
mdipierro 9ce1cde6ca fixed issues with grid form and b.parent 2012-09-30 08:32:03 -05:00
mdipierro c0ad842851 fixed admin and new dal 2012-09-30 07:30:08 -05:00
mdipierro 672af73e96 fixed admin and new dal 2012-09-30 07:30:08 -05:00
mdipierro 2348709622 fixed some bugs with singleton and remobed password from session.auth.user 2012-09-30 07:26:23 -05:00
mdipierro 67022578e3 fixed some bugs with singleton and remobed password from session.auth.user 2012-09-30 07:26:23 -05:00
mdipierro 5f727f6e6e fixed problem with order of lazyness in DAL serialization in session 2012-09-30 00:23:15 -05:00
mdipierro 65fe4c16fc fixed problem with order of lazyness in DAL serialization in session 2012-09-30 00:23:15 -05:00
mdipierro d42dfeb268 login works fine with lazy DAL 2012-09-30 00:10:25 -05:00
mdipierro b6f9cd1863 login works fine with lazy DAL 2012-09-30 00:10:25 -05:00
mdipierro 610cef4bb9 reverted DAL singleton until better understood 2012-09-29 23:47:30 -05:00
mdipierro 4908a5e7be reverted DAL singleton until better understood 2012-09-29 23:47:30 -05:00
mdipierro 812e2535c0 Better LazySet 2012-09-29 23:38:07 -05:00
mdipierro 853c0b1a3a Better LazySet 2012-09-29 23:38:07 -05:00
mdipierro 2ad2a6c77f pickle.dumps(db(query).select() now always works and loads restore the full object (almost) 2012-09-29 23:20:37 -05:00
mdipierro d0d8a4827e pickle.dumps(db(query).select() now always works and loads restore the full object (almost) 2012-09-29 23:20:37 -05:00
mdipierro f99a1406bb DAL is now a pickeable singleton 2012-09-29 22:33:18 -05:00
mdipierro 4745ce42f9 DAL is now a pickeable singleton 2012-09-29 22:33:18 -05:00
mdipierro 662261c590 in dal renamed thread to thread_local 2012-09-29 20:59:50 -05:00
mdipierro bba13becd0 in dal renamed thread to thread_local 2012-09-29 20:59:50 -05:00
mdipierro fd1495effe MemcacheClient(time_expire=3600) 2012-09-29 20:20:03 -05:00
mdipierro 7712e005c4 MemcacheClient(time_expire=3600) 2012-09-29 20:20:03 -05:00
mdipierro 6150be51b1 better rocket parsing, support for multiline headers 2012-09-29 18:39:53 -05:00
mdipierro 07c667f469 better rocket parsing, support for multiline headers 2012-09-29 18:39:53 -05:00
mdipierro 0c2d0178db made new web2py_uuid working on python 2.5 2012-09-29 18:35:09 -05:00
mdipierro 57ad1ec1cf made new web2py_uuid working on python 2.5 2012-09-29 18:35:09 -05:00
mdipierro 0b4df40f60 yet faster web2py_uuid by caching urandom results 2012-09-29 17:56:43 -05:00
mdipierro 60a043479c yet faster web2py_uuid by caching urandom results 2012-09-29 17:56:43 -05:00
mdipierro b7ac9b8757 more web2py_uuid speedup, thanks Michele 2012-09-29 17:16:35 -05:00
mdipierro 1a43e1671f more web2py_uuid speedup, thanks Michele 2012-09-29 17:16:35 -05:00
mdipierro 5e88150ee3 fixed issue 1046, thanks Houdini 2012-09-29 10:17:06 -05:00
mdipierro cd955d3603 fixed issue 1046, thanks Houdini 2012-09-29 10:17:06 -05:00
mdipierro 309b051dbb fixed copy.copy(storage), thanks Corne 2012-09-29 09:55:57 -05:00
mdipierro 492a0c51d1 fixed copy.copy(storage), thanks Corne 2012-09-29 09:55:57 -05:00
mdipierro 759de1e911 prettidate works with future dates, thanks Sanjoy 2012-09-29 09:53:46 -05:00
mdipierro dd4a4c281f prettidate works with future dates, thanks Sanjoy 2012-09-29 09:53:46 -05:00
mdipierro 6a1a44b493 fixed issue 1044, thanks Paolo 2012-09-28 20:20:05 -05:00
mdipierro 41ec6da72c fixed issue 1044, thanks Paolo 2012-09-28 20:20:05 -05:00
mdipierro 828aa493a6 static asset management, thanks Niphlod 2012-09-28 17:06:11 -05:00
mdipierro e18f38d4da static asset management, thanks Niphlod 2012-09-28 17:06:11 -05:00
Massimo 6c5227b6b3 fixed issue 1042, thanks Dominic 2012-09-28 12:47:36 -05:00
Massimo bd27df8fa5 fixed issue 1042, thanks Dominic 2012-09-28 12:47:36 -05:00
Massimo 3ea23a97ed closed issue 995, thanks Peter 2012-09-28 12:38:03 -05:00
Massimo 2f44c2de9b closed issue 995, thanks Peter 2012-09-28 12:38:03 -05:00
mdipierro f7b5922fd9 fixed issue 1040 2012-09-28 09:25:27 -05:00
mdipierro ccf154a807 fixed issue 1040 2012-09-28 09:25:27 -05:00
mdipierro 8bee93c236 faster web2py_uuid() thanks Michele 2012-09-28 09:21:03 -05:00
mdipierro 837453dd6e faster web2py_uuid() thanks Michele 2012-09-28 09:21:03 -05:00
mdipierro 8e6e7ed4cc fixed search in wiki again for firebird 2012-09-28 08:51:18 -05:00
mdipierro 64bc60cdf0 fixed search in wiki again for firebird 2012-09-28 08:51:18 -05:00
mdipierro 2c156e850a fixed menu hoover issue 1036, thanks Paolo 2012-09-27 22:28:59 -05:00
mdipierro af258c334e fixed menu hoover issue 1036, thanks Paolo 2012-09-27 22:28:59 -05:00
mdipierro 6fff0f5eee fixed many bugs in dal, thanks Mart Senecal 2012-09-27 22:15:56 -05:00
mdipierro 627fff624a fixed many bugs in dal, thanks Mart Senecal 2012-09-27 22:15:56 -05:00
mdipierro 29201be7f0 fixed problem with pypy 2012-09-27 22:09:23 -05:00
mdipierro bc8127f6de fixed problem with pypy 2012-09-27 22:09:23 -05:00
mdipierro f667c6224f added better comments to address issue 1033 2012-09-27 21:45:19 -05:00
mdipierro 19bf43815d added better comments to address issue 1033 2012-09-27 21:45:19 -05:00
mdipierro ab6f0fd62d fixed field_parent references broken in 2.0.x, thanks Marin 2012-09-27 15:12:36 -05:00
mdipierro 7709074d7c fixed field_parent references broken in 2.0.x, thanks Marin 2012-09-27 15:12:36 -05:00
mdipierro da23a195ab removed some un-necessary has_attr 2012-09-27 14:43:57 -05:00
mdipierro 4b73f249dd removed some un-necessary has_attr 2012-09-27 14:43:57 -05:00
mdipierro b1ec80793c fixed add button in grid 2012-09-27 14:21:55 -05:00
mdipierro ae9e2c2be0 fixed add button in grid 2012-09-27 14:21:55 -05:00
mdipierro 55cd08865f fixed issue 1032, thanks Carlos 2012-09-27 14:09:05 -05:00
mdipierro fd8edb5aa2 fixed issue 1032, thanks Carlos 2012-09-27 14:09:05 -05:00
mdipierro 4efd08a66f http 422, better tagcloud, possibly fixed firbird issue with tagcloud 2012-09-27 14:05:43 -05:00
mdipierro 82ab59c46a http 422, better tagcloud, possibly fixed firbird issue with tagcloud 2012-09-27 14:05:43 -05:00
mdipierro ded6b0579d possibly fixed issue 1031, thanks villas 2012-09-26 12:45:56 -05:00
mdipierro 74a63e98b5 possibly fixed issue 1031, thanks villas 2012-09-26 12:45:56 -05:00
Massimo 534e8a629e db.get(,default=None), thanks Carlos 2012-09-25 16:18:52 -05:00
Massimo 9e23b3dac5 db.get(,default=None), thanks Carlos 2012-09-25 16:18:52 -05:00
Massimo b42436909f distinct instead of groupby 2012-09-25 14:56:49 -05:00
Massimo 077ce011e2 distinct instead of groupby 2012-09-25 14:56:49 -05:00
Massimo b30c1af78a test 2012-09-25 14:50:32 -05:00
Massimo 1430bc824f test 2012-09-25 14:50:32 -05:00
mdipierro d984652ab7 CAS should disabled retrive username 2012-09-24 22:44:19 -05:00
mdipierro 722b16e620 CAS should disabled retrive username 2012-09-24 22:44:19 -05:00
mdipierro 440885cee2 synced web2py.js, thanks Jeremy 2012-09-24 20:18:30 -05:00
mdipierro 30727ef9e4 synced web2py.js, thanks Jeremy 2012-09-24 20:18:30 -05:00
mdipierro 547ad1e9dc db().select(...query.case('true','false)) code cleanup 2012-09-24 18:09:22 -05:00
mdipierro 0f322f8a69 db().select(...query.case('true','false)) code cleanup 2012-09-24 18:09:22 -05:00
mdipierro e7e875bb7b db().select(...query.case('true','false)) 2012-09-24 18:06:07 -05:00
mdipierro ec5b4dde6f db().select(...query.case('true','false)) 2012-09-24 18:06:07 -05:00
mdipierro c41f9972c3 gluon/contrib/comet_messaging.py -> gluon/contrib/websocket_messaging.py 2012-09-24 16:21:11 -05:00
mdipierro 630dcb799e gluon/contrib/comet_messaging.py -> gluon/contrib/websocket_messaging.py 2012-09-24 16:21:11 -05:00
mdipierro be76f61c96 nore more typo fixed, thanks niphlod 2012-09-24 15:54:58 -05:00
mdipierro c6d1e47226 nore more typo fixed, thanks niphlod 2012-09-24 15:54:58 -05:00
mdipierro ffca891f57 data, no attr, thanks Niphlod 2012-09-24 15:13:34 -05:00
mdipierro aa8315a7c9 data, no attr, thanks Niphlod 2012-09-24 15:13:34 -05:00
mdipierro 40d3ff40f6 apos entity fix, thanks Michele 2012-09-24 12:48:39 -05:00
mdipierro 80040bf8e5 apos entity fix, thanks Michele 2012-09-24 12:48:39 -05:00
mdipierro b8b2eadf2e better setup-web2py-nginx-uwsgi-ubuntu.sh, thanks Bruno 2012-09-24 12:44:42 -05:00
mdipierro 8f382f322e better setup-web2py-nginx-uwsgi-ubuntu.sh, thanks Bruno 2012-09-24 12:44:42 -05:00
mdipierro ec16dc8cec crud methods have FORM **attributes, thanks Daniel 2012-09-24 12:43:22 -05:00
mdipierro 9ccc7dc59a crud methods have FORM **attributes, thanks Daniel 2012-09-24 12:43:22 -05:00
mdipierro e8a2b3b10f fixed https://github.com/web2py/web2py/pull/33, fetching Oracle Clobs, thanks dhx 2012-09-24 12:39:28 -05:00
mdipierro 70f6f86827 fixed https://github.com/web2py/web2py/pull/33, fetching Oracle Clobs, thanks dhx 2012-09-24 12:39:28 -05:00
mdipierro bcb6e477cf fixed issue 1028, thanks Sherdim 2012-09-24 11:59:57 -05:00
mdipierro 3055c87567 fixed issue 1028, thanks Sherdim 2012-09-24 11:59:57 -05:00
mdipierro 823dbdfcc1 addClass/hasClass entropy_check, thanks Niphlod 2012-09-24 11:50:59 -05:00
mdipierro 473955611a addClass/hasClass entropy_check, thanks Niphlod 2012-09-24 11:50:59 -05:00
mdipierro 9cfffa8a78 fixed minify code to fix paths in css files, thanks Jeremy 2012-09-24 10:11:35 -05:00
mdipierro 21a7ded8e0 fixed minify code to fix paths in css files, thanks Jeremy 2012-09-24 10:11:35 -05:00
mdipierro 862543a12c css:inline patch,thanks Jeremy 2012-09-24 09:25:26 -05:00
mdipierro 23347995e2 css:inline patch,thanks Jeremy 2012-09-24 09:25:26 -05:00
mdipierro 6e20017723 SQLFORM().accepts(onvalidation=dict(onchange=lambda....)), thanks Alan 2012-09-23 19:24:05 -05:00
mdipierro 4027a3cda3 SQLFORM().accepts(onvalidation=dict(onchange=lambda....)), thanks Alan 2012-09-23 19:24:05 -05:00
mdipierro e7fd8ee0b7 linked_tables in smartgrid can be a dict() 2012-09-23 19:16:27 -05:00
mdipierro a9b6c4f1a3 linked_tables in smartgrid can be a dict() 2012-09-23 19:16:27 -05:00
mdipierro 554fe30288 better entropy colors and optional callback, thanks Niphlod 2012-09-23 17:00:34 -05:00
mdipierro c1330662aa better entropy colors and optional callback, thanks Niphlod 2012-09-23 17:00:34 -05:00
mdipierro 3fbd80728d better entropy colors and optional callback, thanks Niphlod 2012-09-23 16:58:11 -05:00
mdipierro 3e38f8017f better entropy colors and optional callback, thanks Niphlod 2012-09-23 16:58:11 -05:00
mdipierro 1fb81bec39 linked_tables in smartgrid can be a dict() 2012-09-23 16:31:44 -05:00
mdipierro 41bc1cb1e9 linked_tables in smartgrid can be a dict() 2012-09-23 16:31:44 -05:00
mdipierro 2e0e559c59 linked_tables in smartgrid can be a dict() 2012-09-23 16:30:31 -05:00
mdipierro 9fb94008ea linked_tables in smartgrid can be a dict() 2012-09-23 16:30:31 -05:00
mdipierro 68f63dc89b moved layout.js in web2py_bootstrap.js and include_files(extensions=[...]), thanks Jeremy 2012-09-23 14:37:50 -05:00
mdipierro 5f647a46b8 moved layout.js in web2py_bootstrap.js and include_files(extensions=[...]), thanks Jeremy 2012-09-23 14:37:50 -05:00
mdipierro d8417955b3 entropy check code in web2py.js, thanks Niphlod 2012-09-23 14:07:50 -05:00
mdipierro 69a2e76c3c entropy check code in web2py.js, thanks Niphlod 2012-09-23 14:07:50 -05:00
Michele Comitini f4cc813740 fixed apos encoding. 2012-09-22 23:37:06 +02:00
Michele Comitini 39f5c04f94 added comment 2012-09-22 23:14:15 +02:00
Michele Comitini f1fcb886a0 utf-8 entities pre-encoding speedup. 2012-09-22 23:10:07 +02:00
Michele Comitini 7b373ecb71 compatibility with xhtml "apos" entity and entity decoding speedup. 2012-09-22 22:58:55 +02:00
mdipierro c9fc88e8de fixed typo in validators 2012-09-22 11:19:14 -05:00
mdipierro 4d6598c645 fixed typo in validators 2012-09-22 11:19:14 -05:00
mdipierro 92ade120af removed some duplication of code in dal.py, thanks Mart 2012-09-22 10:11:17 -05:00
mdipierro 56acb685e9 removed some duplication of code in dal.py, thanks Mart 2012-09-22 10:11:17 -05:00
mdipierro 613252f210 restored comments in boostrap_css.css 2012-09-22 09:54:53 -05:00
mdipierro f0be4416b3 restored comments in boostrap_css.css 2012-09-22 09:54:53 -05:00
mdipierro db99f6f34a moved entropy js back to user.html 2012-09-22 09:52:08 -05:00
mdipierro 93ce59f65b moved entropy js back to user.html 2012-09-22 09:52:08 -05:00
mdipierro 768dbf5bd3 formstyle='inline' for forms with single field 2012-09-21 22:49:45 -05:00
mdipierro 28b94eceb2 formstyle='inline' for forms with single field 2012-09-21 22:49:45 -05:00
mdipierro 305e7906b9 reverted 4077 because distinct on and groupby are not equivalent. Moreover distinct on is supported only by postgresql because potentially non-deterministic and should be discouraged. Thanks Alexander 2012-09-21 22:29:55 -05:00
mdipierro e4c63769f2 reverted 4077 because distinct on and groupby are not equivalent. Moreover distinct on is supported only by postgresql because potentially non-deterministic and should be discouraged. Thanks Alexander 2012-09-21 22:29:55 -05:00
mdipierro 0fc03982c8 broken long lines in minify 2012-09-21 22:23:45 -05:00
mdipierro e0fc61932d broken long lines in minify 2012-09-21 22:23:45 -05:00
mdipierro dea823f575 fixed share Google+, thanks nicozanf 2012-09-21 22:14:08 -05:00
mdipierro 3de3046260 fixed share Google+, thanks nicozanf 2012-09-21 22:14:08 -05:00
mdipierro 44d0b21eb9 Merge branch 'master' of https://github.com/nicozanf/web2py 2012-09-21 22:13:09 -05:00
mdipierro b6a96301cd Merge branch 'master' of https://github.com/nicozanf/web2py 2012-09-21 22:13:09 -05:00
mdipierro 58cff21ced moved entropy JS in PasswordWidget but the source should be moved in separate file 2012-09-21 22:12:17 -05:00
mdipierro 480dea23ad moved entropy JS in PasswordWidget but the source should be moved in separate file 2012-09-21 22:12:17 -05:00
mdipierro 78cc80714d added missing patch, thanks Niphlod 2012-09-21 22:01:51 -05:00
mdipierro 457ef24c04 added missing patch, thanks Niphlod 2012-09-21 22:01:51 -05:00
Nico Zanferrari 67ad20ce5a Modified share to Buzz to Google+ 2012-09-22 00:10:23 +02:00
Nico Zanferrari dbf6ce6d6c Modified share to Buzz to Google+ 2012-09-22 00:10:23 +02:00
nicozanf db116d0a07 Merge pull request #3 from mdipierro/master
up
2012-09-21 14:32:55 -07:00
nicozanf 7686a6fc93 Merge pull request #3 from mdipierro/master
up
2012-09-21 14:32:55 -07:00
Michele Comitini 5f7befcfbd merge 2012-09-21 23:26:25 +02:00
Michele Comitini dbcbc5eb95 merge 2012-09-21 23:25:09 +02:00
mdipierro 2be3037ed3 cleanup web2py_bootstrap.css 2012-09-21 09:37:37 -05:00
mdipierro afde6efafa cleanup web2py_bootstrap.css 2012-09-21 09:37:37 -05:00
mdipierro eb1a3da363 scheduler optimization for single process, thanks Niphlod 2012-09-21 08:58:43 -05:00
mdipierro af53f17f5a scheduler optimization for single process, thanks Niphlod 2012-09-21 08:58:43 -05:00
mdipierro fd9b100423 user.html has entrpy color-coding, thanks Niphlod 2012-09-21 08:57:11 -05:00
mdipierro 8f9cf4034d user.html has entrpy color-coding, thanks Niphlod 2012-09-21 08:57:11 -05:00
mdipierro 3c8c25d680 hidden fields should be visible 2012-09-21 08:29:16 -05:00
mdipierro 31a6c5df9b hidden fields should be visible 2012-09-21 08:29:16 -05:00
nicozanf a0e26dfc2d Merge pull request #1 from mdipierro/master
test
2012-09-20 13:29:35 -07:00
nicozanf 08d1b26738 Merge pull request #1 from mdipierro/master
test
2012-09-20 13:29:35 -07:00
mdipierro abd739123c added search to codemirror 2012-09-20 13:25:54 -05:00
mdipierro 49f7d6bab1 added search to codemirror 2012-09-20 13:25:54 -05:00
mdipierro da8570b560 better zip_static_files.py, thanks Niphlod 2012-09-20 11:19:11 -05:00
mdipierro 358ec48d8a better zip_static_files.py, thanks Niphlod 2012-09-20 11:19:11 -05:00
mdipierro 8d238890a2 fixed issue 1021, thanks Edouard and Jonathan 2012-09-20 11:16:51 -05:00
mdipierro afbbfd7e46 fixed issue 1021, thanks Edouard and Jonathan 2012-09-20 11:16:51 -05:00
nicozanf ca29f262e5 Unnecessary calls to logging()
the module logging() is not imported and called unnecessary.
2012-09-20 17:52:55 +03:00
nicozanf 45391c7cc8 Unnecessary calls to logging()
the module logging() is not imported and called unnecessary.
2012-09-20 17:52:55 +03:00
mdipierro 2fc2275495 possibly fixed issue 1020 2012-09-20 09:27:05 -05:00
mdipierro cffefbeb2e possibly fixed issue 1020 2012-09-20 09:27:05 -05:00
mdipierro b6bba49d47 changed brand color 2012-09-20 09:24:38 -05:00
mdipierro 52528f9311 changed brand color 2012-09-20 09:24:38 -05:00
mdipierro 887f02f859 better layout yet, thanks Paolo 2012-09-20 09:19:21 -05:00
mdipierro 8b75256281 better layout yet, thanks Paolo 2012-09-20 09:19:21 -05:00
mdipierro a5ef1c8e3b new web2py_bootstrap_nojs.css, thanks Paolo 2012-09-20 09:16:04 -05:00
mdipierro 2385ed22b1 new web2py_bootstrap_nojs.css, thanks Paolo 2012-09-20 09:16:04 -05:00
mdipierro cac6633bf7 entropy computation in IS_STRONG, thanks Jonathan 2012-09-20 09:14:51 -05:00
mdipierro 7a0cf446ba entropy computation in IS_STRONG, thanks Jonathan 2012-09-20 09:14:51 -05:00
mdipierro 738059f56a fixed a problem with reset_password redirect loop 2012-09-19 23:04:10 -05:00
mdipierro 586d85cf08 fixed a problem with reset_password redirect loop 2012-09-19 23:04:10 -05:00
mdipierro ef7b1c1454 mail.send(...,sender='Mr X <%(sender)s>') 2012-09-19 00:03:06 -05:00
mdipierro f371e72e07 mail.send(...,sender='Mr X <%(sender)s>') 2012-09-19 00:03:06 -05:00
mdipierro cf30f1b255 mail.send(...,sender='Mr X <%(sender)s>') 2012-09-19 00:00:18 -05:00
mdipierro 8d9bc1cb53 mail.send(...,sender='Mr X <%(sender)s>') 2012-09-19 00:00:18 -05:00
Michele Comitini 4c4462987e Merge github.com:web2py/web2py 2012-09-19 00:26:30 +02:00
mdipierro d21af5b277 enhanced imapadapter, thanks Alan 2012-09-18 13:39:16 -05:00
mdipierro 29edf94498 enhanced imapadapter, thanks Alan 2012-09-18 13:39:16 -05:00
mdipierro a72cdcfd90 fixed recent typo, thanks Christian 2012-09-18 13:37:41 -05:00
mdipierro d7a108ff06 fixed recent typo, thanks Christian 2012-09-18 13:37:41 -05:00
mdipierro 0e3f7a0706 possibly fixed issue 1016 2012-09-18 13:35:47 -05:00
mdipierro 5ed41285c0 possibly fixed issue 1016 2012-09-18 13:35:47 -05:00
mdipierro 15622d2e92 some more CSS fixes, thanks Paolo 2012-09-17 21:37:13 -05:00
mdipierro b16d79e654 some more CSS fixes, thanks Paolo 2012-09-17 21:37:13 -05:00
mdipierro 554bb815c9 bootstrap 2.1.1, thanks Paolo 2012-09-17 21:32:49 -05:00
mdipierro 90e5d06d3d bootstrap 2.1.1, thanks Paolo 2012-09-17 21:32:49 -05:00
mdipierro 8c14e64909 improved minify, thanks Niphlod 2012-09-17 21:25:05 -05:00
mdipierro a1156cae6c improved minify, thanks Niphlod 2012-09-17 21:25:05 -05:00
mdipierro b1d3e8faaa IS_IN_DB cacheable=True 2012-09-17 16:22:30 -05:00
mdipierro 037a200357 IS_IN_DB cacheable=True 2012-09-17 16:22:30 -05:00
mdipierro 9784c198e3 fixed a problem with order of table definitions in auth.wiki, thanks David 2012-09-17 14:23:13 -05:00
mdipierro e282454bfe fixed a problem with order of table definitions in auth.wiki, thanks David 2012-09-17 14:23:13 -05:00
mdipierro 642a9c5c94 fixed problem with missing wiki_media.filename 2012-09-17 11:47:07 -05:00
mdipierro e499c1d5a4 fixed problem with missing wiki_media.filename 2012-09-17 11:47:07 -05:00
mdipierro c83bdbd14e fixed issue 1014, thanks Sherdim 2012-09-17 11:43:26 -05:00
mdipierro 8540b1b113 fixed issue 1014, thanks Sherdim 2012-09-17 11:43:26 -05:00
mdipierro 6880727e4f better layout, thanks Paolo 2012-09-17 11:36:00 -05:00
mdipierro 6b5e3f2abf better layout, thanks Paolo 2012-09-17 11:36:00 -05:00
mdipierro db2ef362af fixed comment 2012-09-17 10:26:17 -05:00
mdipierro f8be550e6a fixed comment 2012-09-17 10:26:17 -05:00
mdipierro 233f0cfd0d fixed issue 1005, thanks howesc 2012-09-17 09:36:13 -05:00
mdipierro 6a7b04199f fixed issue 1005, thanks howesc 2012-09-17 09:36:13 -05:00
mdipierro 3340398cd7 fixed imap dal __contains__ issue 1013, thanks Alan 2012-09-17 09:12:13 -05:00
mdipierro 2847e0f4df fixed imap dal __contains__ issue 1013, thanks Alan 2012-09-17 09:12:13 -05:00
mdipierro d2d07a3fc1 cid argument in SQLTABLE, thanks Massimiliano 2012-09-17 08:58:01 -05:00
mdipierro eec7f7c687 cid argument in SQLTABLE, thanks Massimiliano 2012-09-17 08:58:01 -05:00
mdipierro 1b9e7daca5 fixed ducktyping problem, thanks Jonathan 2012-09-17 07:13:26 -05:00
mdipierro a4253deda3 fixed ducktyping problem, thanks Jonathan 2012-09-17 07:13:26 -05:00
mdipierro 68e8cd64f1 fixed exception on missin stored_password 2012-09-17 07:10:51 -05:00
mdipierro 372d639601 fixed exception on missin stored_password 2012-09-17 07:10:51 -05:00
mdipierro 3b053b5d60 scripts/zip_static_files.py, thanks Niphlod 2012-09-16 15:55:10 -05:00
mdipierro 06e5c6869d scripts/zip_static_files.py, thanks Niphlod 2012-09-16 15:55:10 -05:00
mdipierro 74284193dc niphlod is right, no need to to restrict gzip streaming to rocket 2012-09-16 15:54:20 -05:00
mdipierro 933189c216 niphlod is right, no need to to restrict gzip streaming to rocket 2012-09-16 15:54:20 -05:00
mdipierro c9a7b2394d convert distinct to groupby when not supported 2012-09-16 15:51:51 -05:00
mdipierro c942881f36 convert distinct to groupby when not supported 2012-09-16 15:51:51 -05:00
mdipierro 6d79d3352c better streamer 2012-09-16 15:38:31 -05:00
mdipierro 99e491ca0f better streamer 2012-09-16 15:38:31 -05:00
mdipierro 508b3e1db7 adding missing import in scheduler 2012-09-16 14:10:39 -05:00
mdipierro ea539d50e2 adding missing import in scheduler 2012-09-16 14:10:39 -05:00
mdipierro 34a71b5e2d possibly fixed issue 1011 2012-09-16 13:55:29 -05:00
mdipierro 497bbf002c possibly fixed issue 1011 2012-09-16 13:55:29 -05:00
mdipierro 49fb0c90ad fixed problem with error on liststring widget 2012-09-16 13:06:43 -05:00
mdipierro 2629fac624 fixed problem with error on liststring widget 2012-09-16 13:06:43 -05:00
mdipierro 82bb245d43 fixed alignment in forms with list:string 2012-09-16 12:23:19 -05:00
mdipierro 30af5901eb fixed alignment in forms with list:string 2012-09-16 12:23:19 -05:00
mdipierro fa480b0bc3 fixed datetime T in scheduler 2012-09-16 11:46:03 -05:00
mdipierro 42b60d3291 fixed datetime T in scheduler 2012-09-16 11:46:03 -05:00
mdipierro 05d351cd68 fixed issue 1010, error reporting on list:string 2012-09-16 11:43:03 -05:00
mdipierro 9b53fd2302 fixed issue 1010, error reporting on list:string 2012-09-16 11:43:03 -05:00
mdipierro 60b6fd11f9 better impersonate, thanks Alan 2012-09-16 10:43:39 -05:00
mdipierro 972f64b6f9 better impersonate, thanks Alan 2012-09-16 10:43:39 -05:00
mdipierro f5003bb07a typo in new appadmin.html 2012-09-16 08:53:01 -05:00
mdipierro 3eb4627ccf typo in new appadmin.html 2012-09-16 08:53:01 -05:00
mdipierro 3bc94b2794 auth.wiki(render='markmin'), thanks Guruyaya 2012-09-15 15:42:44 -05:00
mdipierro 2ba88b8951 auth.wiki(render='markmin'), thanks Guruyaya 2012-09-15 15:42:44 -05:00
mdipierro 8960f91c7b wiki file should be filename, thanks David 2012-09-15 13:41:24 -05:00
mdipierro 117b04169c wiki file should be filename, thanks David 2012-09-15 13:41:24 -05:00
mdipierro b52cf468af gae_memcache.clear(), thanks Matt 2012-09-14 21:17:01 -05:00
mdipierro c56d5bd066 gae_memcache.clear(), thanks Matt 2012-09-14 21:17:01 -05:00
mdipierro 4031b49d77 cache.with_prefix(cache.ram,'prefix'), thanks Bruno 2012-09-14 16:08:25 -05:00
mdipierro 00bfde9ce9 cache.with_prefix(cache.ram,'prefix'), thanks Bruno 2012-09-14 16:08:25 -05:00
mdipierro 7afb5072c7 db.t.f.epoch(), thanks Niphlod 2012-09-14 15:51:58 -05:00
mdipierro 5f503d0427 db.t.f.epoch(), thanks Niphlod 2012-09-14 15:51:58 -05:00
mdipierro 0a2f810264 fixed google+ share 2012-09-14 09:42:16 -05:00
mdipierro 47bcab6b26 fixed google+ share 2012-09-14 09:42:16 -05:00
mdipierro afcbfccdc4 db(table).select() uses table._id<>None instead of table._id>0 2012-09-14 09:27:09 -05:00
mdipierro ecca0439f1 db(table).select() uses table._id<>None instead of table._id>0 2012-09-14 09:27:09 -05:00
mdipierro 037215da47 fixed typo in setup script, thanks Devon 2012-09-14 09:23:31 -05:00
mdipierro e896be4037 fixed typo in setup script, thanks Devon 2012-09-14 09:23:31 -05:00
mdipierro ac736c6deb uninstalled apps backup under deposit 2012-09-14 08:47:42 -05:00
mdipierro b0e4284130 uninstalled apps backup under deposit 2012-09-14 08:47:42 -05:00
mdipierro 9ada6555e4 removed troublesome chipin widget 2012-09-13 21:48:40 -05:00
mdipierro 3e69889cca removed troublesome chipin widget 2012-09-13 21:48:40 -05:00
mdipierro 0cd5e0869d tables and field names should be allowed to start in a number, thanks Adi 2012-09-13 21:04:45 -05:00
mdipierro dfb2e62c6c tables and field names should be allowed to start in a number, thanks Adi 2012-09-13 21:04:45 -05:00
mdipierro e478e836a2 R-2.0.9 2012-09-13 17:48:19 -05:00
mdipierro 73f3e74300 R-2.0.9 2012-09-13 17:48:19 -05:00
mdipierro 369681d76d R-2.0.9 2012-09-13 17:06:17 -05:00
mdipierro d66377c716 R-2.0.9 2012-09-13 17:06:17 -05:00
mdipierro d8cf6810b8 conditional paginator makes better grid 2012-09-13 14:56:42 -05:00
mdipierro 6083e4cd97 conditional paginator makes better grid 2012-09-13 14:56:42 -05:00
mdipierro b6a00269af yet more layout improvements, thanks Paolo 2012-09-13 14:12:06 -05:00
mdipierro 1fb927978b yet more layout improvements, thanks Paolo 2012-09-13 14:12:06 -05:00
mdipierro 8f267a19c4 fixed grid layout again 2012-09-13 14:06:58 -05:00
mdipierro bb3414f78e fixed grid layout again 2012-09-13 14:06:58 -05:00
mdipierro 59d9645f33 fixed routes.examples.py 2012-09-13 09:28:44 -05:00
mdipierro 35edb3587b fixed routes.examples.py 2012-09-13 09:28:44 -05:00
mdipierro ab985d90f7 some more flash style changes 2012-09-13 09:08:12 -05:00
mdipierro 509f53a902 some more flash style changes 2012-09-13 09:08:12 -05:00
mdipierro 1894c4b855 yellow flash-top, thanks Paolo 2012-09-13 08:35:47 -05:00
mdipierro 3dad0a8b8a yellow flash-top, thanks Paolo 2012-09-13 08:35:47 -05:00
mdipierro c2109e9744 fixed dt = time_expire in memcache, thanks Bruno 2012-09-13 08:30:20 -05:00
mdipierro d242f56398 fixed dt = time_expire in memcache, thanks Bruno 2012-09-13 08:30:20 -05:00
mdipierro 7755a58bb3 fixed error style again 2012-09-13 07:46:16 -05:00
mdipierro a63e24cd9d fixed error style again 2012-09-13 07:46:16 -05:00
mdipierro 1b0890ae6e better error messages 2012-09-13 07:18:23 -05:00
mdipierro 0827815b8d better error messages 2012-09-13 07:18:23 -05:00
mdipierro 78540624ae forgiving T for unicode, thanks Vladyslav 2012-09-13 06:59:42 -05:00
mdipierro fa73d46e82 forgiving T for unicode, thanks Vladyslav 2012-09-13 06:59:42 -05:00
mdipierro 1db243e236 fixed bug in mem(e)cache 2012-09-13 06:58:45 -05:00
mdipierro a84b9b6bf1 fixed bug in mem(e)cache 2012-09-13 06:58:45 -05:00
mdipierro 9cca0dcce8 masking passwords in toolbar, thanks Bruno 2012-09-13 06:55:58 -05:00
mdipierro 0d2414d7ec masking passwords in toolbar, thanks Bruno 2012-09-13 06:55:58 -05:00
mdipierro c9f05b0299 more flexible notifications 2012-09-12 22:53:59 -05:00
mdipierro 54e67932a0 more flexible notifications 2012-09-12 22:53:59 -05:00
mdipierro 9224e0c3f2 removed applications/welcome/private/auth.key 2012-09-12 11:26:21 -05:00
mdipierro 7898055f0c removed applications/welcome/private/auth.key 2012-09-12 11:26:21 -05:00
mdipierro 8fb24e5315 removed unnecessary line 2012-09-12 11:16:51 -05:00
mdipierro 19e19f4ec5 removed unnecessary line 2012-09-12 11:16:51 -05:00
mdipierro 92557c8225 fixed issue 1000, broken GAE belongs for field id, thanks Alan 2012-09-12 11:10:58 -05:00
mdipierro 0f546e7062 fixed issue 1000, broken GAE belongs for field id, thanks Alan 2012-09-12 11:10:58 -05:00
mdipierro 33e6975ac4 fixed issue 999 removed unwanted redirect in grid 2012-09-12 11:08:32 -05:00
mdipierro 2f6fbb689b fixed issue 999 removed unwanted redirect in grid 2012-09-12 11:08:32 -05:00
mdipierro e02309bc44 fixed span12 problem in welcome 2012-09-12 10:43:40 -05:00
mdipierro 7e61e576cd fixed span12 problem in welcome 2012-09-12 10:43:40 -05:00
mdipierro a6269d77ae navbar dropdown, thanks Paolo 2012-09-12 10:18:34 -05:00
mdipierro 39f8a18c34 navbar dropdown, thanks Paolo 2012-09-12 10:18:34 -05:00
mdipierro ad6ed03f0d fixed minify caching problem, thanks Niphlod 2012-09-12 09:55:56 -05:00
mdipierro 4b334c5117 fixed minify caching problem, thanks Niphlod 2012-09-12 09:55:56 -05:00
mdipierro e3a9044164 moved deafult headers logic, thanks Niphlod 2012-09-11 17:32:46 -05:00
mdipierro 91c0b6c76a moved deafult headers logic, thanks Niphlod 2012-09-11 17:32:46 -05:00
mdipierro 9a781c0f2b more examples in routes.example.py 2012-09-11 16:49:30 -05:00
mdipierro 6a170f3b7b more examples in routes.example.py 2012-09-11 16:49:30 -05:00
mdipierro 00eb0d8a85 yet simpler header logic, thanks Anthony and Niphlod 2012-09-11 14:06:44 -05:00
mdipierro 8f7bafb963 yet simpler header logic, thanks Anthony and Niphlod 2012-09-11 14:06:44 -05:00
mdipierro 722fb1fb91 removed headers from response.stream 2012-09-11 14:02:55 -05:00
mdipierro 2c509a7bc4 removed headers from response.stream 2012-09-11 14:02:55 -05:00
mdipierro 9182e7a882 better languages.py, thanks Vladyslav 2012-09-11 13:37:16 -05:00
mdipierro cc3a8fc3a2 better languages.py, thanks Vladyslav 2012-09-11 13:37:16 -05:00
mdipierro 49c82bcd65 allow removal of headers with response.headers[key]=None 2012-09-11 12:59:45 -05:00
mdipierro 130a843605 allow removal of headers with response.headers[key]=None 2012-09-11 12:59:45 -05:00
mdipierro 87a1a861b8 possible fix for default response haders 2012-09-11 12:53:44 -05:00
mdipierro 9466389cd6 possible fix for default response haders 2012-09-11 12:53:44 -05:00
mdipierro c17e191815 menu has empty components 2012-09-11 10:28:31 -05:00
mdipierro 2fb6138ed2 menu has empty components 2012-09-11 10:28:31 -05:00
mdipierro dbf7a3f72d auth.wiki(restrict_search=True) authors can only search their own pages 2012-09-11 10:25:56 -05:00
mdipierro 95a4f8e4d5 auth.wiki(restrict_search=True) authors can only search their own pages 2012-09-11 10:25:56 -05:00
mdipierro fc3efaed3d better handling of cross-domain urls in parametric router, thanks Jonathan 2012-09-11 09:55:58 -05:00
mdipierro 7ae1147df8 better handling of cross-domain urls in parametric router, thanks Jonathan 2012-09-11 09:55:58 -05:00
mdipierro 314278ac69 fixed issue 996 2012-09-11 09:53:08 -05:00
mdipierro e5652e36d5 fixed issue 996 2012-09-11 09:53:08 -05:00
mdipierro 7356c122de fixed issue 993, thanks Sherdim 2012-09-11 09:39:13 -05:00
mdipierro f8fab83761 fixed issue 993, thanks Sherdim 2012-09-11 09:39:13 -05:00
mdipierro 664a0bc812 fixed a problem with dal and uploadfields not been created, blob fields should hidden 2012-09-11 09:27:00 -05:00
mdipierro 2d669d1376 fixed a problem with dal and uploadfields not been created, blob fields should hidden 2012-09-11 09:27:00 -05:00
mdipierro bee9f00da8 fixed a problem with dal and uploadfields not been created 2012-09-11 09:25:13 -05:00
mdipierro 821184b45a fixed a problem with dal and uploadfields not been created 2012-09-11 09:25:13 -05:00
mdipierro c3d1d959b2 markmin improvement thanks Villas and Vladyslav 2012-09-11 08:35:58 -05:00
mdipierro bf42dfbb5c markmin improvement thanks Villas and Vladyslav 2012-09-11 08:35:58 -05:00
mdipierro 7bb465df07 fixed bug in cache minify, thanks Jeremy 2012-09-11 08:24:59 -05:00
mdipierro a5807be01e fixed bug in cache minify, thanks Jeremy 2012-09-11 08:24:59 -05:00
mdipierro 25ca7fe6fe smarter select although join/left ignore common fields 2012-09-10 18:26:46 -05:00
mdipierro 642ae77f73 smarter select although join/left ignore common fields 2012-09-10 18:26:46 -05:00
mdipierro 566f030902 stream allows for optional headers and fixed a formtyle bug, thanks Anthony 2012-09-10 17:29:41 -05:00
mdipierro 7d06e2977c stream allows for optional headers and fixed a formtyle bug, thanks Anthony 2012-09-10 17:29:41 -05:00
Michele Comitini 37e3f95538 Merge github.com:web2py/web2py 2012-09-10 22:28:45 +02:00
mdipierro 830b6f120d possibly fixed dropbox_account.py, issue 991 2012-09-10 11:34:37 -05:00
mdipierro fb6811fc0d possibly fixed dropbox_account.py, issue 991 2012-09-10 11:34:37 -05:00
mdipierro addb7dfd3a removed editarea, amy, ace; included zencoding support for codemirror 2012-09-10 10:59:28 -05:00
mdipierro d10cdbb44f removed editarea, amy, ace; included zencoding support for codemirror 2012-09-10 10:59:28 -05:00
mdipierro 87d2b22446 fixed GAE default problem, thanks Jan-Karen and Alan 2012-09-10 09:56:36 -05:00
mdipierro 385e5c0693 fixed GAE default problem, thanks Jan-Karen and Alan 2012-09-10 09:56:36 -05:00
mdipierro a1559c5802 fixed issue 989, thanks Dominic 2012-09-10 07:51:45 -05:00
mdipierro 359d6c9579 fixed issue 989, thanks Dominic 2012-09-10 07:51:45 -05:00
mdipierro 9453009de6 fixed issue 974 2012-09-10 07:47:52 -05:00
mdipierro 1d825fda76 fixed issue 974 2012-09-10 07:47:52 -05:00
mdipierro 199aceefc1 fixed bug in wiki can_manage 2012-09-10 07:40:33 -05:00
mdipierro 87a127c42b fixed bug in wiki can_manage 2012-09-10 07:40:33 -05:00
mdipierro f0aca3374f upgraded pysimplesoap to revision e054a3903c1d, version 1.06c 2012-09-09 21:39:57 -05:00
mdipierro 7220877f5e upgraded pysimplesoap to revision e054a3903c1d, version 1.06c 2012-09-09 21:39:57 -05:00
mdipierro bb326e4030 line highlight and fullscreen in codemirror, thanks lightdot 2012-09-09 16:57:09 -05:00
mdipierro 2e64465d6b line highlight and fullscreen in codemirror, thanks lightdot 2012-09-09 16:57:09 -05:00
mdipierro 23c46f150f more more mixing of tab and spaces with codemirror 2012-09-09 14:58:50 -05:00
mdipierro 4f3c364b79 more more mixing of tab and spaces with codemirror 2012-09-09 14:58:50 -05:00
mdipierro 2d990499d2 codemirror line wrapping 2012-09-09 14:32:25 -05:00
mdipierro ee92d918a5 codemirror line wrapping 2012-09-09 14:32:25 -05:00
mdipierro a15bed17d8 new codemirror style 2012-09-09 14:24:26 -05:00
mdipierro fcd2d8724a new codemirror style 2012-09-09 14:24:26 -05:00
mdipierro fd808a85df improved the script setup-web2py-ubuntu.sh, thanks Martin 2012-09-09 14:15:14 -05:00
mdipierro 8d9da30c46 improved the script setup-web2py-ubuntu.sh, thanks Martin 2012-09-09 14:15:14 -05:00
mdipierro 931eefd260 added codemirror ot gitbub, made default for testing 2012-09-09 13:54:37 -05:00
mdipierro a6035a98e8 added codemirror ot gitbub, made default for testing 2012-09-09 13:54:37 -05:00
mdipierro 1d4d52c9c9 fixed issue 974, thanks Corne 2012-09-09 09:49:56 -05:00
mdipierro 960bff0808 fixed issue 974, thanks Corne 2012-09-09 09:49:56 -05:00
mdipierro 97bcdfd73a fixed issue 964, thanks Jonathan 2012-09-09 09:20:45 -05:00
mdipierro a489d6b23d fixed issue 964, thanks Jonathan 2012-09-09 09:20:45 -05:00
mdipierro ebcd7a16a9 fixed a bug and replace div anchor with span anchor, as suggested by Vladyslav 2012-09-09 09:14:50 -05:00
mdipierro d82f91c0ec fixed a bug and replace div anchor with span anchor, as suggested by Vladyslav 2012-09-09 09:14:50 -05:00
mdipierro 7002dcec0e codemirror seems to work with admin 2012-09-08 23:22:42 -05:00
mdipierro c42ebc92fe codemirror seems to work with admin 2012-09-08 23:22:42 -05:00
mdipierro d29d543e95 auth.wiki(render='html') 2012-09-08 22:22:06 -05:00
mdipierro 22fbf70aae auth.wiki(render='html') 2012-09-08 22:22:06 -05:00
mdipierro 653b8826d4 fixed jQuery multiselect in admin 2012-09-08 21:59:49 -05:00
mdipierro bbaee04f28 fixed jQuery multiselect in admin 2012-09-08 21:59:49 -05:00
mdipierro 57072adc57 auth.wiki(render) is exposed 2012-09-08 20:33:24 -05:00
mdipierro 7fe1b4321a auth.wiki(render) is exposed 2012-09-08 20:33:24 -05:00
mdipierro d02035a1a1 possibly fixed issue 981 2012-09-08 19:03:07 -05:00
mdipierro 329689de7b possibly fixed issue 981 2012-09-08 19:03:07 -05:00
mdipierro 7265736ce2 possibly fixed issue 964 2012-09-08 19:02:19 -05:00
mdipierro c7b2fb2b11 possibly fixed issue 964 2012-09-08 19:02:19 -05:00
mdipierro 0534080b83 added caching tests and minor rewtite 2012-09-08 16:04:07 -05:00
mdipierro d2aa73570d added caching tests and minor rewtite 2012-09-08 16:04:07 -05:00
mdipierro edfc09c755 backward compatible caching options 2012-09-08 15:46:25 -05:00
mdipierro da4b90b3b0 backward compatible caching options 2012-09-08 15:46:25 -05:00
mdipierro b2c2762f06 experimental codemirror 2012-09-08 14:50:53 -05:00
mdipierro 5448dcb5a5 experimental codemirror 2012-09-08 14:50:53 -05:00
mdipierro c90a0592dd better cron defaults, thanks Jonathan 2012-09-07 09:38:42 -05:00
mdipierro 00a6b6a779 better cron defaults, thanks Jonathan 2012-09-07 09:38:42 -05:00
mdipierro b85baefad9 R-2.0.8 2012-09-06 21:33:11 -05:00
mdipierro bf1961598a R-2.0.8 2012-09-06 21:33:11 -05:00
mdipierro f8fce42df7 R-2.0.8 2012-09-06 21:32:44 -05:00
mdipierro 07fc786177 R-2.0.8 2012-09-06 21:32:44 -05:00
mdipierro 1e6fa4159a fixed makrmin again, note to self: always trust Valdyslav about markmin 2012-09-06 10:54:04 -05:00
mdipierro b7f046cd21 fixed makrmin again, note to self: always trust Valdyslav about markmin 2012-09-06 10:54:04 -05:00
mdipierro a8bc251a94 compted fields visible in SQLFORM(readonly=True) 2012-09-06 08:59:11 -05:00
mdipierro 30eb7f2146 compted fields visible in SQLFORM(readonly=True) 2012-09-06 08:59:11 -05:00
mdipierro d8ba67e2e3 fixed issue 977, contains empty list, thanks iiijjjjiii 2012-09-06 08:41:23 -05:00
mdipierro 790635c863 fixed issue 977, contains empty list, thanks iiijjjjiii 2012-09-06 08:41:23 -05:00
mdipierro 141bf7f0a3 moved the ttab_out in markmin2html before @{...}, I think this is the right thing 2012-09-06 08:15:29 -05:00
mdipierro fe67f78028 moved the ttab_out in markmin2html before @{...}, I think this is the right thing 2012-09-06 08:15:29 -05:00
Massimo Di Pierro b464d5a5b7 fixed some problems with MARKMIN, thanks Vladyslav 2012-09-05 16:59:46 -05:00
Massimo Di Pierro 7e0fe7dc8d fixed some problems with MARKMIN, thanks Vladyslav 2012-09-05 16:59:46 -05:00
mdipierro 1b496525b1 fixed admin version display, thanks Marin 2012-09-05 10:47:46 -05:00
mdipierro 607941c54d fixed admin version display, thanks Marin 2012-09-05 10:47:46 -05:00
mdipierro a70524bb74 R-2.0.7 2012-09-05 09:26:38 -05:00
mdipierro 6c55cb33cb R-2.0.7 2012-09-05 09:26:38 -05:00
mdipierro fea2dec9f7 updated tags 2012-09-04 18:33:23 -05:00
mdipierro fc30a3f649 updated tags 2012-09-04 18:33:23 -05:00
mdipierro dd99652087 simplified grid console logic and style 2012-09-04 17:58:52 -05:00
mdipierro d566e4f444 simplified grid console logic and style 2012-09-04 17:58:52 -05:00
Michele Comitini f42984612f Merge github.com:web2py/web2py 2012-09-04 22:37:20 +02:00
mdipierro 22dca58c9a R-2.0.7 2012-09-04 15:32:27 -05:00
mdipierro 2174677f6f R-2.0.7 2012-09-04 15:32:27 -05:00
mdipierro 450101be8e fixed issue 976 with quoting in pg8000 2012-09-04 15:09:02 -05:00
mdipierro fb544a832c fixed issue 976 with quoting in pg8000 2012-09-04 15:09:02 -05:00
mdipierro fe14686586 fixed problem with headers in components 2012-09-04 15:07:09 -05:00
mdipierro d9121967e7 fixed problem with headers in components 2012-09-04 15:07:09 -05:00
mdipierro 0c3c90af6a prevent exception in admin, thanks Marin 2012-09-04 14:47:13 -05:00
mdipierro f2247bc5b6 prevent exception in admin, thanks Marin 2012-09-04 14:47:13 -05:00
mdipierro 3a9c8d9c0f fixed update with compute fields (again) and ecomponents in markmin 2012-09-04 14:43:38 -05:00
mdipierro ee0cffc944 fixed update with compute fields (again) and ecomponents in markmin 2012-09-04 14:43:38 -05:00
mdipierro c16f051e5b try fetchall except, back in executesql, thanks Carlos 2012-09-03 16:15:06 -05:00
mdipierro a45e08c43b try fetchall except, back in executesql, thanks Carlos 2012-09-03 16:15:06 -05:00
mdipierro ec1608ba19 executesql(fetch=False) 2012-09-03 14:35:01 -05:00
mdipierro 9c931025cc executesql(fetch=False) 2012-09-03 14:35:01 -05:00
mdipierro 74fb16a758 minor changes in web2py.css 2012-09-03 10:18:15 -05:00
mdipierro 07a97d62b8 minor changes in web2py.css 2012-09-03 10:18:15 -05:00
mdipierro 6cf7b7b606 fixed input-xlarge class issue, thanks Anthony 2012-09-03 08:55:54 -05:00
mdipierro 65fec492f0 fixed input-xlarge class issue, thanks Anthony 2012-09-03 08:55:54 -05:00
mdipierro 6dcec8a176 updated markmin docs 2012-09-03 08:54:45 -05:00
mdipierro da7d3c6dbd updated markmin docs 2012-09-03 08:54:45 -05:00
mdipierro 9c7786d06b fixed error in admin login 2012-09-03 08:47:10 -05:00
mdipierro 73c66c142d fixed error in admin login 2012-09-03 08:47:10 -05:00
mdipierro 52a796ef92 faster custom_import, thanks Michele 2012-09-03 08:17:05 -05:00
mdipierro 29c513e5a3 faster custom_import, thanks Michele 2012-09-03 08:17:05 -05:00
mdipierro ae2eefc6bf executesql allows fields and/or colnames to be independently specfied, thanks Ahtony and Niphlod 2012-09-03 08:12:40 -05:00
mdipierro 72bb9d3513 executesql allows fields and/or colnames to be independently specfied, thanks Ahtony and Niphlod 2012-09-03 08:12:40 -05:00
mdipierro 148e099f58 CACHED_REGEXES_MAX_SIZE, thanks Anthony 2012-09-03 08:09:49 -05:00
mdipierro 90c0e0ff7e CACHED_REGEXES_MAX_SIZE, thanks Anthony 2012-09-03 08:09:49 -05:00
Michele Comitini d7f27b8ae7 speed optimization in custom_import.py by using local namespace 2012-09-03 08:40:14 +02:00
mdipierro 0351f37e67 fixed backward compatibility issue in dal with __int__, thanks Dominic 2012-09-02 22:34:24 -05:00
mdipierro 7b24ce3f41 fixed backward compatibility issue in dal with __int__, thanks Dominic 2012-09-02 22:34:24 -05:00
mdipierro 69bac57058 conditional session connect only 2012-09-02 22:30:33 -05:00
mdipierro d61748466e conditional session connect only 2012-09-02 22:30:33 -05:00
mdipierro cbcac3af70 routes_in = [('/welcome','/welcome',dict(web2py_disable_session = True))] 2012-09-02 15:09:32 -05:00
mdipierro c17c28e42b routes_in = [('/welcome','/welcome',dict(web2py_disable_session = True))] 2012-09-02 15:09:32 -05:00
mdipierro 2b030a5e87 routes_in = (regex, value, custom_env) 2012-09-02 15:03:25 -05:00
mdipierro 524a65d0a9 routes_in = (regex, value, custom_env) 2012-09-02 15:03:25 -05:00
mdipierro 8eb15627bf allow navbar without define_tables, thanks Anthony 2012-09-02 14:52:52 -05:00
mdipierro 51d8932252 allow navbar without define_tables, thanks Anthony 2012-09-02 14:52:52 -05:00
Michele Comitini 9a5e8172d6 Merge github.com:web2py/web2py 2012-09-02 21:42:06 +02:00
mdipierro ae8bf7b60d faster re.compile in validators 2012-09-02 12:26:16 -05:00
mdipierro 7b655465bb faster re.compile in validators 2012-09-02 12:26:16 -05:00
mdipierro c292b896e3 conditional models with cached re.compile, thanks Anthony 2012-09-02 12:12:59 -05:00
mdipierro 71c44e62b8 conditional models with cached re.compile, thanks Anthony 2012-09-02 12:12:59 -05:00
mdipierro f35b7283c0 capitalized regex in dal.py 2012-09-02 11:58:56 -05:00
mdipierro 2295b93f32 capitalized regex in dal.py 2012-09-02 11:58:56 -05:00
mdipierro b746581d5a less regex in dal.py 2012-09-02 11:50:35 -05:00
mdipierro 04d0b82268 less regex in dal.py 2012-09-02 11:50:35 -05:00
mdipierro d93a8d41d2 removed one re.compile in rewrite filter_url 2012-09-02 11:12:46 -05:00
mdipierro dffb2eada2 removed one re.compile in rewrite filter_url 2012-09-02 11:12:46 -05:00
mdipierro e27466b8a6 optional re.compile of generic_patterns 2012-09-02 11:05:19 -05:00
mdipierro c109fa727c optional re.compile of generic_patterns 2012-09-02 11:05:19 -05:00
mdipierro 90ca080b1e R-2.0.6 2012-09-01 22:35:40 -05:00
mdipierro 91c9c6fb28 R-2.0.6 2012-09-01 22:35:40 -05:00
mdipierro 9a89a9beac fixed bug in tickets2emails, thanks Niphlod 2012-09-01 22:33:46 -05:00
mdipierro e4f8896b7f fixed bug in tickets2emails, thanks Niphlod 2012-09-01 22:33:46 -05:00
mdipierro 0f94ac864b fixed bug in language file that corrupts files on language update, thanks kverdecia2 2012-09-01 22:32:12 -05:00
mdipierro a558af3b09 fixed bug in language file that corrupts files on language update, thanks kverdecia2 2012-09-01 22:32:12 -05:00
mdipierro f6b345632f fixed typo, thanks Mart 2012-09-01 07:01:38 -05:00
mdipierro 918d3bd6df fixed typo, thanks Mart 2012-09-01 07:01:38 -05:00
mdipierro 5db296c542 R-2.0.5 2012-08-31 16:28:40 -05:00
mdipierro e4b6fba5ca R-2.0.5 2012-08-31 16:28:40 -05:00
mdipierro eb45052021 scheduler validators, thanks Niphlod 2012-08-31 16:15:59 -05:00
mdipierro 41caa71ab0 scheduler validators, thanks Niphlod 2012-08-31 16:15:59 -05:00
mdipierro 43cee04283 2.0.5 2012-08-31 16:11:56 -05:00
mdipierro f8786e5b6d 2.0.5 2012-08-31 16:11:56 -05:00
mdipierro 5cab46f2a1 better timezone logic 2012-08-31 16:04:13 -05:00
mdipierro 78b5f4f8aa better timezone logic 2012-08-31 16:04:13 -05:00
mdipierro 08443a452d better timezone logic 2012-08-31 16:00:23 -05:00
mdipierro a0e4154f26 better timezone logic 2012-08-31 16:00:23 -05:00
mdipierro dcb934fb45 R-2.0.4 2012-08-31 15:38:37 -05:00
mdipierro 3f7749cf20 R-2.0.4 2012-08-31 15:38:37 -05:00
mdipierro 68c80d619d minor cleanup 2012-08-31 14:27:50 -05:00
mdipierro fa2d2ba91c adding README, again 2012-08-31 13:37:30 -05:00
mdipierro 58a4874632 fixed problem with case in migrations 2012-08-31 13:32:22 -05:00
mdipierro a973276ad6 SQL(debug=True) logs migration info 2012-08-31 11:08:20 -05:00
mdipierro 515e7f3dab support for self reference with non standard id 2012-08-31 10:21:37 -05:00
mdipierro 07486b27a7 yet better markmin has [[NEWLINE]], thanks Vladyslav 2012-08-31 09:02:54 -05:00
mdipierro 358301338c try... execpt plural_rules 2012-08-31 00:31:51 -05:00
mdipierro 6ebac86632 added plural rules again 2012-08-31 00:29:09 -05:00
mdipierro bc176bfbf2 fixed postgresql uri bug 2012-08-31 00:11:33 -05:00
mdipierro e46141adf9 fixed plural rules with pkgutil 2012-08-30 23:55:14 -05:00
mdipierro 61c33a7038 windows and osx cannot find the rules folder, for now, ignore it 2012-08-30 23:07:51 -05:00
mdipierro 83cf74b71b another driver selection issue 2012-08-30 22:36:10 -05:00
mdipierro 0038f9d43e improved logic in dal driver selection (fixed) 2012-08-30 22:19:59 -05:00
mdipierro 8e24ce9f30 improved logic in dal driver selection 2012-08-30 22:10:46 -05:00
mdipierro 529026f0f4 fixed 'fdb' is not defined issue, thanks villas 2012-08-30 20:24:56 -05:00
mdipierro 5b0ac94211 fixed typo in index_name 2012-08-30 20:19:01 -05:00
mdipierro 5ab33643c8 Rows.find(f,limitby=(0,10)) 2012-08-30 20:07:34 -05:00
mdipierro 88e72ff62a added empty applications/examples/languages/README else folder not version controller in git and hg 2012-08-30 17:36:19 -05:00
mdipierro 2df3282840 fixed issue 964, thanks Michael and Jonathan 2012-08-30 17:04:07 -05:00
mdipierro 171f94b9ea R-2.0.3 2012-08-30 15:38:41 -05:00
mdipierro feb27b919b fixed bug in smartgrid header, thanks Adi 2012-08-30 15:36:36 -05:00
mdipierro 1641b10e79 cacheable select in grid, thanks Anthony 2012-08-30 15:26:58 -05:00
mdipierro 98ff3b0677 fixed bug in pluralization, thanks Vladyslav 2012-08-30 15:20:36 -05:00
mdipierro 15923fceaf new default firebird driver, thanks mariuz 2012-08-30 15:10:45 -05:00
mdipierro 0553e5b50e fixing missing use_username issue, thanks Annet 2012-08-30 15:01:22 -05:00
mdipierro f83803ffad fixed path find for pluralization rules 2012-08-30 14:54:40 -05:00
mdipierro d5291b57ab logging rotation in example, thanks Jonathan 2012-08-30 14:49:50 -05:00
mdipierro 3709dcedd2 fixed AttributeError: 'Expression' object has no attribute '_table' issue 2012-08-30 14:42:32 -05:00
mdipierro 2b83928cab fixed janrain login with GAE 2012-08-30 08:31:52 -05:00
mdipierro e9dcabae7d fixed bug in markmin 2012-08-30 08:17:28 -05:00
mdipierro 4845237eba fixed grin without login, thanks Liam 2012-08-30 08:14:10 -05:00
mdipierro eb2c2ea0a0 update link fixed, thanks Niphlod 2012-08-30 08:09:33 -05:00
mdipierro be7390424a allow tasks without timeout 2012-08-30 08:05:09 -05:00
mdipierro 1ebc4dfad2 2.0.2 2012-08-29 22:00:59 -05:00
mdipierro 341a35410d better webclient.py 2012-08-29 21:57:09 -05:00
mdipierro 7250e27ba1 changed vars in example and test for webclient 2012-08-29 18:31:23 -05:00
mdipierro d6c34a0142 more comments in webclient.py 2012-08-29 18:27:30 -05:00
mdipierro 00377325f0 added timing and history to webclient 2012-08-29 18:22:07 -05:00
mdipierro 34edf3e724 simplied handling of postbacks 2012-08-29 18:14:24 -05:00
mdipierro 31a695f73f more test improvements, thanks Jonathan 2012-08-29 18:01:27 -05:00
mdipierro c6a22d237b updated gluon/tests/__init__.py, thanks Jonathan 2012-08-29 17:59:44 -05:00
mdipierro 9cb7fd0a00 updated CHANGELOG 2012-08-29 17:44:07 -05:00
mdipierro f7bd69fad4 webclient.py and test_web.py 2012-08-29 17:40:03 -05:00
mdipierro 178925cd56 fixed problem with computed fields 2012-08-29 16:05:41 -05:00
mdipierro de88f3bde9 fixed problem with iterator in template.py 2012-08-29 15:42:51 -05:00
mdipierro 9c98db6fa6 2.0.1 rc5 2012-08-29 15:13:10 -05:00
mdipierro e69a22748f removed code comitted accidentally 2012-08-29 15:12:46 -05:00
mdipierro a40b55d8d4 fixed some problems with admin no GAE, still readonly 2012-08-29 15:09:08 -05:00
mdipierro b5809db9eb fixed error with referenced_by, thanks Marin 2012-08-29 10:28:04 -05:00
mdipierro fa9c91de83 catch missing winservice 2012-08-29 10:12:11 -05:00
mdipierro ceb48bd472 fixed to(env={}), thanks Anthony 2012-08-29 10:05:51 -05:00
mdipierro 9861a33c72 support for HEAD requests 2012-08-29 08:22:35 -05:00
Michele Comitini ddb61d75ca Merge github.com:web2py/web2py 2012-08-29 14:42:05 +02:00
mdipierro edeb237777 dict instead of {} where possible 2012-08-29 07:27:28 -05:00
Michele Comitini e5f9358cf9 commit merge 2012-08-29 14:24:14 +02:00
mdipierro a2d70980d8 fixed the case of missing tickets and a typo in last commit 2012-08-28 22:14:59 -05:00
mdipierro 5daf7e5a9b simplified template.py 2012-08-28 21:11:27 -05:00
mdipierro 6b606aaa24 lots of simplifications (again) 2012-08-28 20:38:11 -05:00
mdipierro a001a10bac lots of simplifications 2012-08-28 20:30:32 -05:00
mdipierro 8860c9a1dd Row.__nonzero__, thanks Marin 2012-08-28 19:11:43 -05:00
mdipierro 5af9fe0a3e temp vars in dal.py (fixed error) 2012-08-28 19:07:26 -05:00
mdipierro e821955c97 temp vars in dal.py 2012-08-28 18:52:25 -05:00
mdipierro 3884878efb faster lazytables check 2012-08-28 16:52:30 -05:00
mdipierro 56716e7a20 catching AttributeError 2012-08-28 15:36:05 -05:00
mdipierro cd58e034ca added backward compatibility fix for row.id when id not called id (doh) 2012-08-28 14:57:23 -05:00
mdipierro 0ad9e3b707 fixed changelog 2012-08-28 14:45:08 -05:00
mdipierro 9f8134a51b fixed issue with row[db.table.field] for result of join, thanks Dominic 2012-08-28 14:26:49 -05:00
mdipierro 94096d0276 some more optimizations in parse rows 2012-08-28 14:03:59 -05:00
mdipierro ad0b9a08c6 updated languages/default.py 2012-08-28 11:42:22 -05:00
mdipierro fa501eff6d fixed mobile issue, thanks Martin 2012-08-28 10:56:19 -05:00
mdipierro 6e8fbf5f8e more flexible auth.wiki, thanks Alan 2012-08-28 10:54:06 -05:00
mdipierro 869b430ba6 fixed issue 959, thanks Haag 2012-08-28 10:44:51 -05:00
mdipierro d7e100ac71 RecordUpdater, RecordDeleted and compute on update 2012-08-28 10:32:01 -05:00
mdipierro 617aa3627a db().count(cache=...) 2012-08-28 10:02:21 -05:00
mdipierro 266208c13d many iteritems optimizations 2012-08-28 09:35:36 -05:00
mdipierro 632493f654 many speed improvements, thanks Michele 2012-08-28 08:28:36 -05:00
Michele Comitini f9afeb51f8 always use dict for environment 2012-08-28 00:25:22 +02:00
Michele Comitini eb33b3fd5c speeding with map() 2012-08-28 00:03:31 +02:00
mdipierro 43fc70695d improved toorbar, thanks Anthony 2012-08-27 16:16:25 -05:00
mdipierro 093ca1b506 capitalization in appadmin 2012-08-27 15:29:27 -05:00
mdipierro d01bb00ca2 slightly slicker appadmin 2012-08-27 15:13:27 -05:00
mdipierro fb52fac9cc slightly slicker appadmin 2012-08-27 15:08:20 -05:00
mdipierro 8a5c79d05b R-2.0.1rc4 2012-08-27 14:54:11 -05:00
mdipierro ce968db278 toolbar() shows non-lazy tables, thanks Anthony 2012-08-27 14:07:25 -05:00
mdipierro d241c9f7cb 100x faster db().select(cache=...) 2012-08-27 13:30:42 -05:00
mdipierro ecba8d44a9 better test_languages.py 2012-08-27 13:10:52 -05:00
mdipierro ba385cf5b1 fixed a bunch of typos form recent commits, thanks Jonathan 2012-08-27 12:55:41 -05:00
mdipierro ab88eca645 fixed some typos, thanks Jonathan 2012-08-27 12:15:30 -05:00
mdipierro ddf4465c00 possibly faster auth 2012-08-27 12:02:53 -05:00
mdipierro 1c3f113122 scripts/bench.py 2012-08-27 11:07:52 -05:00
mdipierro 3ff4176e1f faster and leaner languages, should be 100% backward compatible, plurals work again 2012-08-27 10:57:26 -05:00
mdipierro a3dfc9f621 better portalocker 2012-08-27 10:13:47 -05:00
mdipierro 222364e040 better portalocker 2012-08-27 10:06:09 -05:00
mdipierro e5568aaa82 faster languages.py, still disabled plurals 2012-08-27 07:41:34 -05:00
mdipierro 47dcc8badd simplified languages.py, disable (for today) plural subsystem 2012-08-27 01:43:04 -05:00
mdipierro 6a0198aff5 scripts/rmorphans.py 2012-08-26 21:34:24 -05:00
mdipierro b7c7a3468a title.png was needed after all 2012-08-26 21:20:23 -05:00
mdipierro 118424d686 removed lots of legacy files 2012-08-26 21:14:02 -05:00
mdipierro 4e0cdaddf7 fixed forced hideerror, thanks Jim 2012-08-26 20:46:02 -05:00
mdipierro 249f13f4bc fixed issue 961 with DIV.add_class, thanks Dulakian 2012-08-26 19:02:44 -05:00
mdipierro 030203effd no more has_key 2012-08-26 18:34:50 -05:00
mdipierro 334e150638 internal simplications in Auth 2012-08-26 17:57:10 -05:00
mdipierro 308f790f3c removed an inconcistency in Auth 2012-08-26 17:53:27 -05:00
mdipierro d47dbc604e more simplification in Auth 2012-08-26 17:48:37 -05:00
mdipierro 96d193f7dd auto-login after reset password 2012-08-26 17:28:19 -05:00
mdipierro 3e94ca4f45 fixed login_onaccept, thanks Martin 2012-08-26 17:05:52 -05:00
mdipierro d16033a417 more tests about dal 2012-08-26 15:51:15 -05:00
mdipierro cab9afee44 fixed some problems with html.py tests and postprocessing, thanks Michael 2012-08-26 14:12:09 -05:00
mdipierro 1041e42f8d some speadup in dal parse 1.5x 2012-08-26 11:50:48 -05:00
mdipierro 6ed30dfbfe fixed xml() again 2012-08-26 10:41:26 -05:00
mdipierro 329f22f72c improved Table (10x), DAL(2x), Row(10x) without memory leak 2012-08-26 09:32:10 -05:00
Michele Comitini 8ac8164b06 Merge github.com:web2py/web2py 2012-08-26 11:22:06 +02:00
mdipierro 4e719c5858 xml(row_name,rows_name) 2012-08-26 00:00:15 -05:00
mdipierro 6577c656be db().select().xml(strict=True) 2012-08-25 23:54:23 -05:00
mdipierro f76ec47fe3 minor imprvements in DAL repr 2012-08-25 23:06:28 -05:00
mdipierro 50cd630127 yet better storage, thanks Michele 2012-08-25 18:42:27 -05:00
Michele Comitini 7085e05388 used __slots__ to reduce memory ad speedup class methods lookup. 2012-08-26 01:05:02 +02:00
Michele Comitini 3962a80192 Merge github.com:web2py/web2py
Conflicts:
	gluon/contrib/login_methods/rpx_account.py
2012-08-26 00:50:46 +02:00
mdipierro 4079288a51 major optimization in Storage, Table, Row (2x), thanks Michele 2012-08-25 16:19:50 -05:00
mdipierro 6dfd16b62a typo in Storage, thanks Michele 2012-08-25 15:50:01 -05:00
mdipierro 4067c89260 R-2.0.1-rc3 2012-08-25 15:08:18 -05:00
mdipierro dcce7fc39a fixed @//// in wiki and pep8 spacing 2012-08-25 11:29:11 -05:00
mdipierro 0a95246cb0 fixed anchor in markmin 2012-08-25 11:25:58 -05:00
mdipierro eecaf85df6 updated changelog 2012-08-25 11:22:28 -05:00
mdipierro 13061671f8 GIT_MISSING message, thanks Niphlod 2012-08-25 11:17:39 -05:00
mdipierro c2900480d7 better fix of recycle Response in template, thanks Anthony 2012-08-24 23:47:47 -05:00
mdipierro fb65fdf25e changelog update 2012-08-24 23:37:10 -05:00
mdipierro 92e1213fe2 fixed some styles for auth.wiki 2012-08-24 23:11:45 -05:00
mdipierro d21b3b4b8a executesql(fields=,columns=),thanks Anthony 2012-08-24 22:52:45 -05:00
mdipierro c1945c9429 template render can recycle a Response(), thanks Anthony 2012-08-24 22:40:18 -05:00
mdipierro 1d56e253d7 DIV.elements(replace=...), thanks Anthony 2012-08-24 22:17:49 -05:00
mdipierro a3df5c465e added .btn class in admin for grid 2012-08-24 19:24:58 -05:00
mdipierro 5491456985 more forgining auto links in markmin 2012-08-24 17:39:59 -05:00
mdipierro ca80e47f3d new widget.py thanks Niphlod 2012-08-24 17:32:26 -05:00
mdipierro 929a5289e2 better error reporing on app_create failures 2012-08-24 17:05:18 -05:00
mdipierro 814f5d9448 auth links should have same scheme as app 2012-08-24 16:36:14 -05:00
mdipierro f5e6fb6fbd another multi_user_mode fix 2012-08-24 16:24:43 -05:00
mdipierro 423f305fd0 added links to multi_user_mode management 2012-08-24 16:17:32 -05:00
mdipierro 9cc6c4ee3e fixed scripts/setup-web2py-nginx-uwsgi-ubuntu.sh \r 2012-08-24 15:53:10 -05:00
mdipierro ccb0d25939 reverted to bootstrap 2.0 because of problems 2012-08-24 15:34:03 -05:00
Massimo Di Pierro 8d5855c93a fixed another bug in lazy Auth, thanks Villas 2012-08-24 13:45:13 -05:00
Massimo Di Pierro 9724bfb20e fixed typos in recent commit, thanks Angelo and Villas 2012-08-24 11:04:24 -05:00
Massimo Di Pierro 611aa6391a fixed bug in lazy auth, thanks Villas 2012-08-24 10:14:12 -05:00
Massimo Di Pierro 001ca98855 fixed problem with dal expressions being parenthesized, thanks Daniel 2012-08-24 10:05:07 -05:00
Massimo Di Pierro 0e84b4b269 renamed bootswatch*.css as web2py_bootstrap*.css 2012-08-24 09:53:57 -05:00
Massimo Di Pierro 3c51815d78 upgraded to Bootstrap 2.1.0 thanks Alec Taylor 2012-08-24 09:44:13 -05:00
Massimo Di Pierro 9969cd4c8c better generation of link in rpx_account, thanks Michele 2012-08-24 09:26:48 -05:00
Massimo Di Pierro 4ea9b1182f fixed app_cleanup of cache, thanks Spiffytech 2012-08-24 09:24:50 -05:00
Massimo Di Pierro 257501ce37 improved oparsing of CLOB in Oracle, thanks Daniel 2012-08-24 09:23:20 -05:00
Massimo Di Pierro eb802838ee fixed problem with _listify, thanks Daniel 2012-08-24 09:15:34 -05:00
Massimo Di Pierro c309588ae4 added missing table permission, thanks Daniel 2012-08-24 08:57:14 -05:00
mdipierro e527f49d73 added contrib test, thanks Mariano 2012-08-23 18:59:32 -05:00
mdipierro 2bbe361783 fixed problem with fpdf import in generics, thanks Adrew 2012-08-23 16:56:26 -05:00
mdipierro 6c7de5a0b0 fixed tag rendering end edit menu permissions 2012-08-23 15:04:08 -05:00
mdipierro 113268b12a better style in wiki search and tagcloud 2012-08-23 14:52:45 -05:00
mdipierro 96d4de8277 T bug in tools 2012-08-23 14:33:43 -05:00
mdipierro 10d5b48643 smarter index.html for wiki 2012-08-23 13:19:19 -05:00
mdipierro b3a8047ba3 edited makefile 2012-08-23 12:44:31 -05:00
mdipierro 9bd008021d R-2.0.1-rc2 2012-08-23 11:11:41 -05:00
mdipierro 2915dc75d3 fixed auth with lazy auth 2012-08-23 10:56:40 -05:00
mdipierro e4d0e03078 lazy auth? 2012-08-23 10:48:36 -05:00
mdipierro 3785a4b5db reverted accidental tools change 2012-08-23 10:09:49 -05:00
mdipierro f7f9e23246 fixed problem with on_define 2012-08-23 10:08:00 -05:00
mdipierro 945437e04d db.define_table('person',Field('name'),on_define=lambda table: [table.name.set_attributes(writable=False)]), thanks Jonathan 2012-08-23 09:20:25 -05:00
mdipierro 4d25413229 added Killer Web Development link, thanks Anthony 2012-08-23 09:00:56 -05:00
mdipierro dacff1fc09 added DIV.add_class, DIV.remove_class, thanks Dulakian, fixed issue 952 2012-08-23 08:54:34 -05:00
mdipierro 4262511f91 restoring Settings backward compatibility, thanks Dominic 2012-08-23 08:42:47 -05:00
mdipierro 57b7018a83 fixed changelog typos, thanks Niphlod 2012-08-23 08:37:55 -05:00
mdipierro d2999307d8 removed unwanted trailing spaces from fpdf 2012-08-23 08:36:50 -05:00
mdipierro a528df0b2e moved pyfpdf to fpdf, thanks Mariano 2012-08-23 08:35:41 -05:00
mdipierro c4c9024ee0 new pyfpdf, thanks Mariano 2012-08-23 08:31:04 -05:00
Michele Comitini 6bdde2379e Merge github.com:web2py/web2py 2012-08-23 14:10:50 +02:00
mdipierro dac059e85e minor edits in changelog 2012-08-22 19:47:15 -05:00
mdipierro a3d20386fc R-2.0.0rc1 2012-08-22 18:09:25 -05:00
mdipierro 9c3e4cf03a tag in Makefile 2012-08-22 18:08:58 -05:00
mdipierro 0630f4e298 cleaned up changelog for 2.0 2012-08-22 17:35:41 -05:00
mdipierro dde46a4ee4 wiki.auth() has wiki-menu page 2012-08-22 17:07:44 -05:00
mdipierro 3b0d1ab410 reverting bootstrap 2.1.0 because messes up navbar 2012-08-22 16:03:03 -05:00
mdipierro 3ae625077f bootstrap 2.0 2012-08-22 15:59:06 -05:00
mdipierro e36a3f9e33 fixed colors in navbar 2012-08-22 15:48:45 -05:00
mdipierro 7e5726a247 bootstrap 2.1.0 2012-08-22 15:36:55 -05:00
mdipierro 8ec67ea190 bootstrap 2.1.0 2012-08-22 15:36:28 -05:00
mdipierro 9d793348e2 reverted Storage again, check for bug not reliable, :-( 2012-08-22 15:27:19 -05:00
mdipierro 715daf6824 fixed have_bug 2012-08-22 13:00:28 -05:00
mdipierro 7db563066b bug detection for Storage, reverted improvements in dal :-( 2012-08-22 10:48:17 -05:00
mdipierro b9fd6e5c68 simplied router logic, thanks Jonathan 2012-08-22 08:40:55 -05:00
mdipierro 68f2f0c400 Martin's menu patch 2012-08-22 08:38:04 -05:00
mdipierro c400743bc3 confirm spelling, thanks sethkinast 2012-08-22 08:32:00 -05:00
mdipierro e1fe556abb fixed portalocker in Storage, restored appadmin 2012-08-21 22:19:43 -05:00
mdipierro ffe3faeb5f automenu 2012-08-21 22:07:18 -05:00
mdipierro 2f4f7711dc jquery 1.8.0 2012-08-21 22:03:53 -05:00
mdipierro ecc6de6a02 scgi friendly patch, thanks Michele 2012-08-21 21:53:59 -05:00
Michele Comitini 8d94f99e4e Merge github.com:web2py/web2py 2012-08-22 03:22:34 +02:00
mdipierro 1fedbd105e fixed a bug in Row, recently introduced 2012-08-21 18:20:07 -05:00
Michele Comitini 68e1b496f1 use the URL to respect routers directives 2012-08-22 01:13:10 +02:00
mdipierro 3283ce144c fixed a problem with lazy tables and self.__dict__=self magic 2012-08-21 17:42:01 -05:00
mdipierro 3843406ba9 Table, DAL and Row use self.__dict__=self 2012-08-21 15:56:53 -05:00
mdipierro fbb6efa5cf new Storage passes all tests 2012-08-21 14:41:43 -05:00
mdipierro 3812548447 another attempt at new Storage, thanks Jonathan 2012-08-21 14:30:02 -05:00
mdipierro a16e51ad7b reverted Storage again. :-( 2012-08-21 13:38:27 -05:00
mdipierro a709e7ba56 Fixed issue 834, thanks Paolo 2012-08-21 12:42:04 -05:00
mdipierro f09ecfd458 fixed unwanted membershin in wiki, thanks Alan 2012-08-21 11:39:27 -05:00
mdipierro c31193b45c new Storage class, thanks Oscar Benjamin 2012-08-21 11:34:55 -05:00
mdipierro 1ef131354f fixed common field concatenation 2012-08-21 09:52:23 -05:00
mdipierro 70fd93ac8f timezone support in dal, assumes local time is gmt time 2012-08-21 09:06:21 -05:00
mdipierro e70f8e8c51 more options in response.stream, thanks Alan 2012-08-21 08:55:41 -05:00
mdipierro 55349d8e2f better bootstrap formstyle, thanks Dulakian 2012-08-21 08:53:39 -05:00
mdipierro 8d923a5765 fixed backward compatibility issue formstyles, thanks Dominic 2012-08-21 08:52:06 -05:00
Michele Comitini 845effd5ed Merge github.com:web2py/web2py 2012-08-21 15:48:38 +02:00
mdipierro e5afc3ede8 fixed cut and paste error, thanks Martin 2012-08-21 07:57:09 -05:00
mdipierro 22cfb6ddab reverted storage.py again 2012-08-20 21:56:26 -05:00
mdipierro 5bcc8f750b another attempt at faster Storage 2012-08-20 21:54:02 -05:00
mdipierro 608e3245e0 better options_std.py, thanks Niphlod 2012-08-20 16:03:19 -05:00
mdipierro c7074d5e4d better web2py.py thanks Niphlod 2012-08-20 16:02:11 -05:00
mdipierro 7898e4aac3 Storage.__class__ = dict tricks isinstance 2012-08-20 12:04:55 -05:00
mdipierro 6673743406 fixed is_impersonating, thanks Martin 2012-08-20 11:57:30 -05:00
mdipierro c10584a068 ://HOSTNAME in auth.wiki 2012-08-20 11:16:25 -05:00
mdipierro c8e34a9c24 removed debug line in scheduler, thanks Niphlod 2012-08-20 10:58:12 -05:00
mdipierro 3ca4e928da better check for frozen, thanks Niphlod 2012-08-20 10:57:11 -05:00
mdipierro 8846dbf6a1 added gluon/contrib/rules/__init__.py, thanks Niphlod 2012-08-20 10:55:01 -05:00
mdipierro a90028441a fixed mongo issue, thanks Uolter 2012-08-20 08:06:28 -05:00
mdipierro 5a4148b712 fixed vimeo oembed 2012-08-19 18:36:18 -05:00
mdipierro 2c798909d7 auth.wiki makes admin wiki_editor group member 2012-08-19 18:20:16 -05:00
mdipierro b163ddca76 fixed problem with plugin delete, thanks Alan 2012-08-19 15:11:04 -05:00
mdipierro 1fa2b5ad28 fixed missing dropdowns, thanks Alan 2012-08-19 15:02:39 -05:00
mdipierro 9f7f495961 fixed filter plugins 2012-08-19 13:53:45 -05:00
mdipierro 0214613182 fixed issue 937, thanks Dulakian 2012-08-19 13:49:26 -05:00
mdipierro 51dfb71063 fixed issue 936 with new couchdb, thanks Dulakian 2012-08-19 13:45:23 -05:00
mdipierro ef8d8bf094 better grid console 2012-08-19 13:43:28 -05:00
mdipierro e5f974a390 moved export links to the bottom 2012-08-19 12:44:42 -05:00
mdipierro 56abad1f27 better localizaion of sqlhtml, thanks Martin 2012-08-19 10:18:03 -05:00
mdipierro d4f1da3018 better logic in appadmin csv, thanks Paolo Betti 2012-08-19 10:12:31 -05:00
mdipierro 146f9584d9 more readable scheduler, thanks Niphlod 2012-08-19 10:03:28 -05:00
mdipierro 9f2c0d52f1 IS_EXPR_environment.patch, fixed issue 938, thanks Anthony 2012-08-19 10:02:29 -05:00
mdipierro e2c5647c26 Dutch language files, thanks Robert Kooij 2012-08-18 20:11:04 -05:00
Michele Comitini e038c0afad Merge github.com:web2py/web2py 2012-08-19 01:58:27 +02:00
mdipierro 3d1dcd063b simplified syntax in auth.wiki @///function 2012-08-18 18:10:22 -05:00
mdipierro 49a5b3025b improved auth.wiki @{/a/c/f/args} 2012-08-18 17:50:50 -05:00
mdipierro 28f76bc9e3 reverted change that broke primary key check in appadmin 2012-08-18 16:21:52 -05:00
mdipierro f6867bc2d9 more cleanup, Table.__init__ still needs lots of work 2012-08-18 10:11:23 -05:00
mdipierro 19d674b4e5 streamlined Field.__init__ 2012-08-18 10:03:50 -05:00
mdipierro e6bed63344 fixed form, @{component:...} in auth.wiki, @{...} in markmin 2012-08-18 00:10:36 -05:00
mdipierro 85c721393e autolinks checks extension better 2012-08-17 23:12:01 -05:00
mdipierro e57309770c better @{key:args} in markmin 2012-08-17 23:07:20 -05:00
mdipierro 911fb4e226 made shure that tools works with lazy tables (but auth_* fields not lazy) 2012-08-17 22:45:56 -05:00
mdipierro 9d71ec6821 new Storage object makes some code 10x faster 2012-08-17 21:29:36 -05:00
mdipierro 2475e42c16 many optimizations in LAZY_TABLES, passes all tests, thanks Bruno 2012-08-17 20:59:48 -05:00
mdipierro 7cb1d74aa8 better scheduler, thanks Niphlod and dhx 2012-08-17 18:57:19 -05:00
mdipierro a3f671544d lazy tables 2012-08-17 18:56:45 -05:00
mdipierro 7772fdc556 updated CHANGELOG 2012-08-17 14:48:14 -05:00
mdipierro 80fe196b5a better scheduler, thanks Niphlod and dhx 2012-08-16 17:51:08 -05:00
mdipierro e76bcf0ea9 removed unwanted whitespaces 2012-08-16 11:56:07 -05:00
mdipierro f498421515 fixed prettydate, thanks Anthony 2012-08-16 11:06:04 -05:00
mdipierro d05eb2aa6e fixed security issue in grid 2012-08-16 10:54:38 -05:00
mdipierro d2bbc9adaf added missing _id, thanks Paolo Valleri 2012-08-16 09:39:51 -05:00
mdipierro 16ea8462c8 fixed another SQLFORM.formstyles, thanks Anthony 2012-08-16 09:38:47 -05:00
mdipierro 2095889eff IS_IN_DB validator for auth_user username/email, thanks Anthony, fixed issue 934 2012-08-15 17:30:43 -05:00
mdipierro aacfdb62bb another attempt at memcache 2012-08-15 17:24:25 -05:00
mdipierro 64af8ae88f another attempt at memcache 2012-08-15 17:18:24 -05:00
mdipierro 92a66c0d11 SQLFORM.formstyles, thanks Anthony 2012-08-15 17:08:10 -05:00
mdipierro d9ef136111 better memcache support? 2012-08-15 14:55:55 -05:00
mdipierro def270c298 fixed issue 928, thanks dulakian and Anthony 2012-08-15 14:23:44 -05:00
mdipierro f25e92d443 \w_ replaced with \w, thanks Osman 2012-08-15 09:12:55 -05:00
mdipierro 91c88d56eb count is integer, thanks Osman Masood 2012-08-15 09:06:36 -05:00
mdipierro 5145272415 gaekeyfilterpatch, thanks Howesc, issue 930 2012-08-14 20:37:47 -05:00
mdipierro f3d97a1107 fixed magnifying glass in design page 2012-08-14 20:36:07 -05:00
mdipierro 360f778ade fixed admin url upload, thanks Marin 2012-08-14 20:26:43 -05:00
mdipierro 57aff944b3 fixed path, thanks Jonathan 2012-08-14 19:32:09 -05:00
mdipierro f72056eff6 removed un-necessary line, thanks Alexei 2012-08-13 23:17:46 -05:00
mdipierro 4d15bc4375 os.sep in DAL, thanks Jonathan 2012-08-13 13:29:59 -05:00
mdipierro 8939abb370 raise HTTP(...,cookies=request.cookies) 2012-08-13 11:02:43 -05:00
mdipierro 4dcadcf78f gnicorn fix, thanks Ander Arbelaiz 2012-08-13 10:46:02 -05:00
mdipierro a1f2442d35 fixed admin min length, thanks Anthony 2012-08-12 10:38:42 -05:00
mdipierro fcc9bc51f6 improved security in grid but still a problem 2012-08-11 22:05:23 -05:00
mdipierro aab147ac3c fixed menu size, thanks Angelo 2012-08-11 21:42:07 -05:00
mdipierro 560f049825 minor change in markmin supports #head 2012-08-11 14:44:02 -05:00
mdipierro 4b4fa2361b added part of bootswatch improvements, thanks Angelo 2012-08-10 13:01:35 -05:00
mdipierro 0b8328a876 fixed Issue 927:add autoscroll widget to debugger interactive shell, thanks Anthony 2012-08-10 12:55:56 -05:00
mdipierro b2fb74555c fixed bug in simple_hash 2012-08-10 12:49:12 -05:00
mdipierro 91c891b32f simplified more CRYPT logic and removed hmac_hash, functionality included in simple_hash, thanks David 2012-08-09 23:34:37 -05:00
mdipierro 853c065e01 fixed compatibility issues in CRYPT 2012-08-09 23:09:51 -05:00
mdipierro bd9c1e525a allows strings as select args, thanks dhx 2012-08-09 08:57:58 -05:00
mdipierro 4e073be361 htth->http typo 2012-08-08 22:33:50 -05:00
mdipierro 3c4336d25c better navbar, thanks Anthony 2012-08-08 18:56:02 -05:00
mdipierro 990f1b1ea9 smartgrid(...fields=dict(...)) 2012-08-08 15:40:43 -05:00
mdipierro cd627963e6 fixed issue 578, thanks Thomas Dallagnese 2012-08-08 15:19:21 -05:00
mdipierro e4421db04e fixed issue 578, thanks Thomas Dallagnese 2012-08-08 15:17:57 -05:00
mdipierro c7b4060fa7 fixed issue 578, thanks Thomas Dallagnese 2012-08-08 15:16:58 -05:00
mdipierro 549f3f27dc better redirect, thanks Anthony 2012-08-08 14:20:05 -05:00
mdipierro 7f97301e06 fixed issue 478, thank you Matthew Norris, sorry this took so long 2012-08-08 14:15:32 -05:00
mdipierro 4911f3f2f1 fixed issue 324, thanks jredrejo and sorry it took me 1 year to find your patch 2012-08-08 13:59:54 -05:00
mdipierro 802bb67324 fixed multiple autocomplete for table 2012-08-08 13:52:04 -05:00
mdipierro d0a5bf7485 moved favicon.* in images 2012-08-08 13:24:49 -05:00
mdipierro d1da96a46c indentantion 2012-08-08 13:16:24 -05:00
mdipierro 2f36ee450c fixed issue 391, thanks Dulakian 2012-08-08 12:40:04 -05:00
mdipierro daa8707822 Oracle: new trigger resets the sequence so the next value will be the one given in the data, thanks dhx 2012-08-08 12:29:45 -05:00
mdipierro 1c2ad3b331 redirect(...,type='auto') 2012-08-08 12:17:54 -05:00
mdipierro c1ac4f4b8b improved is_valid_ip_address 2012-08-08 10:23:03 -05:00
mdipierro 084c22c282 redirect(...) now works on ajax responses, thanks Anthony 2012-08-08 10:05:09 -05:00
mdipierro 084f19c212 fixed navbar separators 2012-08-08 09:43:07 -05:00
mdipierro d7c00f2240 better info to debug issue 921 2012-08-08 09:35:01 -05:00
mdipierro fdc895a1db fixed issue 924, thanks dirkk0 2012-08-08 09:24:58 -05:00
mdipierro 0b7eefd862 reverted http://code.google.com/p/web2py/source/detail?r=65caec4dae5f7c971d406beb0eb3b32f471d84a4, thanks Anthony 2012-08-07 22:45:46 -05:00
mdipierro 3849108cae removed redundant strings in tools, thanks Anthony 2012-08-07 20:39:17 -05:00
mdipierro ac04b183a6 fixed issue 923, thanks Martin 2012-08-07 19:53:42 -05:00
mdipierro b27a976712 router map_static, thanks Jonathan 2012-08-07 19:39:45 -05:00
mdipierro 7b01c196d1 removed form.vars.upload_newfilename 2012-08-07 16:53:03 -05:00
mdipierro 4dd04a8a92 fixed issue 669, maxlength in grid for any str representation 2012-08-07 16:40:55 -05:00
mdipierro 9be9b05d42 fixed navbar customization, thanks Anthony 2012-08-07 16:33:39 -05:00
mdipierro 711a2573c0 issue 812 auth.signature labels are translated 2012-08-07 15:13:57 -05:00
mdipierro e22f45c878 fixed issue 569, translation of date-time error messages, thanks iceberg 2012-08-07 14:30:31 -05:00
mdipierro a28e32f78b fixed issue 488, important security issues, monkeypatch pymysql, thanks Roman 2012-08-07 14:04:19 -05:00
mdipierro 228387bf4f make CRYPT with salt but not key compatible with third party systems 2012-08-07 12:26:33 -05:00
mdipierro 176bf74d49 fixed issue 433 2012-08-07 12:12:43 -05:00
mdipierro 686ff2bfeb auth.requires_login(otheriwise=A(..)) 2012-08-07 11:31:10 -05:00
mdipierro ef90f698d5 confirmation before exiting the edit page 2012-08-07 11:21:48 -05:00
mdipierro 5885464341 possibe fix to attributes distinct in mongodbadapter 2012-08-07 09:33:28 -05:00
mdipierro e7c8b08a43 prevent double listsings of apps in widget, thanks Marin 2012-08-07 09:15:58 -05:00
mdipierro 5ff910baa6 LOAD can do upload with new jQuery? 2012-08-06 23:01:50 -05:00
mdipierro 0d99d9fc9e addressed issue 916 and reverted some changes but not convinced this is always the right solution 2012-08-06 21:24:35 -05:00
mdipierro 15a3241437 fixed create button in admin, thanks Nico 2012-08-06 20:54:19 -05:00
mdipierro b870074e5c valid html5 welcome, thanks Rob McC 2012-08-06 17:36:51 -05:00
mdipierro 8675b833ed scheduler uses pid to id running tasks, thanks Niphlod 2012-08-06 13:40:03 -05:00
mdipierro 9e5c6cc5be remove db from examples 2012-08-06 10:56:30 -05:00
mdipierro bc38d3c8f5 new scheduler uses utc time, thanks Niphlod 2012-08-06 10:15:36 -05:00
mdipierro a244adfb4b reverted changes in admin and examples, thanks Anthony 2012-08-06 10:13:37 -05:00
mdipierro b94b473736 fixing error in previous commit, thanks Anthony 2012-08-06 09:59:21 -05:00
mdipierro 4f97fb6310 fixing error in previous commit, thanks Anthony 2012-08-06 09:58:15 -05:00
mdipierro c08d5773e8 removed some un-necessary files in examples and the cache in db running demo 2012-08-06 08:57:06 -05:00
mdipierro 06f6e83c3c fixed copyright year, where possible 2012-08-06 07:25:24 -05:00
mdipierro 3f1b2ec50f remove some legacy translations in admin 2012-08-06 07:16:00 -05:00
mdipierro 4ec117b943 fixed encoding-decoding of flash, thanks Anthony 2012-08-06 06:28:32 -05:00
mdipierro 1dc9c59768 from setuptools import setup, thanks Arun and Zodman, issue 650 2012-08-05 21:35:54 -05:00
mdipierro ac8ac3a07e request.args(-i), issue 919, thanks David Adley 2012-08-05 21:26:16 -05:00
mdipierro 89cabf6006 new centos5 install script, issue 918, thanks Alan 2012-08-05 21:21:11 -05:00
mdipierro 50b9a3d230 populate list:reference, issue 917, thanks Simonm3 2012-08-05 21:19:57 -05:00
mdipierro aaa1bbddd2 jpg in markmin autolinks, thanks Villas 2012-08-05 19:52:19 -05:00
mdipierro cccd7c2d33 fixed welcome menu, thanks Villas 2012-08-05 19:46:46 -05:00
mdipierro 57447cb0cf improved upload logic, thanks Marin 2012-08-03 09:02:38 -05:00
mdipierro 8a7a723289 improved upload logic, thanks Marin 2012-08-03 09:01:02 -05:00
mdipierro e7b92202f2 new schaeduler, thanks Niphlod and Marin 2012-08-03 08:57:54 -05:00
mdipierro 2b51006819 fixed impersonating? 2012-08-03 00:55:18 -05:00
mdipierro 2fbec9ab8f possibly fixed issue 647 2012-08-02 21:51:05 -05:00
mdipierro 4867235e02 new centOS sctrips uses Python 2.6 instead of 2.7 because centOS problems, thanks Peter 2012-08-02 21:37:56 -05:00
mdipierro 796c8ff979 possible fix to address upload problem, thanks Marin 2012-08-02 21:28:38 -05:00
mdipierro 923857b957 Field(...'upload',default=path) looks in current app folder, thanks Marin 2012-08-02 10:17:15 -05:00
mdipierro 071b39f39b auth.wiki() has _create 2012-08-02 00:17:23 -05:00
mdipierro 1233eea690 ignore force_prefix for editors 2012-08-02 00:02:45 -05:00
mdipierro ad3f34b8f1 auth.wiki() is much better, supports autolinks 2012-08-01 23:49:55 -05:00
mdipierro 8a06a98b18 avoid attemts to duplicate archive tables 2012-08-01 17:04:40 -05:00
mdipierro 75cf1f1844 reverted part of previous test 2012-08-01 12:01:17 -05:00
mdipierro 0962d0b7fb scheduler in widget menu, thanks Niphlod 2012-08-01 09:04:32 -05:00
mdipierro fdce26f7a8 better permission handling for auth.wiki, not yet for wiki_media 2012-08-01 01:02:45 -05:00
mdipierro 4ffb597954 tentative fix to ajax problem, thanks Vladyslav, needs test, may break flash=DIV() 2012-07-31 22:03:46 -05:00
mdipierro d259939263 more language patches, thanks Vladyslav 2012-07-31 22:02:51 -05:00
mdipierro 4ce0ab1800 fixed GAE belong issue, thanks Jonathan and Christian 2012-07-31 19:25:51 -05:00
mdipierro 2123e485d8 fixed import_from_csv_field and new tests, thanks Jonathan 2012-07-31 19:24:26 -05:00
mdipierro a26d8245ab come web2py.css cleanup 2012-07-31 15:06:26 -05:00
mdipierro 8ff38c9669 reverted incorrect change to autolinks 2012-07-31 13:46:19 -05:00
mdipierro 29c15cde1d some dal.py indentation work 2012-07-31 12:07:11 -05:00
mdipierro 750f593f03 autolink expand_one now does unicode 2012-07-31 11:22:39 -05:00
mdipierro daab23eb6e fixed update_on_insert 2012-07-31 10:47:23 -05:00
mdipierro 40591357b4 removed some possible tckets in auth 2012-07-30 22:07:08 -05:00
mdipierro 275363de2b markmin and languages autolinks, thanks Vladyslav 2012-07-30 20:23:05 -05:00
mdipierro 9c592383c7 possible fix for issue 188, thanks Marin 2012-07-30 16:25:35 -05:00
mdipierro 462788f6c5 issue 902, admin can peek private, thanks Alan 2012-07-29 21:55:51 -05:00
mdipierro 5a42b18325 working auth.wiki on security 2012-07-29 21:02:24 -05:00
mdipierro 23f2f23ac3 some blogging capabilities to auth.wiki 2012-07-29 20:55:01 -05:00
mdipierro 3446a85bca wiki force_prefix again 2012-07-29 18:09:41 -05:00
mdipierro fc33fe8f44 wiki force_prefix 2012-07-29 17:37:32 -05:00
mdipierro 4861f67f84 auth.wiki supports load 2012-07-29 16:52:11 -05:00
mdipierro 039f5c25c5 improved router, thanks Jonathan 2012-07-29 16:21:45 -05:00
mdipierro 6bbd0c2736 router patch, thanks Jonathan 2012-07-29 13:57:01 -05:00
mdipierro d017aacf6d fixed json and xml search in auth.wiki() 2012-07-29 10:43:35 -05:00
mdipierro f2a8bad6fd improved scripts/setup-web2py-nginx-uwsgi-on-centos.sh, thanks Alan 2012-07-29 10:37:04 -05:00
mdipierro 297b4167e9 wiki services 2012-07-29 10:32:46 -05:00
mdipierro 794c0c1b3e better wiki _search 2012-07-29 10:04:30 -05:00
mdipierro b3f67561b1 setup-web2py-nginx-uwsgi-on-centos.sh, thanks Peter 2012-07-29 08:24:26 -05:00
mdipierro 78c378522c fixed is_impersonating 2012-07-29 07:31:01 -05:00
mdipierro c90779265a fixed issue qith clicking on toplevel menus 2012-07-28 23:04:30 -05:00
mdipierro 4da505ca1f made git pull thread safe, thanks Andrew 2012-07-28 22:37:19 -05:00
mdipierro eea0fc4b26 fixed IS_LENGTH for value==None again 2012-07-28 21:33:00 -05:00
mdipierro c7a7890148 made admin uploads more secure 2012-07-28 20:51:18 -05:00
mdipierro 1a20488a0d increased security in appadmin 2012-07-28 20:19:15 -05:00
mdipierro 558b4ed4cd allow serialization of SQLCustomTypes, thanks Anthony 2012-07-28 19:28:36 -05:00
mdipierro 4141e2b5d6 issue 913, handle html5 input types, thanks Howesc 2012-07-28 19:14:19 -05:00
mdipierro 3167e454e7 issue 912, handle lists of more than 30 references on GAE, thanks Howesc 2012-07-28 19:11:16 -05:00
mdipierro be93995a3b fixed IS_LENGTH 2012-07-28 02:24:09 -05:00
mdipierro 498774d47e admin has forms 2012-07-28 02:08:53 -05:00
mdipierro 32847ed4f7 FORM.dialog -> FORM.confirm 2012-07-28 01:00:57 -05:00
mdipierro 7650e6de95 using FORM.dialog 2012-07-28 00:56:06 -05:00
mdipierro 4350ddaec0 better mongodb import 2012-07-27 17:25:30 -05:00
mdipierro c7ac700355 fixed Recapcha, thanks Osman Masood 2012-07-27 16:53:34 -05:00
Michele Comitini 4a2215793d Merge github.com:web2py/web2py 2012-07-27 23:10:36 +02:00
mdipierro 4e50aee372 captures error in widget gethostaddr, thanks Patrick 2012-07-27 09:32:36 -05:00
mdipierro 8120f75ace BR()+BR() 2012-07-26 17:53:35 -05:00
mdipierro 33ed6dd806 issue 909, secure login_bare, thanks szimszon 2012-07-26 17:42:20 -05:00
mdipierro 322202b7e7 detect ips 2012-07-26 17:37:51 -05:00
mdipierro c3f2868805 FORM.dialog 2012-07-26 09:41:39 -05:00
mdipierro 2b145f6e6b consolidated buttons on site 2012-07-26 08:12:29 -05:00
mdipierro 897c1f3766 validate request.client 2012-07-26 07:49:12 -05:00
mdipierro b887c0cf0b Local/Public 2012-07-26 07:37:31 -05:00
mdipierro b2990c8b1a do not assume library.zip 2012-07-26 06:57:27 -05:00
mdipierro 7fafe4ae7f radio widget lists ips 2012-07-26 06:42:28 -05:00
mdipierro 6036609a3e fixed order of unzipping 2012-07-26 06:06:13 -05:00
mdipierro 1528d5d67b fixed incompatibility with spreadsheet.py 2012-07-26 05:56:54 -05:00
mdipierro 155c2f4919 make win uses 2.7 2012-07-26 05:43:46 -05:00
mdipierro cf89cbbff4 fixed issue 907 2012-07-25 21:12:34 -05:00
mdipierro 8b66bf15f0 possibly fixed issue 908 2012-07-25 21:04:56 -05:00
mdipierro 44e5fc96fc fixed winservice, thanks Marin Prajic 2012-07-25 18:34:53 -05:00
mdipierro f0237e4ec8 lazy_cache docstring 2012-07-25 16:57:17 -05:00
mdipierro ba80c083ab lazy_lazy_cache->lazy_cache, thanks Anthony 2012-07-25 16:53:21 -05:00
mdipierro 9e45d82049 BR()*5 2012-07-25 16:21:34 -05:00
mdipierro d7f4e2cc7a possible solution to issue 887 2012-07-24 22:06:09 -05:00
mdipierro 671fb02434 correction to issue 886, thanks Niphlod 2012-07-24 21:23:48 -05:00
mdipierro 3db78d41eb fixed list hideerror, thanks Howesc and Niphold, issue 886 2012-07-24 21:19:58 -05:00
mdipierro 5e3ad2af44 crud.select(fields=[..]), fields can now be string, issue 901 2012-07-24 21:11:35 -05:00
mdipierro 2576690f63 backward compatiblity fix for auth sinature 2012-07-24 06:53:08 -05:00
mdipierro 3a2fd8e6c8 another attempt to fix winservice issue 2012-07-23 17:23:27 -05:00
mdipierro 485d629fc2 solved custom import issue? 2012-07-23 16:19:54 -05:00
mdipierro cb2232bfbd experimental git support (needs a little more work), thanks Andrew Replogle 2012-07-21 16:12:45 -05:00
mdipierro ac08356843 admin design shows private files, thanks Alan 2012-07-21 13:29:23 -05:00
Michele Comitini a7dddda495 Merge branch 'master' of github.com:web2py/web2py 2012-07-21 01:02:53 +02:00
mdipierro 3b0935a68b other improvements, thanks Vladyslav 2012-07-20 17:37:53 -05:00
mdipierro 903b33e511 fixed typo in X509Auth, thanks Michele 2012-07-20 16:47:59 -05:00
mdipierro f897882299 Copyright date now displays current year, always, thanks Brian Cottingham 2012-07-20 16:45:07 -05:00
mdipierro aec1cbc81f fixed a problem with db().select().sort() did not follow book specs 2012-07-20 16:32:53 -05:00
mdipierro b16b8b6f7f oops sh512 2012-07-20 13:51:26 -05:00
mdipierro 2764926ea9 invalid digest %s algorithm, thanks Jonathan 2012-07-20 12:47:06 -05:00
mdipierro 2f1cd20a16 added comment in welcome default.py 2012-07-20 11:27:38 -05:00
mdipierro 8ba850fc3f changed CRYPT, Auth, welcome digest_alg default 2012-07-20 10:31:07 -05:00
mdipierro 6072fa2962 added more CRYPT examples and doctests, fixed other doctests 2012-07-20 10:17:55 -05:00
mdipierro f905a6e9dc fixed CRYPT 2012-07-20 08:58:13 -05:00
Michele Comitini beccf647b7 fixed typo in doc string 2012-07-20 15:03:08 +02:00
Michele Comitini 21387a5b8b Merge github.com:web2py/web2py into HEAD 2012-07-20 14:55:24 +02:00
mdipierro ff05f5d121 smarted CRYPT, thanks Jonathan 2012-07-19 16:56:44 -05:00
mdipierro f01b61c4c9 better export in grid, thanks Niphlod 2012-07-19 16:25:22 -05:00
mdipierro f1337d563e reverted part of recent test 2012-07-18 21:47:01 -05:00
mdipierro b2dd147a2d fixed global_settings.gluon_parent for scripts, thanks Vladyslav 2012-07-18 18:46:43 -05:00
mdipierro 11b5d7d9d0 added a comment about md5, thanks Osman 2012-07-18 18:32:46 -05:00
mdipierro 1427dc976f better auth.wiki 2012-07-18 18:24:58 -05:00
mdipierro 05008158ee better auth.wiki with tag cloud 2012-07-18 17:50:23 -05:00
mdipierro 6a3ef83060 fixed problem with lazyT.__mod__ 2012-07-18 16:03:43 -05:00
mdipierro af7c29330d more language patches, thanks Vladyslv 2012-07-18 15:35:42 -05:00
mdipierro 20ad8b8b71 missing pickling methods in Storage, thanks marius.v.niekerk 2012-07-18 14:20:46 -05:00
mdipierro 3058edfb8f added conditional zencoding legend if html+edit_area 2012-07-18 14:16:36 -05:00
mdipierro bafdf36bf3 new syntax pbkdf2(1000,20,sha1) 2012-07-18 13:46:24 -05:00
mdipierro 0f952cfe5f added some more missing files 2012-07-18 13:40:10 -05:00
mdipierro 0e3198a0a6 added missing files from Vladyslav 2012-07-18 12:48:08 -05:00
mdipierro 0881673037 added button import in sqlhtml 2012-07-18 12:45:17 -05:00
mdipierro a1aebca4d3 fixed an issue with latest CRYPT 2012-07-18 12:34:26 -05:00
mdipierro 1e657f0121 added pbkdf2 support, simplified logic 2012-07-18 12:24:28 -05:00
mdipierro 9cfb1e8afd new languages patch with pluralization, thanks Vladyslav 2012-07-18 11:22:41 -05:00
mdipierro 7b62588d7e reverted last useless patch 2012-07-17 18:06:44 -05:00
mdipierro d3925f371b extra crsf protection for admin 2012-07-17 18:01:58 -05:00
mdipierro 192303adb1 moved define_signature to define_table but not convinced it is always a good idea 2012-07-17 17:32:35 -05:00
mdipierro 258a645aa1 better export buttons in grid, thanks Niphlod 2012-07-17 17:13:40 -05:00
mdipierro 14b6cc5650 fixed issue 864, thanks Niphlod 2012-07-17 17:11:23 -05:00
mdipierro 9d2ed04ed4 added TSV exporter to grid, thanks niphlod 2012-07-17 16:15:29 -05:00
mdipierro 3c4080eb08 typo close->clone, thanks I.like.privacy.too 2012-07-17 16:11:37 -05:00
mdipierro dd598d6c2f reverted welcome/default/index because of a problem 2012-07-17 12:50:45 -05:00
mdipierro 80965dd5e3 yet another markmin improvement, thanks Vladyslav 2012-07-17 12:35:57 -05:00
mdipierro e3e9182293 fixed uniqueness problem in archives 2012-07-17 10:59:26 -05:00
mdipierro 81b8b4c775 fixed problem with recent cache commit 2012-07-17 10:35:45 -05:00
mdipierro 8a2d4d5448 fixed issue 889, scheduler on missing app, thanks Niphlod 2012-07-16 22:48:59 -05:00
mdipierro 06509d79d2 more graful errors 2012-07-16 22:36:29 -05:00
mdipierro b11ba2e870 latest utf8 and added pyuca, thanks Vladyslav 2012-07-16 22:28:18 -05:00
mdipierro 6002dbe5d6 reverted markmin2html example from Valdyslav 2012-07-16 21:19:14 -05:00
mdipierro 0991667c49 fixed socket.gaierror, thanks Carlos 2012-07-16 20:58:12 -05:00
mdipierro 661b2b87a7 added decimal support for json in serializers.py 2012-07-16 15:53:24 -05:00
mdipierro 2384a5cb7f added utf8 and utf8 support in Markminn, thanks Vladyslav 2012-07-16 15:36:47 -05:00
mdipierro 7872d38fb5 issue 889, thanks spiffytech 2012-07-16 14:25:19 -05:00
mdipierro 6577e4e851 fixed SQLALL._table 2012-07-16 14:11:54 -05:00
mdipierro a019949628 lazy_lazy_cache 2012-07-16 14:10:22 -05:00
mdipierro 487fc8e4af welcome css pathc, issue 896, thanks Angelo 2012-07-16 13:16:02 -05:00
mdipierro ded1292495 fixed A as menu item name, issue 987, thanks smogzer 2012-07-16 13:13:45 -05:00
mdipierro 2ae0ee0804 working on wiki_tags 2012-07-15 21:41:43 -05:00
mdipierro f308343fb0 fixed problem with update_record and ignore_common_filters, issue 892, thanks spiffytech 2012-07-15 18:11:47 -05:00
mdipierro c9fda71db5 db().select(....) no longer ignores common_filters, issue 893 2012-07-15 18:06:49 -05:00
mdipierro 651ba90c6f Vladyslav acknowledgement 2012-07-15 17:32:24 -05:00
mdipierro ef7034893d id and class prefix in markmin, thanks Vladyslav 2012-07-15 17:29:55 -05:00
mdipierro d5f5f5495b improved admin navigation, thanks Vladyslav 2012-07-15 17:28:46 -05:00
mdipierro 8412b4d0cc improved media handling in auth.wiki(), more work needed 2012-07-15 10:03:05 -05:00
mdipierro 96c4d07c0d rewrite patch, thanks Vladyslav (and Jonathan for checking it) 2012-07-14 23:27:06 -05:00
mdipierro 8a819785c5 eaiser wiki. Just do 'def index(): return auth.wiki()' (that is all) 2012-07-14 23:25:34 -05:00
mdipierro 3cba7e727e rewrite of MARKMIN, thanks Vladyslav 2012-07-14 23:05:41 -05:00
mdipierro 1b34f47ec9 many improvements from Vladyslav 2012-07-14 22:45:32 -05:00
mdipierro 709038cc0a no menu in wiki 2012-07-14 20:15:51 -05:00
mdipierro 071e84a2a5 fixed sorting in Wiki 2012-07-14 18:43:43 -05:00
mdipierro d7d2bd2fe8 fixed a problem with computed fields 2012-07-14 18:24:01 -05:00
mdipierro 842fb69dde fixed recent bug in count 2012-07-14 17:55:25 -05:00
mdipierro be3a091002 fixed T(T('..')) and added tools.Wiki 2012-07-14 17:50:51 -05:00
mdipierro b2c0e1ee1d db.table.field.count(True), thanks Niphlod 2012-07-13 18:04:13 -05:00
mdipierro 2780f6f032 upgraded to pymysql 0.2 2012-07-12 15:31:24 -05:00
mdipierro 0616d22aec adding default languages, thanks Vladyslav 2012-07-12 15:23:25 -05:00
mdipierro 5b7ecc5fb2 minor cleanup in languages 2012-07-12 15:13:49 -05:00
mdipierro 4b8e525003 improved language caching, key includes filter 2012-07-12 15:09:19 -05:00
mdipierro ff1c10fcee improved language handling, thanks Vladyslav 2012-07-12 14:58:29 -05:00
mdipierro 8199074678 streamer improvement, issue 884, thanks Niphlod 2012-07-12 14:05:06 -05:00
mdipierro dece9f381e ldap_auth.py pep8, thanks Kory 2012-07-12 11:26:45 -05:00
mdipierro 4e8f57cbd9 better markmin, thanks Vladyslav 2012-07-11 23:13:59 -05:00
mdipierro cdda1ee79e removed some of recent changes until futher study 2012-07-11 22:40:48 -05:00
mdipierro 4d82cc86c1 patched welcome languages, thanks Vladyslav 2012-07-11 22:16:06 -05:00
mdipierro 74da553542 no more import stat in cfs.py, thanks Vladyslav 2012-07-11 22:12:14 -05:00
mdipierro 4a49bdf352 reverted cfs.py 2012-07-11 22:11:20 -05:00
mdipierro 2f8ceb3bc5 no more import stat in cfs.py, thanks Vladyslav 2012-07-11 22:10:14 -05:00
mdipierro 4c5d8f84e7 no more import stat in cfs.py, thanks Vladyslav 2012-07-11 22:08:11 -05:00
mdipierro 0acbcc31cd better language support in admin, thanks Vladyslav 2012-07-11 22:05:38 -05:00
mdipierro 3bfb2147f5 admin-languages.patch, thanks Vladyslav 2012-07-11 22:00:37 -05:00
mdipierro 47b3b3d97c admin-languages-*, thanks Vladyslav 2012-07-11 21:59:08 -05:00
mdipierro 9350bd4849 admin-controllers-default.patch, thanks Vladyslav 2012-07-11 21:57:17 -05:00
mdipierro d38f9bbe36 for a grid in a component, cancel delete fails, issue 879, thanks simonm3 2012-07-11 18:23:49 -05:00
mdipierro 115101dc77 populate list without duplicates, thanks simonm3 2012-07-11 18:21:41 -05:00
mdipierro e976bbe66b latest scheduler 2012-07-11 18:16:57 -05:00
mdipierro 748028a7f4 improved ldap_auth.py, thanks Kory 2012-07-11 18:10:49 -05:00
mdipierro 49be6a6c16 table._migrated removed, not necessary 2012-07-11 09:17:30 -05:00
mdipierro fff1d9e4a3 table._migrated, db._migrated 2012-07-11 09:16:23 -05:00
mdipierro 9fbdd6a05b table._migrated, db._migrated 2012-07-11 09:15:35 -05:00
mdipierro 64ac8fccbd more options with hmac and salt in auth, thanks Dave 2012-07-10 20:40:47 -05:00
mdipierro e85608ae61 better user.html, thanks Dave 2012-07-10 00:22:35 -05:00
mdipierro 09d2499399 fixed typo in dal, thanks Jonathan 2012-07-09 23:55:16 -05:00
mdipierro be8ba6603d fixed typo in tools, issue 880, thanks Douglas Philips 2012-07-09 21:40:33 -05:00
mdipierro 092ef99b0d fixed oracle bigint, thanks faridgs 2012-07-09 21:39:07 -05:00
mdipierro 84900fa3c9 fixed typo in dal 2012-07-09 21:09:55 -05:00
mdipierro 0e09f84ab6 better scheduler, thanks Niphlod 2012-07-09 21:08:57 -05:00
mdipierro fed9258070 auto-add uploadfield 2012-07-09 17:41:31 -05:00
mdipierro a02644c39e -K allows to specify which apps to cron, thanks Jonathan 2012-07-08 20:28:09 -05:00
mdipierro d0463c05b2 fixed issue 701, thanks Marius van Niekerk 2012-07-08 17:39:37 -05:00
mdipierro 1068e75902 multiple exports from grid, issue 423, thanks Hong-Khoan Quach 2012-07-08 17:26:44 -05:00
mdipierro 4a93d6866a scripts/setup-web2py-fedora-ami.sh, thanks Charles Law 2012-07-08 17:11:24 -05:00
mdipierro f7724c4f06 renamed welcome crontab crontab.example, thanks Jonathan 2012-07-08 16:40:01 -05:00
mdipierro e33094a3d6 improver navbar behavior, thanks Anthony 2012-07-08 09:45:20 -05:00
mdipierro 98295289f0 scheduler patch, issue 878, thanks Toomim 2012-07-07 10:28:21 -05:00
Michele Comitini 2905b1b40c Merge github.com:web2py/web2py into HEAD 2012-07-06 22:59:32 +02:00
mdipierro 56eee69ebf referrer_actions, thanks Anthony 2012-07-06 11:47:25 -05:00
mdipierro 5e4283909b removed varquote, too many problems 2012-07-06 11:32:01 -05:00
Michele Comitini aeaf0447d5 Merge github.com:web2py/web2py 2012-07-06 16:26:33 +02:00
Michele Comitini bad7d9b960 Merge branch 'master' of github.com:michele-comitini/web2py 2012-07-06 16:25:58 +02:00
mdipierro e15e36566c db._debug=True 2012-07-06 08:54:45 -05:00
mdipierro 901c2ebf32 fixed error in recent commit __idx, thanks Joel Carrier 2012-07-05 22:33:43 -05:00
mdipierro fd3b52a7f8 fixed typo 2012-07-05 22:29:51 -05:00
mdipierro 60cf316e16 check if git installed for openshift 2012-07-05 22:28:54 -05:00
mdipierro b6667e6da8 fixed language in comments, thanks Clifford 2012-07-05 22:24:34 -05:00
mdipierro 7377cef7ff openshift integration, thanks prelegalwonder 2012-07-05 22:21:18 -05:00
mdipierro b1a4ed556f no double import contenttype, thanks Salomon Derossi 2012-07-05 22:09:13 -05:00
mdipierro e6ab9cb597 custom qualifier, thanks david karapetyan 2012-07-05 22:06:27 -05:00
mdipierro a0b585fc25 db.close(). thanks nick name 2012-07-05 21:32:09 -05:00
mdipierro db1a42d5e5 catching timout in rocket sendall, thanks nickname 2012-07-05 21:17:20 -05:00
mdipierro db9c5bd369 fixed typo in recent commit, thanks szimson 2012-07-05 10:51:03 -05:00
mdipierro bee3c154ef error message on Crypt exception 2012-07-05 10:47:10 -05:00
mdipierro 0d8d8817f4 more varquote(s) but this is a temp solution 2012-07-05 09:31:23 -05:00
mdipierro 6169e192f7 varquote for mssql and postgresql 2012-07-05 09:21:52 -05:00
mdipierro 6864183739 fixed default algorithm with salt, requires hmac_key 2012-07-04 23:30:52 -05:00
mdipierro 2f84135dd9 fixed varquote if no-table and IDENTITY 2012-07-04 22:50:48 -05:00
mdipierro b83f9fcfda fixed GAE contains,issue 874, thanks Howesc 2012-07-04 22:50:03 -05:00
mdipierro de771e8117 fixed GAE contains,issue 874, thanks Howesc 2012-07-04 22:48:34 -05:00
mdipierro cb5a993f41 fixed GAE contains,issue 874, thanks Howesc 2012-07-04 22:47:25 -05:00
mdipierro ae83fe9ac4 Auth(...,salt=True), thanks Dave Stoll 2012-07-04 19:22:40 -05:00
mdipierro 3d6335ce7c bootstrap 2.0.4 + responsive, issue 858, thanks lightdot 2012-07-04 17:45:55 -05:00
mdipierro 31bbd7707e quotes field and tablenames in mysql, thanks Toomim 2012-07-04 17:37:49 -05:00
mdipierro 5e110aec52 component timeout defauls to oo, issue 871, thanks Simon 2012-07-04 17:05:27 -05:00
mdipierro 8a4f96e619 issue 873, thanks Howesc 2012-07-04 17:02:38 -05:00
mdipierro 4334488891 routes_in=[('/path','303->http://..')] 2012-07-01 22:44:03 -05:00
mdipierro 96893b2c26 more T's in appadmin.py, thanks Vladyslav 2012-06-30 12:11:00 -05:00
mdipierro 91bbe402bb adding 'strong' to 'permitted_tags', and 'a.target' to allowed_attributes, thanks Vladyslav 2012-06-30 12:08:53 -05:00
mdipierro 0e8111a19e for some reason shell forgets settings, this works around temporarily fixes the problem, thanks Vladyslav Kozlovskyy 2012-06-30 11:54:36 -05:00
mdipierro 95c978b705 added setup-scheduler-centos.sh, issue 867, thanks Tyrone 2012-06-29 20:55:44 -05:00
mdipierro 366c11428e issue 523, search_widget can be a dict, thanks Ato 2012-06-29 11:22:04 -05:00
mdipierro 30b67b29df updated memcache to 1.48, thanks Jonathan 2012-06-29 09:34:09 -05:00
mdipierro 17487cd40d better scheduler, thanks Niphlod 2012-06-28 22:50:03 -05:00
mdipierro 0e2b840837 better extension parsing, thanks Corne 2012-06-28 09:56:53 -05:00
mdipierro 0676afd6fd fixed import problem with external dependencies, thanks Corne Dickens 2012-06-28 09:54:22 -05:00
mdipierro 59b1f20926 added WSGIPassAuthorization On to setup scripts, thanks Larry Weinberg 2012-06-28 09:37:47 -05:00
mdipierro dad67c761a better exception on bug, thanks Jonathan 2012-06-27 18:02:32 -05:00
mdipierro 0f8a29daeb socket timeout on ssl bug 2012-06-27 17:45:09 -05:00
mdipierro 1f7cdfc8eb chipin is back 2012-06-27 16:53:37 -05:00
mdipierro c37ac11955 distinct in autocomplete, thanks Brent Zeiben 2012-06-25 21:40:16 -05:00
mdipierro 7a2acc2532 reverted last erroneous commit, thanks Niphlod 2012-06-25 16:49:02 -05:00
mdipierro 71fae9efce improved scheduler, thanks Niphlod 2012-06-25 16:36:20 -05:00
mdipierro 3a8a7c911e disabled login form in admin is not secure, issue 859, thanks Tim 2012-06-25 14:40:19 -05:00
mdipierro 83f1be5670 improved spreadsheet, issue 860, thanks Alan 2012-06-25 14:35:10 -05:00
mdipierro ad55b3f1fd nested DIV in error messages, issue 861 thanks Richard 2012-06-25 14:31:52 -05:00
mdipierro 5e0dddffce fixed quote in url rewrite, thanks Michael 2012-06-25 14:21:18 -05:00
mdipierro 9bc25ea9ff ctrl+C now kills scheduler too, issue 126, thanks Niphlod 2012-06-25 14:18:20 -05:00
mdipierro d8fd45d545 routes patch, thanks Jonathan 2012-06-25 14:14:44 -05:00
mdipierro 70b3d03235 IS_IN_DB distinct 2012-06-23 09:11:56 -05:00
mdipierro 27d0090d10 fixed imap adepater to deal with inboxes with leading _ or numbers, issue 644, thanks Alan 2012-06-22 13:18:11 -05:00
mdipierro 4830a6fbf2 improved bootswatch, thanks Paolo 2012-06-18 17:07:32 -05:00
mdipierro 71f43c0669 fixed geocode, issue 855, thanks niphllod 2012-06-17 23:36:35 -05:00
mdipierro 90883e5926 improved layout, thanks Paolo 2012-06-17 23:35:03 -05:00
mdipierro ecdc6088f4 allow dynamical import in template, thanks Fran 2012-06-17 23:16:15 -05:00
mdipierro f6a46cd5ff db.table.field.belongs(*value), thanks Michael Toomim 2012-06-17 23:12:49 -05:00
mdipierro d5324315d5 cursor support in DAL for GAE, thanks Christian 2012-06-17 23:09:19 -05:00
mdipierro 5e23048a74 fixed gitingore and hgignore in welcome 2012-06-17 10:12:18 -05:00
mdipierro 8eccb87375 removed btn from buttontext, thanks szimszon 2012-06-17 08:59:35 -05:00
mdipierro 0f506fc47c removed obsolete files and upgraded to jquery 1.7.2 2012-06-16 18:57:59 -05:00
mdipierro 3143ee397b rearranged parse_id 2012-06-16 17:03:11 -05:00
mdipierro 7b6f5dff48 GAE references, thanks Christian 2012-06-16 16:49:06 -05:00
Massimo Di Pierro 2877daa369 imporved web2py.js no longer escapes flash and commands in headers 2012-06-15 13:17:09 -05:00
Massimo Di Pierro d3c03601c9 updated changelog 2012-06-14 18:47:26 -05:00
Massimo Di Pierro 5179224e6d reverted revision 2799e09d6bb4, until better idea, because of backward compatibility 2012-06-14 15:42:18 -05:00
Massimo Di Pierro b9aedb9bf5 DAL('postgres2:...') and arrays 2012-06-14 15:25:49 -05:00
Massimo Di Pierro 5dd56a8d94 new grid classes bootstrap compatible, thanks Bruno 2012-06-14 15:08:33 -05:00
Massimo Di Pierro 6db57e9cd2 db.table.field.filter_in, filter_out, issue 845 2012-06-14 14:45:16 -05:00
Massimo Di Pierro de608f208f grid(groupy=...') 2012-06-14 14:35:15 -05:00
Massimo Di Pierro 9f0be17b74 grid(groupy=...') 2012-06-14 14:35:02 -05:00
Massimo Di Pierro c8a8415ce8 keepvalue should default to True for edit forms and False for indert forms (backward compatible) 2012-06-14 14:31:30 -05:00
Massimo Di Pierro 9bcb669fda better markin, thanks villas 2012-06-14 14:28:28 -05:00
Massimo Di Pierro c38c7e6c4e fixed timing attack again, thanks Kirill 2012-06-14 13:00:57 -05:00
Massimo Di Pierro 0209b24bcf issue 844 (SQLCustomType and unicode parsing), thanks admin 2012-06-13 20:02:13 -05:00
Massimo Di Pierro e5e1837ce8 withprojection->projection, thanks Anthony 2012-06-13 17:14:55 -05:00
Massimo Di Pierro 9cdb9f1600 fixed issue 843, thanks hoatre2001 2012-06-13 17:02:00 -05:00
Massimo Di Pierro 344c2e85c4 make session2trash 2.5 compliant, thanks Douglas 2012-06-13 16:50:53 -05:00
Massimo Di Pierro 0c7f333ec1 ldap_auth.py fix regarding AD, thanks Gyuris 2012-06-13 16:48:58 -05:00
Massimo Di Pierro 01a2981ed4 fixed a potential timing attack, thanks Kirill Spitsin 2012-06-13 16:45:30 -05:00
Massimo Di Pierro 4a06f92c32 optinal projections, thanks Christian and Anthony 2012-06-13 11:53:18 -05:00
Massimo Di Pierro 3d71278d8a fixed bug in navbar link, thanks Anthony 2012-06-12 21:45:07 -05:00
Michele Comitini 7452551877 Merge github.com:web2py/web2py
Conflicts:
	gluon/custom_import.py
2012-06-12 18:35:31 +02:00
Massimo Di Pierro 0d95b7e6ee fixed pymongo import? 2012-06-12 08:25:22 -05:00
Massimo Di Pierro 0c672d4024 fixed newcron bug thanks niphlod 2012-06-12 08:22:29 -05:00
Massimo Di Pierro c1dd059fa7 improved scheduler behaviour, thanks Michael 2012-06-11 14:29:08 -05:00
Massimo Di Pierro 1e7d41df2b fixed problem with migration of auth_cas, thank you Anthony 2012-06-10 21:17:47 -05:00
Massimo Di Pierro 1ef2f4f1fd store sessions in cookies, needs logic in main, thanks Nick Groenke 2012-06-10 01:18:30 -05:00
Massimo Di Pierro 816e6b3e5f GAE datastore projection support, thanks Christian 2012-06-10 00:32:14 -05:00
Massimo Di Pierro 7102bc2126 fixed makefile for make_web2py 2012-06-09 11:51:29 -05:00
Massimo Di Pierro 35ca046916 implemented cron fix, thanks Michael 2012-06-09 11:20:23 -05:00
Massimo Di Pierro 9a7587ea68 GAE projection - work in progress 2012-06-09 00:07:57 -05:00
Massimo Di Pierro 52a138ed18 newest setup_exe.py, thanks niphlod 2012-06-08 15:20:25 -05:00
Massimo Di Pierro e2592a23b4 reverted erroneous e808fd6f684a, thanks Carlos 2012-06-07 23:25:40 -05:00
Massimo DiPierro b94d758bf1 improved import, thanks Michele 2012-06-06 20:30:37 -05:00
Michele Comitini aa6339bc75 Show import error in a submodule imported by custom_import 2012-06-07 02:16:20 +02:00
Massimo DiPierro 3f58332dc0 fixed welcome layout on lack of auth 2012-06-06 11:37:28 -05:00
Massimo DiPierro 9b9c046e6d merged with online branch 2012-06-06 11:19:42 -05:00
Massimo DiPierro 0d29ba9314 Merge remote-tracking branch 'origin/master' 2012-06-06 11:16:28 -05:00
Massimo DiPierro fb7f42f4ba removed spaces 2012-06-06 11:06:41 -05:00
Massimo DiPierro 760de8ed64 fixed indentation error, thanks pbreit 2012-06-06 10:54:44 -05:00
Massimo DiPierro e1f4c1fb67 fixed web2py.py himBH>jQuery, thanks Anthony 2012-06-06 10:51:34 -05:00
Michele Comitini 29b8979bdb White space after \ at eol removed. 2012-06-06 13:07:54 +02:00
Michele Comitini 560aef2a1d Merge branch 'master' of github.com:web2py/web2py 2012-06-06 11:10:56 +02:00
Massimo DiPierro b45134512a another SQLCustomType improvement, Alexander is right 2012-06-05 20:02:36 -05:00
Massimo DiPierro 95d01663a7 issue 694, thanks dlypka 2012-06-05 18:18:50 -05:00
Massimo DiPierro e6e542b14f issue 644, thanks Douglas and Alan 2012-06-05 18:08:01 -05:00
Massimo DiPierro b930458679 Row.__str__ 2012-06-05 18:00:59 -05:00
Massimo DiPierro 87870448c6 do not show errors about already uploaded files 2012-06-05 17:53:26 -05:00
Massimo DiPierro c562133e9f self refernces, issue 353, 'refernce .', thanks eenns 2012-06-05 17:38:16 -05:00
Massimo DiPierro 72cacb43d2 self refernces, issue 353, 'refernce .', thanks eenns 2012-06-05 17:37:40 -05:00
Massimo DiPierro 4fd95881dc fixed router bug and new test, thanks Jonathan 2012-06-05 17:15:17 -05:00
Massimo DiPierro 5766476fa1 fixed SQLCustomType represent 2012-06-05 10:57:21 -05:00
Massimo DiPierro 6675963f7b fixed typo in sqlhtml.py 2012-06-05 00:02:57 -05:00
Massimo DiPierro efdabad37e new (better) scheduler, thanks niphlod and szimszon 2012-06-04 18:49:35 -05:00
Massimo DiPierro dbd7c8e065 customizable breakcrumbs in smartgrid, thanks Paolo 2012-06-04 18:45:17 -05:00
Massimo DiPierro 800ea7d055 ctrl+S for admin save on Mac 2012-06-04 16:03:24 -05:00
Massimo DiPierro ffe21ee7a6 fixed Romanian translation, thanks Ionel 2012-06-02 16:44:27 -05:00
Massimo DiPierro 4e7c1ae48a fixed issue 826, callable editable in grid, thanks Douglas 2012-06-02 14:47:43 -05:00
Massimo DiPierro fc7c6d5697 fixed issue 828, related to rest security, thanks Clifford 2012-06-02 14:45:52 -05:00
Massimo DiPierro f479e0dd31 romanian translation for welcome, thanks ionel 2012-06-02 14:36:17 -05:00
Massimo DiPierro 8869b0a650 romanian translation for admin, thanks ionel 2012-06-02 14:35:05 -05:00
Massimo DiPierro c6c99eacc3 added welcome/.hgignore and .gitignore, thansk Iceberg 2012-06-02 14:02:16 -05:00
Massimo DiPierro 8436692e88 pyfilestem support for upload to S3, ftp, etc. 2012-05-31 12:48:27 -05:00
Massimo Di Pierro e4357d2988 fixed pythonrc, thanks Vlad 2012-05-29 00:20:46 -05:00
Massimo Di Pierro 3af2c7153f fixed a problem with path detection in languages, thanks Vlad 2012-05-28 19:15:29 -05:00
Massimo Di Pierro 5c2bab1fb6 fixed problem with shell introduced in recent commit 2012-05-28 16:30:43 -05:00
Massimo Di Pierro 2d051d7ff4 issue 823, thanks mweissen 2012-05-28 16:19:29 -05:00
Massimo Di Pierro 26127e8fde fixed navbar problem with IE, thanks Paolo 2012-05-28 15:55:19 -05:00
Massimo Di Pierro b4453c6237 reverted latest change, thanks Babak 2012-05-28 15:46:18 -05:00
Massimo Di Pierro e61e595d21 yet another postgresql connection improvement, thanks Babak 2012-05-28 14:02:12 -05:00
Massimo Di Pierro b607ff2318 who.html updated 2012-05-28 13:37:48 -05:00
Massimo Di Pierro a256fe355f allow edit page resize, thanks Vlad 2012-05-28 13:34:09 -05:00
Massimo Di Pierro f424aef3c3 language files are now searched recursively, thanks Vlad 2012-05-28 13:32:40 -05:00
Massimo Di Pierro 94e1de3cf8 language files are now searched recursively, thanks Vlad 2012-05-28 13:31:40 -05:00
Massimo Di Pierro 5001a0d16f fixed encoding in flash messages, thanks Vlad 2012-05-28 13:23:40 -05:00
Massimo Di Pierro ac864ceaf4 internationalization in RSS serializer, thanks Vlad 2012-05-28 13:13:49 -05:00
Massimo Di Pierro 8d954bbfc3 result of PYTHONSTARTUP scripts execution (export...; def...) is inserted into global() scope of web2py interactive shell, thanks Vlad 2012-05-28 13:11:12 -05:00
Massimo Di Pierro 68b5581eb5 support for mercurial 2.6, thanks Vlad 2012-05-28 13:08:15 -05:00
Massimo Di Pierro b48be44134 BEAUTIFY shows cookie values, thanks Vlad 2012-05-28 13:05:30 -05:00
Massimo Di Pierro 54c10e0f97 STRONG helper, thanks Vlad 2012-05-28 13:00:49 -05:00
Massimo Di Pierro 6411045b62 dal connection strigs now allo / in hostnames, thanks Babak 2012-05-28 12:29:19 -05:00
Massimo Di Pierro de07e0dfc1 better bootswatch support in case no css, thanks Paolo 2012-05-27 17:54:20 -05:00
Massimo Di Pierro 2a4c4b86c8 Ukrainian translations, thanks Vladyslav Kozlovskyy 2012-05-27 17:39:39 -05:00
Massimo Di Pierro 8bf47a940b making ics seriliazer more flexible 2012-05-26 22:38:37 -05:00
Massimo Di Pierro 2819285076 fixed bug in serializers, thanks Louis DaPrato 2012-05-26 20:10:27 -05:00
Massimo Di Pierro 400c038555 added bootswatch.css 2012-05-26 17:53:52 -05:00
Massimo Di Pierro 07e61fc00f fixed problem with ics serializer, thanks Amber 2012-05-26 11:15:52 -05:00
Massimo DiPierro 093b3590e9 fixed bug in serializers 2012-05-25 22:29:07 -05:00
Massimo Di Pierro 3582aa2023 fixed better js for bootswatch menus 2012-05-25 15:03:40 -05:00
Massimo Di Pierro 28dffafd3d fixed js for bootswatch menus 2012-05-25 15:02:30 -05:00
Massimo Di Pierro 3a233f6cfa new welcome menu bootswatch friendly, thanks Paolo Caruccio 2012-05-25 14:52:25 -05:00
Massimo Di Pierro 543f6b9606 fixed problem with handle_charref, thanks Cedric Meyer 2012-05-25 10:38:46 -05:00
Massimo Di Pierro 837ed7fb5e new scheduler (not tested yet), thanks Niphlod 2012-05-24 22:31:51 -05:00
Michele Comitini 9ee964165b Merge branch 'master' of github.com:web2py/web2py 2012-05-23 18:12:06 +02:00
Massimo DiPierro 2fa604df3a fixed bug in mail login introduced in recent commit, issue 818, thanks Carlos 2012-05-23 09:28:00 -05:00
Massimo DiPierro 272c0a35e5 added http://web2py.sinaapp.com/, thanks web2py_lover 2012-05-23 09:25:26 -05:00
Massimo DiPierro 7447071cc4 better and centered welcome layout, thanks Chris May 2012-05-22 09:05:39 -05:00
Michele Comitini e87f82f65c Merge branch 'master' of github.com:web2py/web2py 2012-05-22 00:03:14 +02:00
Massimo DiPierro 0ae599a94d better setup-web2py-nginx-uwsgi-ubuntu.sh, issue 816, thanks Orsomannaro 2012-05-21 16:50:03 -05:00
Massimo DiPierro 9c26839d15 fixed bug in smartdict, thanks Jonathan 2012-05-21 10:08:44 -05:00
Massimo DiPierro 0206fa024b db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id)) 2012-05-21 09:55:05 -05:00
Massimo Di Pierro 7e2fbfacac parse_as_rest returns count, thaks Joseph Piron 2012-05-20 10:09:41 -05:00
Massimo Di Pierro ec55c1573b {{super}} equals '' if no parent 2012-05-19 22:35:12 -05:00
Massimo DiPierro 5ce35c1726 fixed 5th parameter of menu does not work on mobiles, issue 805, thanks mweissen 2012-05-19 10:11:55 -05:00
Massimo DiPierro 667396904c use applescript to force slash screen on to, thanks Marc 2012-05-19 10:09:38 -05:00
Massimo DiPierro 1f265ee370 fixed logging issue (807), thanks Marc 2012-05-19 10:07:56 -05:00
Massimo Di Pierro ed354d8646 db.table.field.avg(), issue 803, thanks Ato 2012-05-17 18:14:19 -05:00
Massimo Di Pierro 672f093e15 fixed bug in last commit, thanks Harkirat 2012-05-17 17:52:27 -05:00
Massimo Di Pierro 16ff6cef08 get or create key now defaults to sha512 asn should have all along, thanks Harkirat 2012-05-17 15:56:19 -05:00
Massimo Di Pierro b00eca75af mail.settings.login can be None,False,0,'' 2012-05-17 10:54:17 -05:00
Massimo Di Pierro 60c4a912cd no more class='' but class=None, thanks Jonathan 2012-05-17 09:55:50 -05:00
Massimo DiPierro ce01842e2d disabled copied of logging.conf again, problem with python 2.5 2012-05-16 18:23:18 -05:00
Massimo DiPierro bc929ce463 fixed issue 799, thanks hi21alt 2012-05-16 16:52:09 -05:00
Massimo DiPierro bc8eeb25e3 Sybase Adapter 2012-05-16 16:45:10 -05:00
Michele Comitini b10eca0dcb Merge branch 'master' of github.com:web2py/web2py 2012-05-16 22:40:38 +02:00
Massimo DiPierro 279d275c1c restored copy of logging, works today 2012-05-16 11:15:56 -05:00
Michele Comitini 14d24f496e Simplify the https check logic using request.is_https which is smarter. 2012-05-15 22:38:43 +02:00
Massimo Di Pierro 776f39922e removed copy of logging.conf because default logging.example.conf breaks web2py. 2012-05-15 09:06:31 -05:00
Massimo Di Pierro 3d86a99e55 improved csv does not require id field, issue 795, thanks Dominic Koenig 2012-05-14 14:28:35 -05:00
Massimo Di Pierro bb946b34a8 sys.exit of error on run_system_tests 2012-05-14 14:27:27 -05:00
Massimo Di Pierro 632a8568bb sys.exit(1) of error on run_system_tests 2012-05-14 14:26:34 -05:00
Massimo DiPierro 29a2080772 added comment in Makefile 2012-05-11 21:56:17 -05:00
Massimo DiPierro bddb8ea651 README.markdown 2012-05-11 21:52:26 -05:00
Massimo DiPierro 327ea4e019 Create default logging.conf if it doesn't exist, thanks Marc 2012-05-11 17:41:25 -05:00
Massimo Di Pierro d788830df6 another mongodb improvement 2012-05-11 14:52:21 -05:00
Massimo Di Pierro d73fddc481 2.00.0 release candidate 2012-05-11 08:30:51 -05:00
Massimo Di Pierro 1251313f9c fixed bug in recent widget commit, thanks Gyuris 2012-05-11 08:28:24 -05:00
Massimo Di Pierro d2c37b1d68 Display import errors in the GUI as well as the terminal, issue 789, thanks Marc 2012-05-11 08:26:53 -05:00
Massimo Di Pierro b60c4a3191 better teradata adapter, thanks Andrew Willimott 2012-05-11 08:23:00 -05:00
Massimo Di Pierro d777cde5fc better teradata adapter, thanks Andrew Willimott 2012-05-11 08:14:57 -05:00
Massimo Di Pierro 3bd84e3698 make commit runs tests, let's try.... 2012-05-10 22:36:06 -05:00
Massimo Di Pierro 8ee069be65 gracefully handle if a server is already running on the selected port, thanks Marc 2012-05-10 22:30:45 -05:00
Massimo Di Pierro d85dce1708 fixed rocket ssl issue 787 2012-05-10 22:29:12 -05:00
Massimo Di Pierro b92c4653f1 -S a/c/f, issue 786, thanks Carlos Galindo 2012-05-10 22:24:43 -05:00
Massimo Di Pierro f8b4e40d22 https instead of http on initial startup with certificates, issue 783, thanks shivakumar. 2012-05-10 22:22:27 -05:00
Massimo DiPierro 409ce3f51e web2py.py --run_system_tests, thanks Marc Abramowitz 2012-05-10 18:20:24 -05:00
Massimo DiPierro 827e7985d4 added contrib/imageutils, thanks Bruno and Villas 2012-05-10 18:02:12 -05:00
Massimo DiPierro 323c8ba98e better translation interface, thanks Daniel González Zaballos 2012-05-10 16:30:37 -05:00
Massimo Di Pierro c9570aab55 anothr attempt to fix mongodb adapter 2012-05-10 15:12:29 -05:00
Massimo Di Pierro b5bf585f99 fixed mongo select? perhaps 2012-05-10 08:19:21 -05:00
Massimo Di Pierro 9fb7bc06de fixed another typo in recent mongodb commit 2012-05-07 17:40:26 -05:00
Massimo Di Pierro 292c93658d fixed typo in previous commit 2012-05-07 17:36:10 -05:00
Massimo Di Pierro 6e583abbc2 mongodb fix? 2012-05-07 15:27:32 -05:00
Massimo Di Pierro 533719efb9 reverted change to LI(name) in MENU 2012-05-07 12:18:42 -05:00
Massimo Di Pierro c4fc83c179 fixed bug introduced recently when non-GAE, thanks Dominic Koenig 2012-05-07 08:15:47 -05:00
Massimo Di Pierro 46387d9dd6 better scheduler docs, thanks Michael 2012-05-06 17:32:27 -05:00
Massimo Di Pierro d79a3d8705 preserve exception in custom_import, thanks Mike Amy 2012-05-06 17:29:58 -05:00
Massimo Di Pierro 95e91329a2 added tox.ini, thanks Marc 2012-05-06 17:27:54 -05:00
Massimo Di Pierro 088bb60e17 edits in README.markdown 2012-05-06 17:21:17 -05:00
Massimo Di Pierro 55297ac68b README->README.markdown, thanks msabramo 2012-05-06 17:19:17 -05:00
Massimo Di Pierro ec09c58519 closed github issue 5, thanks MoMaT 2012-05-06 16:05:13 -05:00
Massimo Di Pierro 30eeee1e32 fixed github issue 4, thanks ilvalle 2012-05-06 16:01:10 -05:00
Massimo Di Pierro a836bc6ce6 better backward compatibility in bigint_id=False (default) 2012-05-05 09:01:29 -05:00
Massimo DiPierro 0a826c5239 new bigint type, DAL(...bigint_id=True) works better 2012-05-04 14:01:53 -05:00
Massimo DiPierro 4fd41a4707 portable spatialite import, issue 774, thanks TheBigBamboozle and Denes 2012-05-04 10:47:24 -05:00
Massimo DiPierro 57e586575a better -E -b -L options for scheduler, thanks niphlod 2012-05-04 10:27:05 -05:00
Massimo Di Pierro be86c1e8ea better check for auto-upload 2012-05-03 21:00:41 -05:00
Massimo Di Pierro 712ef6499f add_permission now prevents duplicates 2012-05-03 20:51:54 -05:00
Massimo Di Pierro 838917c148 better gluon/contrib/autolinks.py, no more <embed><iframe> 2012-05-03 19:00:59 -05:00
Massimo Di Pierro a609d93836 better gluon/contrib/autolinks.py (still not sure this is behavior I want) 2012-05-03 18:48:30 -05:00
Massimo Di Pierro b452d0744a better autolinks 2012-05-03 17:56:06 -05:00
Massimo Di Pierro 2d2fdb5743 better gluon/contrib/autolinks.py 2012-05-03 11:54:55 -05:00
Massimo Di Pierro 3afeeeb7c5 better gluon/contrib/autolinks.py 2012-05-03 11:14:21 -05:00
Massimo Di Pierro 089d76a613 gluon/contrib/autolinks.py 2012-05-03 10:04:57 -05:00
Massimo Di Pierro bbccff76f8 DAL(...,bigint_id=True) 2012-05-02 21:57:24 -05:00
Massimo Di Pierro d6178047eb removed as in cache.py 2012-05-02 17:26:14 -05:00
Massimo Di Pierro 2bd0f0d90d better title in layout, bootstrap compatible, thanks Omi 2012-05-02 17:14:18 -05:00
Massimo Di Pierro f50907f109 db._legacyid=True 2012-05-02 16:41:56 -05:00
Massimo Di Pierro 58f070949c fixed onvalidation for SQLFORM, issue 778, thanks Carlos Galindo 2012-05-02 16:08:40 -05:00
Massimo Di Pierro eef199582a pgp patch, issue 776, thanks szimszon 2012-05-02 16:03:52 -05:00
Massimo Di Pierro 37e6826371 fixed newcron path escaping, issue 772, thanks shikasta.net 2012-05-02 16:00:20 -05:00
Massimo Di Pierro c9df8f007d scripts/setup-web2py-fedora.sh, thanks ykessler 2012-05-02 15:58:10 -05:00
Massimo Di Pierro 92c374be8a partially accepted patch from issue 767, improved populate, thanks simonm3 2012-05-02 15:49:07 -05:00
Massimo Di Pierro f356063e90 fixed locking issue with cache disk, thanks gypsy 2012-05-02 15:47:07 -05:00
Massimo Di Pierro 3ca82dae7f db.table.insert(uploadfield=...), ... can not be file or FieldStorage, issue 570 2012-05-02 14:28:13 -05:00
Massimo Di Pierro 0d04e5f68b translate in IS_STRONG, issue 747 partially fixed 2012-05-02 14:12:54 -05:00
Massimo Di Pierro 62dff4c955 new button in user.html 2012-04-30 15:11:39 -05:00
Massimo Di Pierro 3a2c0f8b93 form.add_button(value,link) 2012-04-30 13:45:29 -05:00
Massimo Di Pierro 139845cf60 request.args(0,default=0, cast=int, url_onerror=URL(...)), thanks Anthony 2012-04-30 11:39:37 -05:00
Massimo Di Pierro 5aaa8bde77 request.intargs(i,default,url_onerror=URL(...)) 2012-04-29 18:51:04 -05:00
Massimo Di Pierro 67b05a140e fixed + after lists, thanks Niphlod 2012-04-24 08:39:51 -05:00
Massimo Di Pierro abb0114f94 fixed Oracle decode problem, thanks Daniel Haag 2012-04-24 08:38:13 -05:00
Massimo Di Pierro cc8a946e78 fixed scheduler rollback typo, thanks Niphlod 2012-04-23 11:28:33 -05:00
Massimo Di Pierro ba4565bae3 catching EOFError in admin 2012-04-22 20:27:14 -05:00
Massimo Di Pierro fb8da0f51c multi manager support in multi user mode 2012-04-22 20:19:47 -05:00
Massimo Di Pierro e574daa490 fixed oracle issue 764, thanks adesantoasman 2012-04-21 12:19:48 -05:00
Massimo Di Pierro 7bdb3895e2 masking password, , issue 761, thanks jlojunior 2012-04-21 12:17:42 -05:00
Massimo Di Pierro ac44f2bd00 id and reference now defaults to BIGINT when possible but will not migrate 2012-04-21 12:10:36 -05:00
Massimo Di Pierro 897e86c3bb Issue 756, fixed status code for down for maintenance, thanks Chris 2012-04-21 11:37:35 -05:00
Massimo Di Pierro f17d4303b5 fixed uploads in GoogleSQLAdapter, thanks Matt, issue 746 2012-04-21 11:26:15 -05:00
Massimo Di Pierro 11c0b934bf temp fix for web2py/yJtJRTUVJTg 2012-04-21 11:10:26 -05:00
Massimo Di Pierro 091a21f769 checking 2012-04-21 11:04:23 -05:00
Massimo Di Pierro 09db0843f7 shoten regex, thanks Jonathan; option to disabled latex for use with MathJax 2012-04-20 10:08:31 -05:00
Massimo Di Pierro 1991189e71 simpler @{} support 2012-04-19 22:51:08 -05:00
Massimo Di Pierro 0109ab141f simpler @{} support 2012-04-19 22:47:52 -05:00
Massimo Di Pierro f7ecbc2dab better markmin, video, audio, embed, iframe support 2012-04-19 22:34:36 -05:00
Massimo Di Pierro 5a1cdb4e03 no twice no record found 2012-04-19 11:12:25 -05:00
Massimo Di Pierro ea6a3b65fd separator in grid headers 2012-04-19 11:09:08 -05:00
Massimo Di Pierro 6bdc56a351 fixed mergin in grid 2012-04-19 11:04:08 -05:00
Massimo Di Pierro da6bd89383 welcome has bootstrap, and cleaner grid 2012-04-19 10:53:04 -05:00
Massimo Di Pierro 0da6403d86 grid.create_form 2012-04-18 21:20:13 -05:00
Massimo Di Pierro 05ba91cde5 better response.files behavior 2012-04-18 17:31:10 -05:00
Massimo Di Pierro 04a82409fe fixed accessible_query 2012-04-17 21:22:11 -05:00
Massimo Di Pierro ba64a96eba has_permission applies to everybody 2012-04-17 15:29:17 -05:00
Massimo Di Pierro 886ca03a18 auth.settings.everybody_group_id 2012-04-17 15:10:33 -05:00
Massimo Di Pierro 97d733a25f customizable personal group names 2012-04-17 12:32:38 -05:00
Massimo Di Pierro acd9fa0951 gunicorn? 2012-04-17 10:24:57 -05:00
Massimo Di Pierro 9c46c107f3 fixed pickleablestorage import 2012-04-17 10:02:23 -05:00
Massimo Di Pierro e389f4ef9e LENGTH fixed in MSSQL, thanks Denes 2012-04-17 09:55:50 -05:00
Massimo Di Pierro 73184a1efd gnuicorn -> gunicorn 2012-04-16 08:16:38 -05:00
Massimo Di Pierro 21a659ef85 fixed typo in gluon tools 2012-04-15 09:55:49 -05:00
Massimo Di Pierro 8e643026b2 reconnect commits first 2012-04-12 09:13:04 -05:00
Massimo Di Pierro c172a50d38 db._adapter.reconnect() 2012-04-12 08:26:55 -05:00
Massimo Di Pierro b973db10ca fixed some issue in grid with grid.create_form 2012-04-09 15:57:58 -05:00
Massimo Di Pierro 84b07ad923 fixed datetime-parsing 2012-04-09 09:21:43 -05:00
Massimo Di Pierro f52268ba3c fixed IS_EMPTY_OR validator, thanks Adam Bryzak 2012-04-09 08:27:25 -05:00
Adam Bryzak 81c36b1d26 Handle empty requires list when wrapping db.table.field.requires in IS_EMPTY_OR 2012-04-09 23:22:15 +10:00
942 changed files with 88806 additions and 68374 deletions
+7 -2
View File
@@ -49,8 +49,13 @@ applications/*/errors/*
applications/*/cache/*
applications/*/uploads/*
applications/*/*.py[oc]
applications/*/static/temp
applications/*/progress.log
applications/examples/static/epydoc
applications/examples/static/sphinx
applications/admin/cron/cron.master
HOWTO-web2py-devel
*.sublime-project
*.sublime-workspace
.idea/*
site-packages/
+3
View File
@@ -0,0 +1,3 @@
[submodule "gluon/packages/dal"]
path = gluon/packages/dal
url = https://github.com/web2py/pydal.git
+30
View File
@@ -0,0 +1,30 @@
language: python
sudo: false
cache:
directories:
- $HOME/.pip-cache/
python:
- '2.6'
- '2.7'
- 'pypy'
install:
- pip install -e .
before_script:
- if [[ $TRAVIS_PYTHON_VERSION == '2.6' ]]; then pip install --download-cache $HOME/.pip-cache unittest2; fi
- if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install --download-cache $HOME/.pip-cache coverage; fi;
- if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install --download-cache $HOME/.pip-cache codecov; fi
script: export COVERAGE_PROCESS_START=gluon/tests/coverage.ini; ./web2py.py --run_system_tests --with_coverage
after_success:
- if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then coverage combine; fi
- if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then codecov; fi
notifications:
email: true
+6
View File
@@ -0,0 +1,6 @@
web2py is an open source full-stack framework for agile development
of secure database-driven web-based applications, written and programmable in
Python.
Created by Massimo Di Pierro <mdipierro@cs.depaul.edu>
+330 -19
View File
@@ -1,4 +1,315 @@
## 2.00.1
## 2.12.1
- security fix: Validate for open redirect everywhere, not just in login()
- allow to pack invidual apps and selected files as packed exe files
- allow bulk user registration with default bulk_register_enabled=False
- allow unsorted multiword query in grid search
- better MongoDB support with newer pyDAL
- enable <app>/appadmin/manage/auth by default for user admin
- allow mail.settings.server='logging:filename' to log emails to a file
- better caching logic
- fixed order of confirm-password field
- TLS support in ldap
- prettydate can do UTC
- jquery 1.11.3
- bootstrap 3.3.5
- moved to codecov and enabled appveyor
- many bug fixes
## 2.11.1
- Many small but significative improvements and bug fixes
## 2.10.1-2.10.2
- welcome app defaults to Bootstrap 3
- DAL -> pyDAL (thanks Giovanni, Niphlod, Paolo)
- new modular dal
- fixed problems with GAE support
- moved to full NDB support
- improved connection pooling logic
- optional cache.ram.max_ram_utilization = 90 (experimental)
- improved cache.disk logic (thanks Niphlod and Leonel)
- lots of pep8 improvements, thanks Richard
- added support for email attchments when auth.settings.server='gae'
- fixed app.yaml.example for GAE
- fixed many small issues
- many many more tests (thanks Giovanni, Niphlod, Paolo)
- upgrading static libraries (bootstrap, codemirror, jquery, etc)
## 2.9.12
- Tornado HTTPS support, thanks Diego
- Modular DAL, thanks Giovanni
- Added coverage support, thanks Niphlod
- More tests, thanks Niphlod and Paolo Valleri
- Added support for show_if in readonly sqlform, thanks Paolo
- Improved scheduler, thanks Niphlod
- Email timeout support
- Made web2py's custom_import work with circular imports, thanks Jack Kuan
- Added Portuguese, Catalan, and Burmese translations
- Allow map_hyphen to work for application names, thanks Tim Nyborg
- New module appconfig.py, thanks Niphlod
- Added geospatial support to Teradata adaptor, thanks Andrew Willimott
- Many bug fixes
## 2.9.6 - 2.9.10
- fixed support of GAE + SQL
- fixed a typo in the license of some login_methods code. It is now LGPL consistently with the rest of the web2py code. This change applied to all previous web2py versions.
- support for SAML2 (with pysaml2)
- Sphinx documentation (thanks Niphlod)
- improved scheduler (thanks Niphlod)
- increased security
- better cache.disk (thanks Leonel)
- sessions are stored in subfolders for speed
- postgres support for "INSERT ... RETURING ..."
- ldap support for Certificate Authority (thanks Maggs and Shane)
- improved support for S/Mime X.509 (thanks Gyuris)
- better welcome app
- support for Collection+JSON Hypermedia API (RESTful self documenting API)
- jQuery 1.11
- codemirror 4.0.3
- markdown2 2.2.3
- memcache 1.53
- support for the new janrain API
- new "web2py.py -G config" to make GAE configuration easier
- many small bug fixes
## 2.9.1 - 2.9.5
- many small but important bug fixes
- jquery 1.11
- codemirror 3.21, thanks Paolo Valleri
- fixed security issue with sessions in database, thanks Nathan Humphreys
- fixed security issue with persistant data in session, thanks Kiran
- fixed security issue with redirect after expired login, thanks André Kablu
- cleaner DAL and rname integration, thanks niphlod and Michele
- added mongodb and imap tests for dal, thanks Alan
- NoSQL dal tests, thanks Alan
- better docstrings, thanks Niphlod
- allow URL(...,language=...) with parametric router, thanks Jonathan
- allow non-expiration of gae-memcache, thanks crimsoncantab
- MARKMIN(...,_class='...'), thanks Luca
- better transliteration in building slugs
- autolink emails
- new Janrain API, thanks PeterQ2
- enable admin app for GAE (experimental), thanks Alan
- many bug fixes
- invalidate function in web2py.js, thanks Paolo
- DAL(...,adapter_args=dict(engine='MyISAM'))
- todolist panel in admin editor, thanks Paolo Valleri
## 2.8.1
- no more winservice (use nssm instead)
- better imap support in DAL
- db().select().as_tree()
- bootstrap 2.3.2
- codemirror 3.19
- improved mongoDB support, thanks Alan
- support for wiki custom render function
- Wiki(...groups=['x','y']) allows bypassing default permissions
- fixed websocket_messaging.py to support newer Tornado
- NDB support for GAE, thanks Quint
- fixed major concurrecy issue with MEMDB
- blocked generic.jsonp for security reasons
- many bug fixes, thanks Niphlod, Michele, Anthony, Tim, and many others.
## 2.7.1 - 2.7.4
- jQuery 1.10.2
- codemirror 3.18, thanks Paolo
- namespaces in T("Welcome", ns="namespace"), thanks jamarcer (experimental)
- more Auth options, thanks Charles
- more admin configuration, thanks Roberto
- new gluon.contrib.strip.StripeForm for PCI compliant payments
- webclient can hendle lists, thanks Yair
- allows SQLFORM.grid(...,ignore_common_filters=True)
- more translations, thanks Vladyslav
- better session2trash.py, works with scheduler, thanks niphlod
- fixed problem with ENABLED/DISABLED
- many bug fixes, thanks niphlod, michele, anthony, roberto, tim, and others
## 2.6.1 - 2.6.4
Attention all users: For pre 2.6 applications to work with web2py >=2.6, you must copy static/js/web2py.js, controllers/appadmin.py, and views/appadmin.html from the welcome app to your own apps (all of them).
Attention production users: The updated handlers and examples are in handlers/ and examples/. The updated ones will not override the existing ones. To use the new ones it is not sufficient to upgrade web2py, you also need to copy the desired handler/example in the root web2py/ folder.
Attention MySQL users: The length of string fields changed from 255 to 512 bytes. If you have migrations enabled this will trigger a large migration. To prevent it, first set migrate_enabled=False, upgrade, check everything is ok, then add length=255 to your string Fields, then re-enable migrations with migrate_enabled=True if needed.
- better directory structure: handlers/ extras/ examples/
- better MongoDb support, thanks Alan
- better Admin editor interface, thanks Paolo, Roberto (codemirror 3), and Lightdot
- better layout.html and web2py_bootstrap.css, thanks Paolo
- refactored web2py.js makes code more readable, thanks Niphlod
- compute fields can depend on other compute(d) fields
- more functions in appadmin (/manage/auth), thanks Anthony
- support for CAST in SQL generation
- new API jQuery('#component').reload()
- new API rows.render()
- new API table.field.referent, table._references
- new API db(...).validate_and_update(...)
- new API Wiki(..., force_render=True) renders the page source again instead of using cached
- Wiki now automatically parses named component arguments @{f:a=1,b='twp',c=variable}
- auth.get_or_create_user(login=False)
- auth = Auth(crsf_protection = False) prevents creating sessions in login/register forms.
- enable multiple renderers in wiki, thanks Alan
- log messages from Auth are no longer translated (for speed and readability)
- update jQuery mobile to 1.3.1
- reduced memory footprint by conditionally loading Tk
- faster pbkdf2 uses OpenSSL, thanks Michele
- many speed improvements, thanks Michele
- better session logic, prevents false positive when detecting session changes.
- scripts/import_static.py converts a static site to a web2py app (experimental)
- support for new http error code 451
- profiler saves dump in dir, thanks Niphlod
- upgraded pyfpdf, thanks Mariano
- gluon/contrib/pdfinvoice.py for generating PDF invoices (assumes reportlab)
- no more double submission of forms (even without crsf protection), thanks Niphlod
- speedup for define_table, thanks Michele
- settings.cfg to admin, thanks Paolo
- many bugs fixed, thanks Niphlod, Michele, Roberto, Jonathan, and many others
- 2.6,3 specifically fixed a possible DoS vulnerability
- 2.6.4 specifically fixes major problem introduced in 2.6.1 with session logic
## 2.5.2
- Web editor with tabs, thanks ilvalle
## 2.5.1
- New style virtual fields in grid
- Conditional fields (experimental) ``db.table.field.show_if = db.table.otherfield==True`` or ``db.table.field.show_if = db.table.otherfiel.contains(values)``
- auth.settings.manager_group_role="manager" enables http://.../app/appadmin/auth_manage and http://.../app/appadmin/manage for members of the "manager" group. (also experimental)
- support for POST variables in DELETE
- Fixed memory leak when using the TAG helper
## 2.4.7
- pypy support, thanks Niphlod
- more bug fixes
- ...
## 2.4.6
- better tests
- new ANY_OF and IS_IPV6 validators
- new custom save option
- many small bug fixes
## 2.4.5
- travis.ci integration (thanks Marc Abramowitz and Niphlod). Passes all tests (thanks Niplod).
- IS_DATE and IS_DATETIME can specify timezone
## 2.4.1- 2.4.3
- 2D GEO API: geoPoint, getLine, geoPolygon
- support for 'json' field type in DAL
- schema export with db.as_json/as_xml, thanks Alan
- graph representation of models
- support for semantic versioning
- new bootstrap based admin, thanks Paolo
- improved scheduler (and change in scheduler field names), thanks Niphlod
- graphviz support added to adm, thanks Jose
- on_failure in grid
- db.table.field.abs()
- better wiki
- geoPoint, getLine, geoPolygon
- better reporting of 500 ajax errors
- better grid
- improved/fixed mongodb support
- improved parse_as_rest(patterns=...), thanks Denes
- improved IMAP DAL support, thanks Alan
- improved security when cookies in sessions
- Row.as_xml, as_json, as_dict, as_yaml thanks Alan
- smarter custom_import
- setup-ubuntu-12-04-redmine-unicorn-web2py-uwsgi-nginx.sh
- added support for motor and pulsar servers, thanks Niphlod
- added json-rpc2 support
- added pypyodbc.py driver
- allow auth.settings.ondelete='CASCADE'
- new syntax IS_EXPR(lambda value: ...
- using google for QR codes (although Graph API will be deprecated in 2015)
- upgraded fpdf to 1.7.1
- bug fixes (including issues with calendar.js and archive tables)
## 2.3.1 - 2.3.2
- new virtual fields syntax:
``db.define_table('person',Field('name'),Field.Virtual('namey',lambda row: row.person.name+'y'))``
- db.thing(name='Cohen',_orderby=db.thing.name), thanks Yair
- made many modules Python 3.3 friendly (compile but not tested)
- better welcome css, thanks Paolo
- jQuery 1.8.3
- Bootstrap 2.2.2
- Modernizr 2.6.2 (custom full options)
- integration with analyitics.js (0.2.0)
- better scheduler, thanks Niphlod
- page and media preview in wiki, thanks Niphlod
- create new auth.wiki page from slug model, thanks Nico
- conditional menus with auth.wiki(menugroups=['wiki_editor'])
- better security in grid/smartgrid
- allow LOADing multiple grids, thanks Niphlod
- auth.settings.login_onfail, thanks Yair
- better handling of session files for speed
- added heroku support (experimental)
- added rocket support for IPV6, thanks Chirs Winebrinner
- more customizable menus with MENU(li_first, li_last..)
- added support for paymentech (gluon/contrib/paymentech.py)
- fixed broken cron
- fixed possible xss with share.js
- many bug fixes. Closed more than 50 tickets since 2.2.1
## 2.2.1
- session.connect(cookie_key='secret', compression_level=9) stores sessions in cookies
- T.is_writable = False prevents T from dynamically updating langauge files
- all code is more PEP8 compliant
- better custom_importer behaviour (now works per app, is smalled and faster)
- fixed some bugs
- upgraded feedparser.py and rss2.py
- codemirror has autoresize
## 2.1.0
- overall faster web2py
- when apps are deleted, a w2p copy is left in deposit folder
- change in cron (it is now disabled by default). removed -N option and introduced -Y.
- faster web2py_uuid() and request initialization logic, thanks Michele
- static asset management, thanks Niphlod
- improved mobile admin
- request.requires_https and Auth(secure=True), thanks Yarin and Niphlod
- better custom_import (works per app and is faster), thanks Michele
- redis_sesssion.py, thanks Niphlod
- allow entropy computation in IS_STRONG and web2py.js, thanks Jonathan and Niphlod
- fixed many aith.wiki problems
- support for auth.wiki(render='html')
- better welcome layout, thanks Paolo
- db.define_table(...,redefine=True)
- DAL, Row, and Rows object can now be pickled/unpickled, thanks to zombie DAL.
- admin uses codemirror
- allow syntax auth = Auth(db).define_tables()
- better auth.wiki with preview, thanks Alan
- better auth.impersonate, thanks Alan
- upgraded jQuery 1.8
- upgraded Bootstrap 2.1
- fixed problem with dropbox_account.py
- many fixes to cache.ram, cache.disk, memcache and gae_memcache
- cache.with_prefix(cache.ram,'prefix')
- db.table.field.epoch() counts seconds from epoch
- DAL support for SQL CASE, example: db().select(...query.case('true','false))
- DAL(...,do_connect=False) allows faking connections
- DAL(...,auto_import=True) now retieves some fiel attributes
- mail can specify a sender: mail.send(...,sender='Mr X <%(sender)s>')
- renamed gluon/contrib/comet_messaging.py -> gluon/contrib/websocket_messaging.py
## 2.0.1-11
### DAL Improvements
@@ -23,6 +334,7 @@
- Support for Google App Engine projections, thanks Christian
- Field(... 'upload', default=path) now accepts a path to a local file as default value, if user does not upload a file. Relative path looks inside current application folder, thanks Marin
- executesql(...,fields=,columns=) allows parsing of results in Rows, thanks Anthony
- Rows.find(lambda row: bool(), limitby=(0,1))
### Auth improvements
@@ -49,7 +361,7 @@
- increased security in admin against CSRF
- experimental Git integration
- experimental OpenShift deployment
- multi-language pluralization engine
- multi-language pluralization engine
- ace text web editor in admin
- Ukrainian translations, thanks Vladyslav Kozlovskyy
- Romanian translation for welcome, thanks ionel
@@ -78,7 +390,7 @@
TERMINATE (complete the current task and then die)
KILL (kill ASAP)
### Other Improvements
### Other Improvements
- gluon/contrib/webclient.py makes it easy to create functional tests for app
- DIV(..).elements(...replace=...), thanks Anthony
@@ -118,7 +430,7 @@
- db = DAL('mongodb://127.0.0.1:5984/db') (experimental, thanks Mark Breedveld)
- db = DAL('cubrid') (experimental)
- db = DAL('postgres:pg8000:...') and DAL('postgres:psycopg2:...')
- pg8000 now ships with web2py (thanks Mariano)
- pg8000 now ships with web2py (thanks Mariano)
- reponse.delimiters = ('\\[','\\]') (thanks Denes)
- auth.user_groups stores user groups
- auth.is_impersonating()
@@ -143,7 +455,7 @@ fixed a SQLCustomField bug
## 1.99.3
This is a major revision in peparation for web2py 2.0
- moved to GitHub and abandoned Lanchpad
- moved to GitHub and abandoned Lanchpad
- new web site layout, thanks Anthony
- new welcome app using skeleton, thanks Anthony
- jQuery 1.7.1
@@ -248,7 +560,7 @@ This is a major revision in peparation for web2py 2.0
## 1.96.1
- "from gluon import *" imports in every python module a web2py environment (A, DIV,..SQLFORM, DAL, Field,...) including current.request, current.response, current.session, current.T, current.cache, thanks Jonathan.
- conditional models in
- conditional models in
models/<controller>/a.py and models/<controller>/<function>/a.py
- from mymodule import *, looks for mymodule in applications/thisapp/modules first and then in sys.path. No more need for local_import. Thanks Pierre.
- usage of generic.* views is - by default - restricted to localhost for security. This can be changed in a granular way with: response.generic_patterns=['*']. This is a slight change of behavior for new app but a major security fix.
@@ -280,7 +592,7 @@ This is a major revision in peparation for web2py 2.0
- messages in validators have default internationalization
- No more Auth(globals(),db), just Auth(db). Same for Crud and Service.
- scripts/access.wsgi allows apache+mod_wsgi to delegate authentication of any URL to any web2py app
- json now supports T(...)
- json now supports T(...)
- scripts/setup-web2py-nginx-uwsgi-ubuntu.sh
- web2py HTTP responses now set: "X-Powered-By: web2py", thanks Bruno
- mostly fixed generic.pdf. You can view any page in PDF if you have pdflatex installed or if your html follows the pyfpdf convention.
@@ -457,7 +769,7 @@ This is a major revision in peparation for web2py 2.0
recalled
## 1.86.1-1.86.3
- markmin2latex
- markmin2latex
- markmin2pdf
- fixed some bugs
- Storage getfirst, getlast, getall by Kevin and Nathan
@@ -487,7 +799,7 @@ recalled
- Polymmodel support on GAE
- Experimental ListWidget
- moved DAL and routes to thread.local (thanks Jonathan, again)
- scripts/extract_mysql_models.py, thanks Falko Krause and Ron McOuat
- scripts/extract_mysql_models.py, thanks Falko Krause and Ron McOuat
- scripts/dbsessions2trash.py, thanks Scott
## 1.83.2
@@ -589,7 +901,7 @@ recalled
- automatic database retry connect when pooling and lost connections
- OPTGROUP helper, thanks Iceberg
- web2py_ajax_trap captures all form submissions, thank you Skiros
- multicolumn checkwidget and arbitrary chars in multiple is_in_set, thanks hy
- multicolumn checkwidget and arbitrary chars in multiple is_in_set, thanks hy
- Québécois for welcome, thanks Chris
- crud.search(), thanks Mr Freeze
- DAL(...migrate,fake_migrate), thanks Thadeus
@@ -637,7 +949,7 @@ recalled
- fix in delete for GAE
- auth.settings.login_captcha and auth.settings.register_captcha
- crud.settings.create_captcha and crud.settings.update_captcha
- automatic update button in admin
- automatic update button in admin
## 1.76.1
- editarea 0.8.2 + zencoding
@@ -731,7 +1043,7 @@ recalled
- New get_vars and post_vars compatible in 2.5 and 2.6 (thanks Tim)
- Major rewrite of gql.py extends DAL syntax on GAE
- No more *.w2p, welcome.w2p is create automatically, base apps are always upgraded
- export_to_csv(delimiter = ',', quotechar = '"', quoting = csv.QUOTE_MINIMAL), thanks Thadeus
- export_to_csv(delimiter = ',', quotechar = '"', quoting = csv.QUOTE_MINIMAL), thanks Thadeus
## 1.73.1
- Fixed problem with storage and comparison of Row objects
@@ -942,7 +1254,7 @@ recalled
- fixing lots of small bugs with tool and languages
- jquery.1.3.2
##
##
- One more feature in trunk....
@@ -976,7 +1288,7 @@ recalled
- passes all unittest but test_rewite (not sure it should pass that one)
- Lots of patches from Fran Boone (about tools) and Dougla Soares de Andarde (Python 2.6 compliance, user use of hashlib instead of md5, new markdown2.py)
- db.define_table('mytable',db.Field('somefield'),timestamp)
- db.define_table('mytable',db.Field('somefield'),timestamp)
Example:
``
timestamp=SQLTable(None,'timestamp',
@@ -1145,7 +1457,7 @@ db.define_table('cirlce',
- fixed a bug in sql belongs
## web2py 1.20
- new IFRAME, LABEL, FIELDSET validators
- new IFRAME, LABEL, FIELDSET validators
- P(..cr2br=True) option
- FORM and SQLFORM have hidden=dict(...) option for REST
- testing framework.
@@ -1179,7 +1491,7 @@ db.define_table('cirlce',
- Although we are not infringing the trademark since this is a non-commercial
- product we could have run into some issues. So we have been professional
- and changed the name to web2py.
- Now SQLFORMs and FORM can have a formname and multiple forms are allowed
- Now SQLFORMs and FORM can have a formname and multiple forms are allowed
- per page.
- A new examples/default/index page.
- web2py.py instead of runme.py
@@ -1207,7 +1519,7 @@ db.define_table('cirlce',
- New applications/examples/controller/global.py controller for docs.
## Gluon v1.12
- in sql.py
- in sql.py
- handles NULL values properly
- unicode support (data always stored in utf-8)
- 'date' -> datetime.date ,'time' -> datetime.time, 'datetime' -> datetime.datetime, 'boolean' -> True/False
@@ -1273,7 +1585,7 @@ db.define_table('cirlce',
- bug in sqlhtml with JOINS queries
## EWF v1.7 -> Gluon v1.0
- Name change
- Name change
- Improved layout.html
## EWF v1.6 -> v1.7
@@ -1284,4 +1596,3 @@ db.define_table('cirlce',
## EWF v1.5 -> v1.6 (2007)
- load and save .py in ascii, avoids problem with LF+CR on windows
- added path.join in compileapp, fixed problem with Windows compileapp
+1 -1
View File
@@ -3,7 +3,7 @@
Web2py is Licensed under the LGPL license version 3
(http://www.gnu.org/licenses/lgpl.html)
Copyrighted (c) by Massimo Di Pierro (2007-2011)
Copyrighted (c) by Massimo Di Pierro (2007-2013)
### On Commercial Redistribution
+45 -51
View File
@@ -1,11 +1,11 @@
all:
echo "The Makefile is used to build the distribution."
echo "In order to run web2py you do not need to make anything."
echo "just run web2py.py"
@echo "The Makefile is used to build the distribution."
@echo "In order to run web2py you do not need to make anything."
@echo "just run web2py.py"
clean:
rm -f httpserver.log
rm -f parameters*.py
rm -f -r applications/*/compiled
rm -f -r applications/*/compiled
find ./ -name '*~' -exec rm -f {} \;
find ./ -name '*.orig' -exec rm -f {} \;
find ./ -name '*.rej' -exec rm -f {} \;
@@ -17,32 +17,35 @@ clean:
find ./applications/examples/ -name '.*' -exec rm -f {} \;
find ./applications/welcome/ -name '.*' -exec rm -f {} \;
find ./ -name '*.pyc' -exec rm -f {} \;
epydoc:
### build epydoc
rm -f -r applications/examples/static/epydoc/
epydoc --config epydoc.conf
cp applications/examples/static/title.png applications/examples/static/epydoc
tests:
python web2py.py --run_system_tests
coverage:
coverage erase --rcfile=gluon/tests/coverage.ini
export COVERAGE_PROCESS_START=gluon/tests/coverage.ini
python web2py.py --run_system_tests --with_coverage
coverage combine --rcfile=gluon/tests/coverage.ini
sleep 1
coverage html --rcfile=gluon/tests/coverage.ini
update:
wget -O gluon/contrib/feedparser.py http://feedparser.googlecode.com/svn/trunk/feedparser/feedparser.py
wget -O gluon/contrib/simplejsonrpc.py http://rad2py.googlecode.com/hg/ide2py/simplejsonrpc.py
echo "remember that pymysql was tweaked"
src:
echo 'Version 2.0.3 ('`date +%Y-%m-%d\ %H:%M:%S`') stable' > VERSION
### Use semantic versioning
echo 'Version 2.12.2-stable+timestamp.'`date +%Y.%m.%d.%H.%M.%S` > VERSION
### rm -f all junk files
make clean
### clean up baisc apps
rm -f routes.py
rm -f applications/*/sessions/*
rm -f applications/*/errors/* | echo 'too many files'
rm -f applications/*/cache/*
rm -f applications/admin/databases/*
rm -f applications/welcome/databases/*
rm -f applications/examples/databases/*
rm -f applications/admin/uploads/*
rm -f applications/welcome/uploads/*
rm -f applications/examples/uploads/*
rm -rf applications/*/sessions/*
rm -rf applications/*/errors/* | echo 'too many files'
rm -rf applications/*/cache/*
rm -rf applications/admin/databases/*
rm -rf applications/welcome/databases/*
rm -rf applications/examples/databases/*
rm -rf applications/admin/uploads/*
rm -rf applications/welcome/uploads/*
rm -rf applications/examples/uploads/*
### make welcome layout and appadmin the default
cp applications/welcome/views/appadmin.html applications/admin/views
cp applications/welcome/views/appadmin.html applications/examples/views
@@ -51,81 +54,72 @@ src:
### build web2py_src.zip
echo '' > NEWINSTALL
mv web2py_src.zip web2py_src_old.zip | echo 'no old'
cd ..; zip -r web2py/web2py_src.zip web2py/gluon/*.py web2py/gluon/contrib/* web2py/splashlogo.gif web2py/*.py web2py/README.markdown web2py/LICENSE web2py/CHANGELOG web2py/NEWINSTALL web2py/VERSION web2py/Makefile web2py/epydoc.css web2py/epydoc.conf web2py/app.example.yaml web2py/logging.example.conf web2py_exe.conf web2py/queue.example.yaml MANIFEST.in w2p_apps w2p_clone w2p_run startweb2py web2py/scripts/*.sh web2py/scripts/*.py web2py/applications/admin web2py/applications/examples/ web2py/applications/welcome web2py/applications/__init__.py web2py/site-packages/__init__.py web2py/gluon/tests/*.sh web2py/gluon/tests/*.py
cd ..; zip -r web2py/web2py_src.zip web2py/web2py.py web2py/anyserver.py web2py/gluon/* web2py/extras/* web2py/handlers/* web2py/examples/* web2py/README.markdown web2py/LICENSE web2py/CHANGELOG web2py/NEWINSTALL web2py/VERSION web2py/MANIFEST.in web2py/scripts/*.sh web2py/scripts/*.py web2py/applications/admin web2py/applications/examples/ web2py/applications/welcome web2py/applications/__init__.py web2py/site-packages/__init__.py web2py/gluon/tests/*.sh web2py/gluon/tests/*.py
mdp:
make epydoc
make src
make app
make win
app:
echo 'did you uncomment import_all in gluon/main.py?'
python2.5 -c 'import compileall; compileall.compile_dir("gluon/")'
python2.7 -c 'import compileall; compileall.compile_dir("gluon/")'
#python web2py.py -S welcome -R __exit__.py
#cd ../web2py_osx/site-packages/; unzip ../site-packages.zip
find gluon -path '*.pyc' -exec cp {} ../web2py_osx/site-packages/{} \;
cd ../web2py_osx/site-packages/; zip -r ../site-packages.zip *
mv ../web2py_osx/site-packages.zip ../web2py_osx/web2py/web2py.app/Contents/Resources/lib/python2.5
#find gluon -path '*.pyc' -exec cp {} ../web2py_osx/site-packages/{} \;
#cd ../web2py_osx/site-packages/; zip -r ../site-packages.zip *
cp ../web2py_osx/site-packages.zip ../web2py_osx/web2py/web2py.app/Contents/Resources/lib/python2.7
find gluon -path '*.py' -exec cp -r --parents {} ../web2py_osx/web2py/web2py.app/Contents/Resources/ \;
cp README.markdown ../web2py_osx/web2py/web2py.app/Contents/Resources
cp NEWINSTALL ../web2py_osx/web2py/web2py.app/Contents/Resources
cp LICENSE ../web2py_osx/web2py/web2py.app/Contents/Resources
cp VERSION ../web2py_osx/web2py/web2py.app/Contents/Resources
cp CHANGELOG ../web2py_osx/web2py/web2py.app/Contents/Resources
cp splashlogo.gif ../web2py_osx/web2py/web2py.app/Contents/Resources
cp options_std.py ../web2py_osx/web2py/web2py.app/Contents/Resources
cp routes.example.py ../web2py_osx/web2py/web2py.app/Contents/Resources
cp router.example.py ../web2py_osx/web2py/web2py.app/Contents/Resources
cp app.example.yaml ../web2py_osx/web2py/web2py.app/Contents/Resources
cp queue.example.yaml ../web2py_osx/web2py/web2py.app/Contents/Resources
cp -r extras ../web2py_osx/web2py/web2py.app/Contents/Resources
cp -r examples ../web2py_osx/web2py/web2py.app/Contents/Resources
cp -r applications/admin ../web2py_osx/web2py/web2py.app/Contents/Resources/applications
cp -r applications/welcome ../web2py_osx/web2py/web2py.app/Contents/Resources/applications
cp -r applications/examples ../web2py_osx/web2py/web2py.app/Contents/Resources/applications
cp applications/__init__.py ../web2py_osx/web2py/web2py.app/Contents/Resources/applications
cd ../web2py_osx; zip -r web2py_osx.zip web2py
mv ../web2py_osx/web2py_osx.zip .
win:
echo 'did you uncomment import_all in gluon/main.py?'
python2.7 -c 'import compileall; compileall.compile_dir("gluon/")'
#cd ../web2py_win/library/; unzip ../library.zip
find gluon -path '*.pyc' -exec cp {} ../web2py_win/library/{} \;
cd ../web2py_win/library/; zip -r ../library.zip *
mv ../web2py_win/library.zip ../web2py_win/web2py
#cd ../web2py_win/library/; zip -r ../library.zip *
cp ../web2py_win/library.zip ../web2py_win/web2py
find gluon -path '*.py' -exec cp -r --parents {} ../web2py_win/web2py/ \;
cp README.markdown ../web2py_win/web2py/
cp NEWINSTALL ../web2py_win/web2py/
cp LICENSE ../web2py_win/web2py/
cp VERSION ../web2py_win/web2py/
cp CHANGELOG ../web2py_win/web2py/
cp splashlogo.gif ../web2py_win/web2py/
cp options_std.py ../web2py_win/web2py/
cp routes.example.py ../web2py_win/web2py/
cp router.example.py ../web2py_win/web2py/
cp app.example.yaml ../web2py_win/web2py/
cp queue.example.yaml ../web2py_win/web2py/
cp -r extras ../web2py_win/web2py/
cp -r examples ../web2py_win/web2py/
cp -r applications/admin ../web2py_win/web2py/applications
cp -r applications/welcome ../web2py_win/web2py/applications
cp -r applications/examples ../web2py_win/web2py/applications
cp applications/__init__.py ../web2py_win/web2py/applications
cd ../web2py_win; zip -r web2py_win.zip web2py
mv ../web2py_win/web2py_win.zip .
pip:
# create Web2py distribution for upload to Pypi
# after upload clean Web2py sources with rm -R ./dist
python setup.py sdist
run:
python2.5 web2py.py -a hello
python2.7 web2py.py -a hello
commit:
python web2py.py --run_system_tests
make src
echo '' > NEWINSTALL
hg commit -m "$(S)"
#bzr commit -m "$(S)"
git commit -a -m "$(S)"
push:
hg push
git push
git push mdipierro
git push --tags
tag:
git tag -l '$(S)'
hg tag -l '$(S)'
make commit S='$(S)'
make push
pip:
# create Web2py distribution for upload to Pypi
# after upload clean Web2py sources with rm -R ./dist
# http://guide.python-distribute.org/creation.html
python setup.py sdist
sudo python setup.py register
sudo python setup.py sdist upload
+48 -4
View File
@@ -6,6 +6,43 @@ It is written and programmable in Python. LGPLv3 License
Learn more at http://web2py.com
## Google App Engine deployment
cp examples/app.yaml ./
cp handlers/gaehandler.py ./
Then edit ./app.yaml and replace "yourappname" with yourappname.
## Important reminder about this GIT repo
An important part of web2py is the Database Abstraction Layer (DAL). In early 2015 this was decoupled into a separate code-base (PyDAL). In terms of git, it is a sub-module of the main repository.
The use of a sub-module requires a one-time use of the --recursive flag for git clone if you are cloning web2py from scratch.
git clone --recursive https://github.com/web2py/web2py.git
If you have an existing repository, the commands below need to be executed at least once:
git submodule update --init --recursive
If you have a folder gluon/dal you must remove it:
rm -r gluon/dal
PyDAL uses a separate stable release cycle to the rest of web2py. PyDAL releases will use a date-naming scheme similar to Ubuntu. Issues related to PyDAL should be reported to its separate repository.
## Documentation (readthedocs.org)
[![Docs Status](https://readthedocs.org/projects/web2py/badge/?version=latest&style=flat-square)](http://web2py.rtfd.org/)
## Tests
[![Build Status](https://img.shields.io/travis/web2py/web2py/master.svg?style=flat-square&label=Travis-CI)](https://travis-ci.org/web2py/web2py)
[![MS Build Status](https://img.shields.io/appveyor/ci/web2py/web2py/master.svg?style=flat-square&label=Appveyor-CI)](https://ci.appveyor.com/project/web2py/web2py)
[![Coverage Status](https://img.shields.io/codecov/c/github/web2py/web2py.svg?style=flat-square)](https://codecov.io/github/web2py/web2py)
## Installation Instructions
To start web2py there is NO NEED to install it. Just unzip and do:
@@ -22,13 +59,14 @@ That's it!!!
VERSION > this web2py version
web2py.py > the startup script
anyserver.py > to run with third party servers
wsgihandler.py > handler to connect to WSGI
... > other handlers and example files
gluon/ > the core libraries
packages/ > web2py submodules
dal/
contrib/ > third party libraries
tests/ > unittests
applications/ > are the apps
admin/ > web based IDE
admin/ > web based IDE
...
examples/ > examples, docs, links
...
@@ -47,10 +85,16 @@ That's it!!!
cron/
tests/
... > your own apps
examples/ > example config files, mv .. and customize
extras/ > other files which are required for building web2py
scripts/ > utility and installation scripts
handlers/
wsgihandler.py > handler to connect to WSGI
... > handlers for Fast-CGI, SCGI, Gevent, etc
site-packages/ > additional optional modules
logs/ > log files will go in there
deposit/ > a place where web2py stores apps temporarily
## Issues?
Report issues at http://code.google.com/p/web2py/issues/
Report issues at https://github.com/web2py/web2py/issues
+1 -1
View File
@@ -1 +1 @@
Version 2.0.3 (2012-08-31 14:27:45) stable
Version 2.12.2-stable+timestamp.2015.08.09.09.27.09
-10
View File
@@ -1,10 +0,0 @@
+122 -69
View File
@@ -9,47 +9,52 @@ License: LGPLv3 (http://www.gnu.org/licenses/lgpl.html)
This file is based, although a rewrite, on MIT-licensed code from the Bottle web framework.
"""
import os, sys, optparse, urllib
import os
import sys
import optparse
import urllib
path = os.path.dirname(os.path.abspath(__file__))
os.chdir(path)
sys.path = [path]+[p for p in sys.path if not p==path]
import gluon.main
from gluon.fileutils import read_file, write_file
sys.path = [path] + [p for p in sys.path if not p == path]
class Servers:
@staticmethod
def cgi(app, address=None, **options):
from wsgiref.handlers import CGIHandler
CGIHandler().run(app) # Just ignore host and port here
CGIHandler().run(app) # Just ignore host and port here
@staticmethod
def flup(app,address, **options):
def flup(app, address, **options):
import flup.server.fcgi
flup.server.fcgi.WSGIServer(app, bindAddress=address).run()
@staticmethod
def wsgiref(app,address,**options): # pragma: no cover
def wsgiref(app, address, **options): # pragma: no cover
from wsgiref.simple_server import make_server, WSGIRequestHandler
options = {}
class QuietHandler(WSGIRequestHandler):
def log_request(*args, **kw): pass
def log_request(*args, **kw):
pass
options['handler_class'] = QuietHandler
srv = make_server(address[0],address[1],app,**options)
srv = make_server(address[0], address[1], app, **options)
srv.serve_forever()
@staticmethod
def cherrypy(app,address, **options):
def cherrypy(app, address, **options):
from cherrypy import wsgiserver
server = wsgiserver.CherryPyWSGIServer(address, app)
server.start()
@staticmethod
def rocket(app,address, **options):
def rocket(app, address, **options):
from gluon.rocket import CherryPyWSGIServer
server = CherryPyWSGIServer(address, app)
server.start()
@staticmethod
def rocket_with_repoze_profiler(app,address, **options):
def rocket_with_repoze_profiler(app, address, **options):
from gluon.rocket import CherryPyWSGIServer
from repoze.profile.profiler import AccumulatingProfileMiddleware
from gluon.settings import global_settings
@@ -59,44 +64,47 @@ class Servers:
log_filename='wsgi.prof',
discard_first_request=True,
flush_at_shutdown=True,
path = '/__profile__'
)
path='/__profile__'
)
server = CherryPyWSGIServer(address, wrapped)
server.start()
@staticmethod
def paste(app,address,**options):
def paste(app, address, **options):
options = {}
from paste import httpserver
from paste.translogger import TransLogger
httpserver.serve(app, host=address[0], port=address[1], **options)
@staticmethod
def fapws(app,address, **options):
def fapws(app, address, **options):
import fapws._evwsgi as evwsgi
from fapws import base
evwsgi.start(address[0],str(address[1]))
evwsgi.start(address[0], str(address[1]))
evwsgi.set_base_module(base)
def app(environ, start_response):
environ['wsgi.multiprocess'] = False
return app(environ, start_response)
evwsgi.wsgi_cb(('',app))
evwsgi.wsgi_cb(('', app))
evwsgi.run()
@staticmethod
def gevent(app,address, **options):
from gevent import monkey; monkey.patch_all()
def gevent(app, address, **options):
options = options['options']
workers = options.workers
from gevent import pywsgi
from gevent.pool import Pool
pywsgi.WSGIServer(address, app, spawn = 'workers' in options and Pool(int(options.workers)) or 'default').serve_forever()
pywsgi.WSGIServer(address, app, spawn=workers and Pool(
int(options.workers)) or 'default', log=None).serve_forever()
@staticmethod
def bjoern(app,address, **options):
def bjoern(app, address, **options):
import bjoern
bjoern.run(app, *address)
@staticmethod
def tornado(app,address, **options):
def tornado(app, address, **options):
import tornado.wsgi
import tornado.httpserver
import tornado.ioloop
@@ -106,7 +114,7 @@ class Servers:
tornado.ioloop.IOLoop.instance().start()
@staticmethod
def twisted(app,address, **options):
def twisted(app, address, **options):
from twisted.web import server, wsgi
from twisted.python.threadpool import ThreadPool
from twisted.internet import reactor
@@ -118,54 +126,67 @@ class Servers:
reactor.run()
@staticmethod
def diesel(app,address, **options):
def diesel(app, address, **options):
from diesel.protocols.wsgi import WSGIApplication
app = WSGIApplication(app, port=address[1])
app.run()
@staticmethod
def gunicorn(app,address, **options):
def gunicorn(app, address, **options):
options = {}
from gunicorn.app.base import Application
config = {'bind': "%s:%d" % address}
config.update(options)
sys.argv = ['anyserver.py']
class GunicornApplication(Application):
def init(self, parser, opts, args):
return config
def load(self):
return app
g = GunicornApplication()
g.run()
@staticmethod
def eventlet(app,address, **options):
def eventlet(app, address, **options):
from eventlet import wsgi, listen
wsgi.server(listen(address), app)
@staticmethod
def mongrel2(app,address,**options):
def mongrel2(app, address, **options):
import uuid
sys.path.append(os.path.abspath(os.path.dirname(__file__)))
from mongrel2 import handler
conn = handler.Connection(str(uuid.uuid4()),
"tcp://127.0.0.1:9997",
"tcp://127.0.0.1:9996")
mongrel2_handler(app,conn,debug=False)
mongrel2_handler(app, conn, debug=False)
@staticmethod
def motor(app, address, **options):
#https://github.com/rpedroso/motor
import motor
app = motor.WSGIContainer(app)
http_server = motor.HTTPServer(app)
http_server.listen(address=address[0], port=address[1])
#http_server.start(2)
motor.IOLoop.instance().start()
@staticmethod
def pulsar(app, address, **options):
from pulsar.apps import wsgi
sys.argv = ['anyserver.py']
s = wsgi.WSGIServer(callable=app, bind="%s:%d" % address)
s.start()
@staticmethod
def waitress(app, address, **options):
from waitress import serve
serve(app, host=address[0], port=address[1], _quiet=True)
def run(servername,ip,port,softcron=True,logging=False,profiler=None):
if logging:
application = gluon.main.appfactory(wsgiapp=gluon.main.wsgibase,
logfilename='httpserver.log',
profilerfilename=profiler)
else:
application = gluon.main.wsgibase
if softcron:
from gluon.settings import global_settings
global_settings.web2py_crontype = 'soft'
getattr(Servers,servername)(application,(ip,int(port)))
def mongrel2_handler(application,conn,debug=False):
def mongrel2_handler(application, conn, debug=False):
"""
Based on :
https://github.com/berry/Mongrel2-WSGI-Handler/blob/master/wsgi-handler.py
@@ -190,20 +211,23 @@ def mongrel2_handler(application,conn,debug=False):
# and responses. Unless I have missed something.
while True:
if debug: print "WAITING FOR REQUEST"
if debug:
print "WAITING FOR REQUEST"
# receive a request
req = conn.recv()
if debug: print "REQUEST BODY: %r\n" % req.body
if debug:
print "REQUEST BODY: %r\n" % req.body
if req.is_disconnect():
if debug: print "DISCONNECT"
continue #effectively ignore the disconnect from the client
if debug:
print "DISCONNECT"
continue # effectively ignore the disconnect from the client
# Set a couple of environment attributes a.k.a. header attributes
# that are a must according to PEP 333
environ = req.headers
environ['SERVER_PROTOCOL'] = 'HTTP/1.1' # SimpleHandler expects a server_protocol, lets assume it is HTTP 1.1
environ['SERVER_PROTOCOL'] = 'HTTP/1.1' # SimpleHandler expects a server_protocol, lets assume it is HTTP 1.1
environ['REQUEST_METHOD'] = environ['METHOD']
if ':' in environ['Host']:
environ['SERVER_NAME'] = environ['Host'].split(':')[0]
@@ -211,17 +235,19 @@ def mongrel2_handler(application,conn,debug=False):
else:
environ['SERVER_NAME'] = environ['Host']
environ['SERVER_PORT'] = ''
environ['SCRIPT_NAME'] = '' # empty for now
environ['SCRIPT_NAME'] = '' # empty for now
environ['PATH_INFO'] = urllib.unquote(environ['PATH'])
if '?' in environ['URI']:
environ['QUERY_STRING'] = environ['URI'].split('?')[1]
else:
environ['QUERY_STRING'] = ''
if environ.has_key('Content-Length'):
environ['CONTENT_LENGTH'] = environ['Content-Length'] # necessary for POST to work with Django
if 'Content-Length' in environ:
environ['CONTENT_LENGTH'] = environ[
'Content-Length'] # necessary for POST to work with Django
environ['wsgi.input'] = req.body
if debug: print "ENVIRON: %r\n" % environ
if debug:
print "ENVIRON: %r\n" % environ
# SimpleHandler needs file-like stream objects for
# requests, errors and responses
@@ -230,7 +256,8 @@ def mongrel2_handler(application,conn,debug=False):
respIO = StringIO.StringIO()
# execute the application
handler = SimpleHandler(reqIO, respIO, errIO, environ, multithread = False, multiprocess = False)
handler = SimpleHandler(reqIO, respIO, errIO, environ,
multithread=False, multiprocess=False)
handler.run(application)
# Get the response and filter out the response (=data) itself,
@@ -254,16 +281,44 @@ def mongrel2_handler(application,conn,debug=False):
errors = errIO.getvalue()
# return the response
if debug: print "RESPONSE: %r\n" % response
if debug:
print "RESPONSE: %r\n" % response
if errors:
if debug: print "ERRORS: %r" % errors
if debug:
print "ERRORS: %r" % errors
data = "%s\r\n\r\n%s" % (data, errors)
conn.reply_http(req, data, code = code, status = status, headers = headers)
conn.reply_http(
req, data, code=code, status=status, headers=headers)
def run(servername, ip, port, softcron=True, logging=False, profiler=None,
options=None):
if servername == 'gevent':
from gevent import monkey
monkey.patch_all()
elif servername == 'eventlet':
import eventlet
eventlet.monkey_patch()
import gluon.main
if logging:
application = gluon.main.appfactory(wsgiapp=gluon.main.wsgibase,
logfilename='httpserver.log',
profiler_dir=profiler)
else:
application = gluon.main.wsgibase
if softcron:
from gluon.settings import global_settings
global_settings.web2py_crontype = 'soft'
getattr(Servers, servername)(application, (ip, int(port)), options=options)
def main():
usage = "python anyserver.py -s tornado -i 127.0.0.1 -p 8000 -l -P"
try:
version = read_file('VERSION')
version = open('VERSION','r')
except IOError:
version = ''
parser = optparse.OptionParser(usage, None, optparse.Option, version)
@@ -276,9 +331,9 @@ def main():
parser.add_option('-P',
'--profiler',
default=False,
dest='profiler',
help='profiler filename')
servers = ', '.join(x for x in dir(Servers) if not x[0]=='_')
dest='profiler_dir',
help='profiler dir')
servers = ', '.join(x for x in dir(Servers) if not x[0] == '_')
parser.add_option('-s',
'--server',
default='rocket',
@@ -296,17 +351,15 @@ def main():
help='port number')
parser.add_option('-w',
'--workers',
default='',
default=None,
dest='workers',
help='number of workers number')
(options, args) = parser.parse_args()
print 'starting %s on %s:%s...' % (options.server,options.ip,options.port)
run(options.server,options.ip,options.port,logging=options.logging,profiler=options.profiler)
print 'starting %s on %s:%s...' % (
options.server, options.ip, options.port)
run(options.server, options.ip, options.port,
logging=options.logging, profiler=options.profiler_dir,
options=options)
if __name__=='__main__':
if __name__ == '__main__':
main()
+1
View File
@@ -0,0 +1 @@
+1
View File
@@ -0,0 +1 @@
+381 -123
View File
@@ -11,7 +11,12 @@ import copy
import gluon.contenttype
import gluon.fileutils
response.subtitle = 'Database Administration (appadmin)'
try:
import pygraphviz as pgv
except ImportError:
pgv = None
is_gae = request.env.web2py_runtime_gae or False
# ## critical --- make a copy of the environment
@@ -23,23 +28,42 @@ remote_addr = request.env.remote_addr
try:
hosts = (http_host, socket.gethostname(),
socket.gethostbyname(http_host),
'::1','127.0.0.1','::ffff:127.0.0.1')
'::1', '127.0.0.1', '::ffff:127.0.0.1')
except:
hosts = (http_host, )
if request.env.http_x_forwarded_for or request.is_https:
if request.is_https:
session.secure()
elif (remote_addr not in hosts) and (remote_addr != "127.0.0.1"):
elif (remote_addr not in hosts) and (remote_addr != "127.0.0.1") and \
(request.function != 'manage'):
raise HTTP(200, T('appadmin is disabled because insecure channel'))
if (request.application=='admin' and not session.authorized) or \
(request.application!='admin' and not gluon.fileutils.check_credentials(request)):
if request.function == 'manage':
if not 'auth' in globals() or not request.args:
redirect(URL(request.controller, 'index'))
manager_action = auth.settings.manager_actions.get(request.args(0), None)
if manager_action is None and request.args(0) == 'auth':
manager_action = dict(role=auth.settings.auth_manager_role,
heading=T('Manage Access Control'),
tables=[auth.table_user(),
auth.table_group(),
auth.table_permission()])
manager_role = manager_action.get('role', None) if manager_action else None
if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)):
raise HTTP(403, "Not authorized")
menu = False
elif (request.application == 'admin' and not session.authorized) or \
(request.application != 'admin' and not gluon.fileutils.check_credentials(request)):
redirect(URL('admin', 'default', 'index',
vars=dict(send=URL(args=request.args,vars=request.vars))))
vars=dict(send=URL(args=request.args, vars=request.vars))))
else:
response.subtitle = T('Database Administration (appadmin)')
menu = True
ignore_rw = True
response.view = 'appadmin.html'
response.menu = [[T('design'), False, URL('admin', 'default', 'design',
if menu:
response.menu = [[T('design'), False, URL('admin', 'default', 'design',
args=[request.application])], [T('db'), False,
URL('index')], [T('state'), False,
URL('state')], [T('cache'), False,
@@ -49,11 +73,14 @@ response.menu = [[T('design'), False, URL('admin', 'default', 'design',
# ## auxiliary functions
# ###########################################################
if False and request.tickets_db:
from gluon.restricted import TicketStorage
ts = TicketStorage()
ts._get_table(request.tickets_db, ts.tablename, request.application)
def get_databases(request):
dbs = {}
for (key, value) in global_env.items():
cond = False
try:
cond = isinstance(value, GQLDB)
except:
@@ -62,10 +89,8 @@ def get_databases(request):
dbs[key] = value
return dbs
databases = get_databases(None)
def eval_in_global_env(text):
exec ('_ret=%s' % text, {}, global_env)
return global_env['_ret']
@@ -78,7 +103,6 @@ def get_database(request):
session.flash = T('invalid request')
redirect(URL('index'))
def get_table(request):
db = get_database(request)
if len(request.args) > 1 and request.args[1] in db.tables:
@@ -95,25 +119,23 @@ def get_query(request):
return None
def query_by_table_type(tablename,db,request=request):
keyed = hasattr(db[tablename],'_primarykey')
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)
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)
@@ -128,7 +150,7 @@ def insert():
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])
return dict(form=form, table=db[table])
# ##########################################################
@@ -139,7 +161,8 @@ def insert():
def download():
import os
db = get_database(request)
return response.download(request,db)
return response.download(request, db)
def csv():
import gluon.contenttype
@@ -150,26 +173,31 @@ def csv():
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())
% 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<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)')
if len(request.args)>1 and hasattr(db[request.args[1]],'_primarykey'):
if len(request.args) > 1 and hasattr(db[request.args[1]], '_primarykey'):
regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>.+)')
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'))
match.group('table'), match.group('field'),
match.group('value'))
else:
request.vars.query = session.last_query
query = get_query(request)
@@ -178,7 +206,15 @@ def select():
else:
start = 0
nrows = 0
stop = start + 100
step = 100
fields = []
if is_imap:
step = 3
stop = start + step
table = None
rows = []
orderby = request.vars.orderby
@@ -193,43 +229,56 @@ def select():
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:'),
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',
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))
_action=URL(r=request, args=request.args))
tb = None
if form.accepts(request.vars, formname=None):
regex = re.compile(request.args[0] + '\.(?P<table>\w+)\..+')
match = regex.match(form.vars.query.strip())
if match:
table = match.group('table')
try:
nrows = db(query).count()
nrows = db(query, ignore_common_filters=True).count()
if form.vars.update_check and form.vars.update_fields:
db(query).update(**eval_in_global_env('dict(%s)'
% 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).delete()
db(query, ignore_common_filters=True).delete()
response.flash = T('%s %%{row} deleted', nrows)
nrows = db(query).count()
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(limitby=(start, stop), orderby=eval_in_global_env(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(limitby=(start, stop))
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)))
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')))
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:
@@ -238,7 +287,7 @@ def select():
request.vars.csvfile.file)
response.flash = T('data uploaded')
except Exception, e:
response.flash = DIV(T('unable to parse csv file'),PRE(str(e)))
response.flash = DIV(T('unable to parse csv file'), PRE(str(e)))
# end handle upload csv
return dict(
@@ -246,11 +295,13 @@ def select():
table=table,
start=start,
stop=stop,
step=step,
nrows=nrows,
rows=rows,
query=request.vars.query,
formcsv = formcsv,
)
formcsv=formcsv,
tb=tb
)
# ##########################################################
@@ -260,14 +311,17 @@ def select():
def update():
(db, table) = get_table(request)
keyed = hasattr(db[table],'_primarykey')
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]], ignore_common_filters=True).select().first()
record = db(db[table][key[0]] == request.vars[key[
0]]).select().first()
else:
record = db(db[table].id == request.args(2),ignore_common_filters=True).select().first()
record = db(db[table].id == request.args(
2)).select().first()
if not record:
qry = query_by_table_type(table, db)
@@ -277,20 +331,21 @@ def update():
if keyed:
for k in db[table]._primarykey:
db[table][k].writable=False
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',
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]))
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])
return dict(form=form, table=db[table])
# ##########################################################
@@ -301,39 +356,58 @@ def update():
def state():
return dict()
def ccache():
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 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):
clear_ram = False
clear_disk = False
session.flash = ""
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")
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()
from guppy import hpy
hp = hpy()
except ImportError:
hp = False
import shelve, os, copy, time, math
import shelve
import os
import copy
import time
import math
from gluon import portalocker
ram = {
@@ -346,6 +420,7 @@ def ccache():
'oldest': time.time(),
'keys': []
}
disk = copy.copy(ram)
total = copy.copy(ram)
disk['keys'] = []
@@ -360,29 +435,35 @@ def ccache():
return (hours, minutes, seconds)
for key, value in cache.ram.storage.items():
if isinstance(value, dict):
ram['hits'] = value['hit_total'] - value['misses']
ram['misses'] = value['misses']
try:
ram['ratio'] = ram['hits'] * 100 / value['hit_total']
except (KeyError, ZeroDivisionError):
ram['ratio'] = 0
else:
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])))
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:
for key, value in cache.ram.storage.iteritems():
if isinstance(value, dict):
ram['hits'] = value['hit_total'] - value['misses']
ram['misses'] = value['misses']
try:
ram['ratio'] = ram['hits'] * 100 / value['hit_total']
except (KeyError, ZeroDivisionError):
ram['ratio'] = 0
else:
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])))
locker = open(os.path.join(request.folder,
'cache/cache.lock'), 'a')
portalocker.lock(locker, portalocker.LOCK_EX)
disk_storage = shelve.open(os.path.join(request.folder, 'cache/cache.shelve'))
try:
for key, value in disk_storage.items():
for key in cache.disk.storage:
value = cache.disk.storage[key]
if isinstance(value, dict):
disk['hits'] = value['hit_total'] - value['misses']
disk['misses'] = value['misses']
@@ -399,30 +480,26 @@ def ccache():
disk['oldest'] = value[0]
disk['keys'].append((key, GetInHMS(time.time() - value[0])))
finally:
portalocker.unlock(locker)
locker.close()
disk_storage.close()
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
total['entries'] = ram['entries'] + disk['entries']
total['bytes'] = ram['bytes'] + disk['bytes']
total['objects'] = ram['objects'] + disk['objects']
total['hits'] = ram['hits'] + disk['hits']
total['misses'] = ram['misses'] + disk['misses']
total['keys'] = ram['keys'] + disk['keys']
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']
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'])
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(
@@ -431,12 +508,193 @@ def ccache():
**dict(_class='cache-keys',
_style="border-collapse: separate; border-spacing: .5em;"))
ram['keys'] = key_table(ram['keys'])
disk['keys'] = key_table(disk['keys'])
total['keys'] = key_table(total['keys'])
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 not subgraphs.has_key(group):
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
+76 -39
View File
@@ -5,35 +5,39 @@ import gluon.contrib.shell
import gluon.dal
import gluon.html
import gluon.validators
import code, thread
import code
import thread
from gluon.debug import communicate, web_debugger, qdb_debugger
import pydoc
if DEMO_MODE or MULTI_USER_MODE:
session.flash = T('disabled in demo mode')
redirect(URL('default','site'))
redirect(URL('default', 'site'))
FE = 10 ** 9
FE=10**9
def index():
app = request.args(0) or 'admin'
reset()
# read buffer
data = communicate()
return dict(app=app,data=data)
return dict(app=app, data=data)
def callback():
app = request.args[0]
command = request.vars.statement
session['debug_commands:'+app].append(command)
session['debug_commands:' + app].append(command)
output = communicate(command)
k = len(session['debug_commands:'+app]) - 1
k = len(session['debug_commands:' + app]) - 1
return '[%i] %s%s\n' % (k + 1, command, output)
def reset():
app = request.args(0) or 'admin'
session['debug_commands:'+app] = []
session['debug_commands:' + app] = []
return 'done'
@@ -50,9 +54,13 @@ def interact():
filename = web_debugger.filename
lineno = web_debugger.lineno
if filename:
lines = dict([(i+1, l) for (i, l) in enumerate(
[l.strip("\n").strip("\r") for l
in open(filename).readlines()])])
# prevent IOError 2 on some circuntances (EAFP instead of os.access)
try:
lines = open(filename).readlines()
except:
lines = ""
lines = dict([(i + 1, l) for (i, l) in enumerate(
[l.strip("\n").strip("\r") for l in lines])])
filename = os.path.basename(filename)
else:
lines = {}
@@ -64,8 +72,7 @@ def interact():
f_globals = {}
for name, value in env['globals'].items():
if name not in gluon.html.__all__ and \
name not in gluon.validators.__all__ and \
name not in gluon.dal.__all__:
name not in gluon.validators.__all__:
f_globals[name] = pydoc.text.repr(value)
else:
f_locals = {}
@@ -76,42 +83,48 @@ def interact():
response.flash = T('"User Exception" debug mode. '
'An error ticket could be issued!')
return dict(app=app, data="",
filename=web_debugger.filename, lines=lines, lineno=lineno,
f_globals=f_globals, f_locals=f_locals,
return dict(app=app, data="",
filename=web_debugger.filename, lines=lines, lineno=lineno,
f_globals=f_globals, f_locals=f_locals,
exception=web_debugger.exception_info)
def step():
web_debugger.do_step()
redirect(URL("interact"))
def next():
web_debugger.do_next()
redirect(URL("interact"))
def cont():
web_debugger.do_continue()
redirect(URL("interact"))
def ret():
web_debugger.do_return()
redirect(URL("interact"))
def stop():
web_debugger.do_quit()
redirect(URL("interact"))
def execute():
app = request.args[0]
command = request.vars.statement
session['debug_commands:'+app].append(command)
session['debug_commands:' + app].append(command)
try:
output = web_debugger.do_exec(command)
if output is None:
output = ""
except Exception, e:
output = T("Exception %s") % str(e)
k = len(session['debug_commands:'+app]) - 1
output = T("Exception %s") % str(e)
k = len(session['debug_commands:' + app]) - 1
return '[%i] %s%s\n' % (k + 1, command, output)
@@ -120,52 +133,54 @@ def breakpoints():
# Get all .py files
files = listdir(apath('', r=request), '.*\.py$')
files = [filename for filename in files
if filename and 'languages' not in filename
and not filename.startswith("admin")
and not filename.startswith("examples")]
files = [filename for filename in files
if filename and 'languages' not in filename
and not filename.startswith("admin")
and not filename.startswith("examples")]
form = SQLFORM.factory(
Field('filename', requires=IS_IN_SET(files), label=T("Filename")),
Field('lineno', 'integer', label=T("Line number"),
requires=IS_NOT_EMPTY()),
Field('temporary', 'boolean', label=T("Temporary"),
Field('temporary', 'boolean', label=T("Temporary"),
comment=T("deleted after first hit")),
Field('condition', 'string', label=T("Condition"),
comment=T("honored only if the expression evaluates to true")),
)
)
if form.accepts(request.vars, session):
filename = os.path.join(request.env['applications_parent'],
filename = os.path.join(request.env['applications_parent'],
'applications', form.vars.filename)
err = qdb_debugger.do_set_breakpoint(filename,
form.vars.lineno,
form.vars.temporary,
form.vars.condition)
err = qdb_debugger.do_set_breakpoint(filename,
form.vars.lineno,
form.vars.temporary,
form.vars.condition)
response.flash = T("Set Breakpoint on %s at line %s: %s") % (
filename, form.vars.lineno, err or T('successful'))
filename, form.vars.lineno, err or T('successful'))
for item in request.vars:
if item[:7] == 'delete_':
qdb_debugger.do_clear(item[7:])
breakpoints = [{'number': bp[0], 'filename': os.path.basename(bp[1]),
'path': bp[1], 'lineno': bp[2],
'temporary': bp[3], 'enabled': bp[4], 'hits': bp[5],
'condition': bp[6]}
for bp in qdb_debugger.do_list_breakpoint()]
'path': bp[1], 'lineno': bp[2],
'temporary': bp[3], 'enabled': bp[4], 'hits': bp[5],
'condition': bp[6]}
for bp in qdb_debugger.do_list_breakpoint()]
return dict(breakpoints=breakpoints, form=form)
def toggle_breakpoint():
"Set or clear a breakpoint"
lineno = None
ok = None
try:
filename = os.path.join(request.env['applications_parent'],
filename = os.path.join(request.env['applications_parent'],
'applications', request.vars.filename)
# normalize path name: replace slashes, references, etc...
filename = os.path.normpath(os.path.normcase(filename))
if not request.vars.data:
# ace send us the line number!
lineno = int(request.vars.sel_start) + 1
@@ -182,16 +197,18 @@ def toggle_breakpoint():
if lineno is not None:
for bp in qdb_debugger.do_list_breakpoint():
no, bp_filename, bp_lineno, temporary, enabled, hits, cond = bp
# normalize path name: replace slashes, references, etc...
bp_filename = os.path.normpath(os.path.normcase(bp_filename))
if filename == bp_filename and lineno == bp_lineno:
err = qdb_debugger.do_clear_breakpoint(filename, lineno)
response.flash = T("Removed Breakpoint on %s at line %s", (
filename, lineno))
response.flash = T("Removed Breakpoint on %s at line %s", (
filename, lineno))
ok = False
break
else:
err = qdb_debugger.do_set_breakpoint(filename, lineno)
response.flash = T("Set Breakpoint on %s at line %s: %s") % (
filename, lineno, err or T('successful'))
filename, lineno, err or T('successful'))
ok = True
else:
response.flash = T("Unable to determine the line number!")
@@ -199,3 +216,23 @@ def toggle_breakpoint():
session.flash = str(e)
return response.json({'ok': ok, 'lineno': lineno})
def list_breakpoints():
"Return a list of linenumbers for current breakpoints"
breakpoints = []
ok = False
try:
filename = os.path.join(request.env['applications_parent'],
'applications', request.vars.filename)
# normalize path name: replace slashes, references, etc...
filename = os.path.normpath(os.path.normcase(filename))
for bp in qdb_debugger.do_list_breakpoint():
no, bp_filename, bp_lineno, temporary, enabled, hits, cond = bp
# normalize path name: replace slashes, references, etc...
bp_filename = os.path.normpath(os.path.normcase(bp_filename))
if filename == bp_filename:
breakpoints.append(bp_lineno)
ok = True
except Exception, e:
session.flash = str(e)
return response.json({'ok': ok, 'breakpoints': breakpoints})
File diff suppressed because it is too large Load Diff
+48 -36
View File
@@ -9,85 +9,97 @@ try:
import shutil
from gluon.fileutils import read_file, write_file
except:
session.flash='sorry, only on Unix systems'
redirect(URL(request.application,'default','site'))
session.flash = 'sorry, only on Unix systems'
redirect(URL(request.application, 'default', 'site'))
if MULTI_USER_MODE and not is_manager():
session.flash = 'Not Authorized'
redirect(URL('default','site'))
redirect(URL('default', 'site'))
from gluon.settings import settings
if not settings.is_source:
session.flash = 'Requires running web2py from source'
redirect(URL(request.application, 'default', 'site'))
forever = 10 ** 8
forever=10**8
def kill():
p = cache.ram('gae_upload',lambda:None,forever)
if not p or p.poll()!=None:
p = cache.ram('gae_upload', lambda: None, forever)
if not p or p.poll() is not None:
return 'oops'
os.kill(p.pid, signal.SIGKILL)
cache.ram('gae_upload',lambda:None,-1)
cache.ram('gae_upload', lambda: None, -1)
class EXISTS(object):
def __init__(self, error_message='file not found'):
self.error_message = error_message
def __call__(self, value):
if os.path.exists(value):
return (value,None)
return (value,self.error_message)
return (value, None)
return (value, self.error_message)
def deploy():
regex = re.compile('^\w+$')
apps = sorted(file for file in os.listdir(apath(r=request)) if regex.match(file))
apps = sorted(
file for file in os.listdir(apath(r=request)) if regex.match(file))
form = SQLFORM.factory(
Field('appcfg',default=GAE_APPCFG,label=T('Path to appcfg.py'),
Field('appcfg', default=GAE_APPCFG, label=T('Path to appcfg.py'),
requires=EXISTS(error_message=T('file not found'))),
Field('google_application_id',requires=IS_ALPHANUMERIC(),label=T('Google Application Id')),
Field('applications','list:string',
requires=IS_IN_SET(apps,multiple=True),
Field('google_application_id', requires=IS_MATCH(
'[\w\-]+'), label=T('Google Application Id')),
Field('applications', 'list:string',
requires=IS_IN_SET(apps, multiple=True),
label=T('web2py apps to deploy')),
Field('email',requires=IS_EMAIL(),label=T('GAE Email')),
Field('password','password',requires=IS_NOT_EMPTY(),label=T('GAE Password')))
cmd = output = errors= ""
if form.accepts(request,session):
Field('email', requires=IS_EMAIL(), label=T('GAE Email')),
Field('password', 'password', requires=IS_NOT_EMPTY(), label=T('GAE Password')))
cmd = output = errors = ""
if form.accepts(request, session):
try:
kill()
except:
pass
ignore_apps = [item for item in apps \
if not item in form.vars.applications]
ignore_apps = [item for item in apps
if not item in form.vars.applications]
regex = re.compile('\(applications/\(.*')
yaml = apath('../app.yaml', r=request)
if not os.path.exists(yaml):
example = apath('../app.example.yaml', r=request)
shutil.copyfile(example,yaml)
shutil.copyfile(example, yaml)
data = read_file(yaml)
data = re.sub('application:.*','application: %s' % form.vars.google_application_id,data)
data = regex.sub('(applications/(%s)/.*)|' % '|'.join(ignore_apps),data)
data = re.sub('application:.*', 'application: %s' %
form.vars.google_application_id, data)
data = regex.sub(
'(applications/(%s)/.*)|' % '|'.join(ignore_apps), data)
write_file(yaml, data)
path = request.env.applications_parent
cmd = '%s --email=%s --passin update %s' % \
(form.vars.appcfg, form.vars.email, path)
p = cache.ram('gae_upload',
lambda s=subprocess,c=cmd:s.Popen(c, shell=True,
stdin=s.PIPE,
stdout=s.PIPE,
stderr=s.PIPE, close_fds=True),-1)
p.stdin.write(form.vars.password+'\n')
lambda s=subprocess, c=cmd: s.Popen(c, shell=True,
stdin=s.PIPE,
stdout=s.PIPE,
stderr=s.PIPE, close_fds=True), -1)
p.stdin.write(form.vars.password + '\n')
fcntl.fcntl(p.stdout.fileno(), fcntl.F_SETFL, os.O_NONBLOCK)
fcntl.fcntl(p.stderr.fileno(), fcntl.F_SETFL, os.O_NONBLOCK)
return dict(form=form,command=cmd)
return dict(form=form, command=cmd)
def callback():
p = cache.ram('gae_upload',lambda:None,forever)
if not p or p.poll()!=None:
p = cache.ram('gae_upload', lambda: None, forever)
if not p or p.poll() is not None:
return '<done/>'
try:
output = p.stdout.read()
except:
output=''
output = ''
try:
errors = p.stderr.read()
except:
errors=''
return (output+errors).replace('\n','<br/>')
errors = ''
return (output + errors).replace('\n', '<br/>')
+20 -19
View File
@@ -2,10 +2,10 @@ from gluon.fileutils import read_file, write_file
if DEMO_MODE or MULTI_USER_MODE:
session.flash = T('disabled in demo mode')
redirect(URL('default','site'))
redirect(URL('default', 'site'))
if not have_mercurial:
session.flash=T("Sorry, could not find mercurial installed")
redirect(URL('default','design',args=request.args(0)))
session.flash = T("Sorry, could not find mercurial installed")
redirect(URL('default', 'design', args=request.args(0)))
_hgignore_content = """\
syntax: glob
@@ -22,6 +22,7 @@ sessions/*
errors/*
"""
def hg_repo(path):
import os
uio = ui.ui()
@@ -37,48 +38,48 @@ def hg_repo(path):
write_file(hgignore, _hgignore_content)
return repo
def commit():
app = request.args(0)
path = apath(app, r=request)
repo = hg_repo(path)
form = FORM('Comment:',INPUT(_name='comment',requires=IS_NOT_EMPTY()),
INPUT(_type='submit',_value=T('Commit')))
if form.accepts(request.vars,session):
form = FORM(T('Comment:'), INPUT(_name='comment', requires=IS_NOT_EMPTY()),
INPUT(_type='submit', _value=T('Commit')))
if form.accepts(request.vars, session):
oldid = repo[repo.lookup('.')]
addremove(repo)
repo.commit(text=form.vars.comment)
if repo[repo.lookup('.')] == oldid:
response.flash = 'no changes'
response.flash = T('no changes')
try:
files = TABLE(*[TR(file) for file in repo[repo.lookup('.')].files()])
changes = TABLE(TR(TH('revision'),TH('description')))
changes = TABLE(TR(TH('revision'), TH('description')))
for change in repo.changelog:
ctx=repo.changectx(change)
ctx = repo.changectx(change)
revision, description = ctx.rev(), ctx.description()
changes.append(TR(A(revision,_href=URL('revision',
args=(app,revision))),
changes.append(TR(A(revision, _href=URL('revision',
args=(app, revision))),
description))
except:
files = []
changes = []
return dict(form=form,files=files,changes=changes,repo=repo)
return dict(form=form, files=files, changes=changes, repo=repo)
def revision():
app = request.args(0)
path = apath(app, r=request)
repo = hg_repo(path)
revision = request.args(1)
ctx=repo.changectx(revision)
form=FORM(INPUT(_type='submit',_value=T('Revert')))
ctx = repo.changectx(revision)
form = FORM(INPUT(_type='submit', _value=T('Revert')))
if form.accepts(request.vars):
hg.update(repo, revision)
session.flash = "reverted to revision %s" % ctx.rev()
redirect(URL('default','design',args=app))
session.flash = T("reverted to revision %s") % ctx.rev()
redirect(URL('default', 'design', args=app))
return dict(
files=ctx.files(),
rev=str(ctx.rev()),
desc=ctx.description(),
form=form
)
)
+33 -20
View File
@@ -1,29 +1,40 @@
import os
from distutils import dir_util
try:
from distutils import dir_util
except ImportError:
session.flash = T('requires distutils, but not installed')
redirect(URL('default', 'site'))
try:
from git import *
except ImportError:
session.flash = T('requires python-git, but not installed')
redirect(URL('default','site'))
redirect(URL('default', 'site'))
from gluon.settings import settings
if not settings.is_source:
session.flash = 'Requires running web2py from source'
redirect(URL(request.application, 'default', 'site'))
def deploy():
apps = sorted(file for file in os.listdir(apath(r=request)))
form = SQLFORM.factory(
Field('osrepo',default='/tmp',label=T('Path to local openshift repo root.'),
requires=EXISTS(error_message=T('directory not found'))),
Field('osname',default='web2py',label=T('WSGI reference name')),
Field('applications','list:string',
requires=IS_IN_SET(apps,multiple=True),
Field(
'osrepo', default='/tmp', label=T('Path to local openshift repo root.'),
requires=EXISTS(error_message=T('directory not found'))),
Field('osname', default='web2py', label=T('WSGI reference name')),
Field('applications', 'list:string',
requires=IS_IN_SET(apps, multiple=True),
label=T('web2py apps to deploy')))
cmd = output = errors= ""
if form.accepts(request,session):
cmd = output = errors = ""
if form.accepts(request, session):
try:
kill()
except:
pass
ignore_apps = [item for item in apps if not item in form.vars.applications]
ignore_apps = [
item for item in apps if not item in form.vars.applications]
regex = re.compile('\(applications/\(.*')
w2p_origin = os.getcwd()
osrepo = form.vars.osrepo
@@ -34,23 +45,25 @@ def deploy():
assert repo.bare == False
for i in form.vars.applications:
appsrc = os.path.join(apath(r=request),i)
appdest = os.path.join(osrepo,'wsgi',osname,'applications',i)
dir_util.copy_tree(appsrc,appdest)
appsrc = os.path.join(apath(r=request), i)
appdest = os.path.join(osrepo, 'wsgi', osname, 'applications', i)
dir_util.copy_tree(appsrc, appdest)
#shutil.copytree(appsrc,appdest)
index.add(['wsgi/'+osname+'/applications/'+i])
index.add(['wsgi/' + osname + '/applications/' + i])
new_commit = index.commit("Deploy from Web2py IDE")
origin = repo.remotes.origin
origin.push
origin.push()
#Git code ends here
return dict(form=form,command=cmd)
return dict(form=form, command=cmd)
class EXISTS(object):
def __init__(self, error_message='file not found'):
self.error_message = error_message
def __call__(self, value):
if os.path.exists(value):
return (value,None)
return (value,self.error_message)
return (value, None)
return (value, self.error_message)
@@ -1,10 +1,10 @@
response.files=response.files[:3]
response.menu=[]
response.files = response.files[:3]
response.menu = []
def index():
return locals()
def about():
return locals()
+19 -15
View File
@@ -1,25 +1,30 @@
import sys
import cStringIO
import gluon.contrib.shell
import code, thread
import code
import thread
import cgi
from gluon.shell import env
if DEMO_MODE or MULTI_USER_MODE:
session.flash = T('disabled in demo mode')
redirect(URL('default','site'))
redirect(URL('default', 'site'))
FE = 10 ** 9
FE=10**9
def index():
app = request.args(0) or 'admin'
reset()
return dict(app=app)
def callback():
app = request.args[0]
command = request.vars.statement
escape = command[:1]!='!'
history = session['history:'+app] = session.get('history:'+app,gluon.contrib.shell.History())
escape = command[:1] != '!'
history = session['history:' + app] = session.get(
'history:' + app, gluon.contrib.shell.History())
if not escape:
command = command[1:]
if command == '%reset':
@@ -27,21 +32,20 @@ def callback():
return '*** reset ***'
elif command[0] == '%':
try:
command=session['commands:'+app][int(command[1:])]
command = session['commands:' + app][int(command[1:])]
except ValueError:
return ''
session['commands:'+app].append(command)
environ=env(app,True)
output = gluon.contrib.shell.run(history,command,environ)
k = len(session['commands:'+app]) - 1
session['commands:' + app].append(command)
environ = env(app, True, extra_request=dict(is_https=request.is_https))
output = gluon.contrib.shell.run(history, command, environ)
k = len(session['commands:' + app]) - 1
#output = PRE(output)
#return TABLE(TR('In[%i]:'%k,PRE(command)),TR('Out[%i]:'%k,output))
return 'In [%i] : %s%s\n' % (k + 1, command, output)
return cgi.escape('In [%i] : %s%s\n' % (k + 1, command, output))
def reset():
app = request.args(0) or 'admin'
session['commands:'+app] = []
session['history:'+app] = gluon.contrib.shell.History()
session['commands:' + app] = []
session['history:' + app] = gluon.contrib.shell.History()
return 'done'
+5 -5
View File
@@ -2,10 +2,12 @@ import os
from gluon.settings import global_settings, read_file
#
def index():
app = request.args(0)
return dict(app=app)
def profiler():
"""
to use the profiler start web2py with -F profiler.log
@@ -19,13 +21,11 @@ def profiler():
else:
size = 0
if os.path.exists(filename):
data = read_file('profiler.log','rb')
if size<len(data):
data = read_file('profiler.log', 'rb')
if size < len(data):
data = data[size:]
else:
size=0
size = 0
size += len(data)
response.cookies[KEY] = size
return data
@@ -33,7 +33,7 @@ def list_apps():
@service.jsonrpc
def list_files(app, pattern='.*\.py$'):
files = listdir(apath('%s/' % app, r=request), pattern)
return [x.replace('\\','/') for x in files]
return [x.replace('\\', '/') for x in files]
@service.jsonrpc
@@ -43,7 +43,7 @@ def read_file(filename, b64=False):
try:
data = f.read()
if not b64:
data = data.replace('\r','')
data = data.replace('\r', '')
else:
data = base64.b64encode(data)
finally:
@@ -82,6 +82,7 @@ def install(app_name, filename, data, overwrite=True):
return installed
@service.jsonrpc
def attach_debugger(host='localhost', port=6000, authkey='secret password'):
import gluon.contrib.qdb as qdb
@@ -90,7 +91,7 @@ def attach_debugger(host='localhost', port=6000, authkey='secret password'):
if isinstance(authkey, unicode):
authkey = authkey.encode('utf8')
if not hasattr(gluon.debug, 'qdb_listener'):
# create a remote debugger server and wait for connection
address = (host, port) # family is deduced to be 'AF_INET'
@@ -124,7 +125,7 @@ def detach_debugger():
gluon.debug.qdb_debugger = None
return True
def call():
session.forget()
return service()
+337 -288
View File
@@ -1,64 +1,73 @@
# -*- coding: utf-8 -*-
import os, uuid, re, pickle, urllib, glob
import os
import uuid
import re
import pickle
import urllib
import glob
from gluon.admin import app_create, plugin_install
from gluon.fileutils import abspath, read_file, write_file
def reset(session):
session.app={
'name':'',
'params':[('title','My New App'),
('subtitle','powered by web2py'),
('author','you'),
('author_email','you@example.com'),
('keywords',''),
('description',''),
('layout_theme','Default'),
('database_uri','sqlite://storage.sqlite'),
('security_key',str(uuid.uuid4())),
('email_server','localhost'),
('email_sender','you@example.com'),
('email_login',''),
('login_method','local'),
('login_config',''),
('plugins',[])],
'tables':['auth_user'],
'table_auth_user':['username','first_name',
'last_name','email','password'],
'pages':['index','error'],
'page_index':'# Welcome to my new app',
'page_error':'# Error: the document does not exist',
}
if not session.app: reset(session)
def reset(session):
session.app = {
'name': '',
'params': [('title', 'My New App'),
('subtitle', 'powered by web2py'),
('author', 'you'),
('author_email', 'you@example.com'),
('keywords', ''),
('description', ''),
('layout_theme', 'Default'),
('database_uri', 'sqlite://storage.sqlite'),
('security_key', str(uuid.uuid4())),
('email_server', 'localhost'),
('email_sender', 'you@example.com'),
('email_login', ''),
('login_method', 'local'),
('login_config', ''),
('plugins', [])],
'tables': ['auth_user'],
'table_auth_user': ['username', 'first_name',
'last_name', 'email', 'password'],
'pages': ['index', 'error'],
'page_index': '# Welcome to my new app',
'page_error': '# Error: the document does not exist',
}
if not session.app:
reset(session)
def listify(x):
if not isinstance(x,(list,tuple)):
if not isinstance(x, (list, tuple)):
return x and [x] or []
return x
def clean(name):
return re.sub('\W+','_',name.strip().lower())
return re.sub('\W+', '_', name.strip().lower())
def index():
response.view='wizard/step.html'
response.view = 'wizard/step.html'
reset(session)
apps=os.listdir(os.path.join(request.folder,'..'))
form=SQLFORM.factory(Field('name',requires=[IS_NOT_EMPTY(),
IS_ALPHANUMERIC()]))
apps = os.listdir(os.path.join(request.folder, '..'))
form = SQLFORM.factory(Field('name', requires=[IS_NOT_EMPTY(),
IS_ALPHANUMERIC()]), _class='span5 well well-small')
if form.accepts(request.vars):
app = form.vars.name
session.app['name'] = app
if MULTI_USER_MODE and db(db.app.name==app)\
(db.app.owner!=auth.user.id).count():
if MULTI_USER_MODE and db(db.app.name == app)(db.app.owner != auth.user.id).count():
session.flash = 'App belongs already to other user'
elif app in apps:
meta = os.path.normpath(\
meta = os.path.normpath(
os.path.join(os.path.normpath(request.folder),
'..',app,'wizard.metadata'))
'..', app, 'wizard.metadata'))
if os.path.exists(meta):
try:
metafile = open(meta,'rb')
metafile = open(meta, 'rb')
try:
session.app = pickle.load(metafile)
finally:
@@ -67,160 +76,175 @@ def index():
except:
session.flash = T("The app exists, was NOT created by wizard, continue to overwrite!")
redirect(URL('step1'))
return dict(step='Start',form=form)
return dict(step='Start', form=form)
def step1():
from gluon.contrib.simplejson import loads
import urllib
if not session.themes:
url=LAYOUTS_APP+'/default/layouts.json'
try:
data = urllib.urlopen(url).read()
session.themes = ['Default'] + loads(data)['layouts']
except:
session.themes = ['Default']
#url = LAYOUTS_APP + '/default/layouts.json'
#try:
# data = urllib.urlopen(url).read()
# session.themes = ['Default'] + loads(data)['layouts']
#except:
session.themes = ['Default']
themes = session.themes
if not session.plugins:
url = PLUGINS_APP+'/default/plugins.json'
try:
data = urllib.urlopen(url).read()
session.plugins = loads(data)['plugins']
except:
session.plugins = []
#url = PLUGINS_APP + '/default/plugins.json'
#try:
# data = urllib.urlopen(url).read()
# session.plugins = loads(data)['plugins']
#except:
session.plugins = []
plugins = [x.split('.')[2] for x in session.plugins]
response.view='wizard/step.html'
response.view = 'wizard/step.html'
params = dict(session.app['params'])
form=SQLFORM.factory(
Field('title',default=params.get('title',None),
requires=IS_NOT_EMPTY()),
Field('subtitle',default=params.get('subtitle',None)),
Field('author',default=params.get('author',None)),
Field('author_email',default=params.get('author_email',None)),
Field('keywords',default=params.get('keywords',None)),
Field('description','text',
default=params.get('description',None)),
Field('layout_theme',requires=IS_IN_SET(themes),
default=params.get('layout_theme',themes[0])),
Field('database_uri',default=params.get('database_uri',None)),
Field('security_key',default=params.get('security_key',None)),
Field('email_server',default=params.get('email_server',None)),
Field('email_sender',default=params.get('email_sender',None)),
Field('email_login',default=params.get('email_login',None)),
Field('login_method',requires=IS_IN_SET(('local','janrain')),
default=params.get('login_method','local')),
Field('login_config',default=params.get('login_config',None)),
Field('plugins','list:string',requires=IS_IN_SET(plugins,multiple=True)))
form = SQLFORM.factory(
Field('title', default=params.get('title', None),
requires=IS_NOT_EMPTY()),
Field('subtitle', default=params.get('subtitle', None)),
Field('author', default=params.get('author', None)),
Field(
'author_email', default=params.get('author_email', None)),
Field('keywords', default=params.get('keywords', None)),
Field('description', 'text',
default=params.get('description', None)),
Field('layout_theme', requires=IS_IN_SET(themes),
default=params.get('layout_theme', themes[0])),
Field(
'database_uri', default=params.get('database_uri', None)),
Field(
'security_key', default=params.get('security_key', None)),
Field(
'email_server', default=params.get('email_server', None)),
Field(
'email_sender', default=params.get('email_sender', None)),
Field('email_login', default=params.get('email_login', None)),
Field('login_method', requires=IS_IN_SET(('local', 'janrain')),
default=params.get('login_method', 'local')),
Field(
'login_config', default=params.get('login_config', None)),
Field('plugins', 'list:string', requires=IS_IN_SET(plugins, multiple=True)),
_class='span7 well well-small')
if form.accepts(request.vars):
session.app['params']=[(key,form.vars.get(key,None))
for key,value in session.app['params']]
redirect(URL('step2'))
return dict(step='1: Setting Parameters',form=form)
session.app['params'] = [(key, form.vars.get(key, None))
for key, value in session.app['params']]
redirect(URL('step2') + '/#xwizard_form')
return dict(step='1: Setting Parameters', form=form)
def step2():
response.view='wizard/step.html'
form=SQLFORM.factory(Field('table_names','list:string',
default=session.app['tables']))
response.view = 'wizard/step.html'
form = SQLFORM.factory(Field('table_names', 'list:string',
default=session.app['tables']), _class="span7 well well-small")
if form.accepts(request.vars):
table_names = [clean(t) for t in listify(form.vars.table_names) \
if t.strip()]
if [t for t in table_names if t.startswith('auth_') and \
not t=='auth_user']:
table_names = [clean(t) for t in listify(form.vars.table_names)
if t.strip()]
if [t for t in table_names if t.startswith('auth_') and
not t == 'auth_user']:
form.error.table_names = \
T('invalid table names (auth_* tables already defined)')
else:
session.app['tables']=table_names
session.app['tables'] = table_names
for table in session.app['tables']:
if not 'table_'+table in session.app:
session.app['table_'+table]=['name']
if not table=='auth_user':
name = table+'_manage'
if not 'table_' + table in session.app:
session.app['table_' + table] = ['name']
if not table == 'auth_user':
name = table + '_manage'
if not name in session.app['pages']:
session.app['pages'].append(name)
session.app['page_'+name] = \
session.app['page_' + name] = \
'## Manage %s\n\n{{=form}}' % (table)
if session.app['tables']:
redirect(URL('step3',args=0))
redirect(URL('step3', args=0) + '/#xwizard_form')
else:
redirect(URL('step4'))
return dict(step='2: Tables',form=form)
redirect(URL('step4') + '/#xwizard_form')
return dict(step='2: Tables', form=form)
def step3():
response.view='wizard/step.html'
n=int(request.args(0) or 0)
m=len(session.app['tables'])
if n>=m: redirect(URL('step2'))
table=session.app['tables'][n]
form=SQLFORM.factory(Field('field_names','list:string',
default=session.app.get('table_'+table,[])))
response.view = 'wizard/step.html'
n = int(request.args(-1) or 0)
m = len(session.app['tables'])
if n >= m:
redirect(URL('step2'))
table = session.app['tables'][n]
form = SQLFORM.factory(Field('field_names', 'list:string',
default=session.app.get('table_' + table, [])), _class="span7 well well-small")
if form.accepts(request.vars) and form.vars.field_names:
fields=listify(form.vars.field_names)
if table=='auth_user':
for field in ['first_name','last_name','username','email','password']:
fields = listify(form.vars.field_names)
if table == 'auth_user':
for field in ['first_name', 'last_name', 'username', 'email', 'password']:
if not field in fields:
fields.append(field)
session.app['table_'+table]=[t.strip().lower()
for t in listify(form.vars.field_names)
if t.strip()]
session.app['table_' + table] = [t.strip().lower()
for t in listify(form.vars.field_names)
if t.strip()]
try:
tables=sort_tables(session.app['tables'])
tables = sort_tables(session.app['tables'])
except RuntimeError:
response.flash=T('invalid circular reference')
response.flash = T('invalid circular reference')
else:
if n<m-1:
redirect(URL('step3',args=n+1))
if n < m - 1:
redirect(URL('step3', args=n + 1) + '/#xwizard_form')
else:
redirect(URL('step4'))
return dict(step='3: Fields for table "%s" (%s of %s)' \
% (table,n+1,m),table=table,form=form)
redirect(URL('step4') + '/#xwizard_form')
return dict(step='3: Fields for table "%s" (%s of %s)'
% (table, n + 1, m), table=table, form=form)
def step4():
response.view='wizard/step.html'
form=SQLFORM.factory(Field('pages','list:string',
default=session.app['pages']))
response.view = 'wizard/step.html'
form = SQLFORM.factory(Field('pages', 'list:string',
default=session.app['pages']), _class="span7 well well-small")
if form.accepts(request.vars):
session.app['pages']=[clean(t)
for t in listify(form.vars.pages)
if t.strip()]
session.app['pages'] = [clean(t)
for t in listify(form.vars.pages)
if t.strip()]
if session.app['pages']:
redirect(URL('step5',args=0))
redirect(URL('step5', args=0) + '/#xwizard_form')
else:
redirect(URL('step6'))
return dict(step='4: Pages',form=form)
redirect(URL('step6') + '/#xwizard_form')
return dict(step='4: Pages', form=form)
def step5():
response.view='wizard/step.html'
n=int(request.args(0) or 0)
m=len(session.app['pages'])
if n>=m: redirect(URL('step4'))
page=session.app['pages'][n]
markmin_url='http://web2py.com/examples/static/markmin.html'
form=SQLFORM.factory(Field('content','text',
default=session.app.get('page_'+page,[]),
comment=A('use markmin',
_href=markmin_url,_target='_blank')),
formstyle='table2cols')
response.view = 'wizard/step.html'
n = int(request.args(-1) or 0)
m = len(session.app['pages'])
if n >= m:
redirect(URL('step4'))
page = session.app['pages'][n]
markmin_url = 'http://web2py.com/examples/static/markmin.html'
form = SQLFORM.factory(Field('content', 'text',
default=session.app.get('page_' + page, []),
comment=A('use markmin',
_href=markmin_url, _target='_blank')),
formstyle='table2cols', _class="span7 well well-small")
if form.accepts(request.vars):
session.app['page_'+page]=form.vars.content
if n<m-1:
redirect(URL('step5',args=n+1))
session.app['page_' + page] = form.vars.content
if n < m - 1:
redirect(URL('step5', args=n + 1) + '/#xwizard_form')
else:
redirect(URL('step6'))
return dict(step='5: View for page "%s" (%s of %s)' % (page,n+1,m),form=form)
redirect(URL('step6') + '/#xwizard_form')
return dict(step='5: View for page "%s" (%s of %s)' % (page, n + 1, m), form=form)
def step6():
response.view='wizard/step.html'
response.view = 'wizard/step.html'
params = dict(session.app['params'])
app = session.app['name']
form=SQLFORM.factory(
Field('generate_model','boolean',default=True),
Field('generate_controller','boolean',default=True),
Field('generate_views','boolean',default=True),
Field('generate_menu','boolean',default=True),
Field('apply_layout','boolean',default=True),
Field('erase_database','boolean',default=True),
Field('populate_database','boolean',default=True))
form = SQLFORM.factory(
Field('generate_model', 'boolean', default=True),
Field('generate_controller', 'boolean', default=True),
Field('generate_views', 'boolean', default=True),
Field('generate_menu', 'boolean', default=True),
Field('apply_layout', 'boolean', default=True),
Field('erase_database', 'boolean', default=True),
Field('populate_database', 'boolean', default=True),
_id="generate_form", _class="form-horizontal span7 well well-small")
if form.accepts(request.vars):
if DEMO_MODE:
session.flash = T('Application cannot be generated in demo mode')
@@ -228,159 +252,173 @@ def step6():
create(form.vars)
session.flash = 'Application %s created' % app
redirect(URL('generated'))
return dict(step='6: Generate app "%s"' % app,form=form)
return dict(step='6: Generate app "%s"' % app, form=form)
def generated():
return dict(app=session.app['name'])
def sort_tables(tables):
import re
regex = re.compile('(%s)' % '|'.join(tables))
is_auth_user = 'auth_user' in tables
d={}
d = {}
for table in tables:
d[table]=[]
d[table] = []
for field in session.app['table_%s' % table]:
d[table]+=regex.findall(field)
tables=[]
d[table] += regex.findall(field)
tables = []
if is_auth_user:
tables.append('auth_user')
def append(table,trail=[]):
def append(table, trail=[]):
if table in trail:
raise RuntimeError
for t in d[table]:
# if not t==table: (problem, no dropdown for self references)
append(t,trail=trail+[table])
append(t, trail=trail + [table])
if not table in tables:
tables.append(table)
for table in d: append(table)
for table in d:
append(table)
return tables
def make_table(table,fields):
rawtable=table
if table!='auth_user': table='t_'+table
s=''
s+='\n'+'#'*40+'\n'
s+="db.define_table('%s',\n" % table
first_field='id'
def make_table(table, fields):
rawtable = table
if table != 'auth_user':
table = 't_' + table
s = ''
s += '\n' + '#' * 40 + '\n'
s += "db.define_table('%s',\n" % table
first_field = 'id'
for field in fields:
items=[x.lower() for x in field.split()]
items = [x.lower() for x in field.split()]
has = {}
keys = []
for key in ['notnull','unique','integer','double','boolean','float',
'boolean', 'date','time','datetime','text','wiki',
'html','file','upload','image','true',
'hidden','readonly','writeonly','multiple',
'notempty','required']:
for key in ['notnull', 'unique', 'integer', 'double', 'boolean', 'float',
'boolean', 'date', 'time', 'datetime', 'text', 'wiki',
'html', 'file', 'upload', 'image', 'true',
'hidden', 'readonly', 'writeonly', 'multiple',
'notempty', 'required']:
if key in items[1:]:
keys.append(key)
has[key] = True
tables = session.app['tables']
refs = [t for t in tables if t in items]
items = items[:1] + [x for x in items[1:] \
if not x in keys and not x in tables]
items = items[:1] + [x for x in items[1:]
if not x in keys and not x in tables]
barename = name = '_'.join(items)
if table[:2]=='t_': name='f_'+name
if first_field=='id': first_field=name
if table[:2] == 't_': name = 'f_' + name
if first_field == 'id':
first_field = name
### determine field type
ftype='string'
deftypes={'integer':'integer','double':'double','boolean':'boolean',
'float':'double','bool':'boolean',
'date':'date','time':'time','datetime':'datetime',
'text':'text','file':'upload','image':'upload',
'upload':'upload','wiki':'text', 'html':'text'}
for key,t in deftypes.items():
ftype = 'string'
deftypes = {'integer': 'integer', 'double': 'double', 'boolean': 'boolean',
'float': 'double', 'bool': 'boolean',
'date': 'date', 'time': 'time', 'datetime': 'datetime',
'text': 'text', 'file': 'upload', 'image': 'upload',
'upload': 'upload', 'wiki': 'text', 'html': 'text'}
for key, t in deftypes.items():
if key in has:
ftype = t
if refs:
key = refs[0]
if not key=='auth_user': key='t_'+key
if not key == 'auth_user':
key = 't_' + key
if 'multiple' in has:
ftype='list:reference %s' % key
ftype = 'list:reference %s' % key
else:
ftype='reference %s' % key
if ftype=='string' and 'multiple' in has:
ftype='list:string'
elif ftype=='integer' and 'multiple' in has:
ftype='list:integer'
elif name=='password':
ftype='password'
s+=" Field('%s', type='%s'" % (name, ftype)
ftype = 'reference %s' % key
if ftype == 'string' and 'multiple' in has:
ftype = 'list:string'
elif ftype == 'integer' and 'multiple' in has:
ftype = 'list:integer'
elif name == 'password':
ftype = 'password'
s += " Field('%s', type='%s'" % (name, ftype)
### determine field attributes
if 'notnull' in has or 'notempty' in has or 'required' in has:
s+=', notnull=True'
s += ', notnull=True'
if 'unique' in has:
s+=', unique=True'
if ftype=='boolean' and 'true' in has:
s+=",\n default=True"
s += ', unique=True'
if ftype == 'boolean' and 'true' in has:
s += ",\n default=True"
### determine field representation
elif 'wiki' in has:
s+=",\n represent=lambda x, row: MARKMIN(x)"
s+=",\n comment='WIKI (markmin)'"
s += ",\n represent=lambda x, row: MARKMIN(x)"
s += ",\n comment='WIKI (markmin)'"
elif 'html' in has:
s+=",\n represent=lambda x, row: XML(x,sanitize=True)"
s+=",\n comment='HTML (sanitized)'"
s += ",\n represent=lambda x, row: XML(x,sanitize=True)"
s += ",\n comment='HTML (sanitized)'"
### determine field access
if name=='password' or 'writeonly' in has:
s+=",\n readable=False"
if name == 'password' or 'writeonly' in has:
s += ",\n readable=False"
elif 'hidden' in has:
s+=",\n writable=False, readable=False"
s += ",\n writable=False, readable=False"
elif 'readonly' in has:
s+=",\n writable=False"
s += ",\n writable=False"
### make up a label
s+=",\n label=T('%s')),\n" % \
s += ",\n label=T('%s')),\n" % \
' '.join(x.capitalize() for x in barename.split('_'))
if table=='auth_user':
s+=" Field('created_on','datetime',default=request.now,\n"
s+=" label=T('Created On'),writable=False,readable=False),\n"
s+=" Field('modified_on','datetime',default=request.now,\n"
s+=" label=T('Modified On'),writable=False,readable=False,\n"
s+=" update=request.now),\n"
s+=" Field('registration_key',default='',\n"
s+=" writable=False,readable=False),\n"
s+=" Field('reset_password_key',default='',\n"
s+=" writable=False,readable=False),\n"
s+=" Field('registration_id',default='',\n"
s+=" writable=False,readable=False),\n"
if table == 'auth_user':
s += " Field('created_on','datetime',default=request.now,\n"
s += " label=T('Created On'),writable=False,readable=False),\n"
s += " Field('modified_on','datetime',default=request.now,\n"
s += " label=T('Modified On'),writable=False,readable=False,\n"
s += " update=request.now),\n"
s += " Field('registration_key',default='',\n"
s += " writable=False,readable=False),\n"
s += " Field('reset_password_key',default='',\n"
s += " writable=False,readable=False),\n"
s += " Field('registration_id',default='',\n"
s += " writable=False,readable=False),\n"
elif 'auth_user' in session.app['tables']:
s+=" auth.signature,\n"
s+=" format='%("+first_field+")s',\n"
s+=" migrate=settings.migrate)\n\n"
if table=='auth_user':
s+="""
db.auth_user.first_name.requires = IS_NOT_EMPTY(error_message=auth.messages.is_empty)
db.auth_user.last_name.requires = IS_NOT_EMPTY(error_message=auth.messages.is_empty)
db.auth_user.password.requires = CRYPT(key=auth.settings.hmac_key, min_length=4)
s += " auth.signature,\n"
s += " format='%(" + first_field + ")s',\n"
s += " migrate=settings.migrate)\n\n"
if table == 'auth_user':
s += """
db.auth_user.first_name.requires = IS_NOT_EMPTY(
error_message=auth.messages.is_empty)
db.auth_user.last_name.requires = IS_NOT_EMPTY(
error_message=auth.messages.is_empty)
db.auth_user.password.requires = CRYPT(
key=auth.settings.hmac_key, min_length=4)
db.auth_user.username.requires = IS_NOT_IN_DB(db, db.auth_user.username)
db.auth_user.email.requires = (IS_EMAIL(error_message=auth.messages.invalid_email),
db.auth_user.email.requires = (
IS_EMAIL(error_message=auth.messages.invalid_email),
IS_NOT_IN_DB(db, db.auth_user.email))
"""
else:
s+="db.define_table('%s_archive',db.%s,Field('current_record','reference %s',readable=False,writable=False))\n" % (table,table,table)
s += "db.define_table('%s_archive',db.%s,Field('current_record','reference %s',readable=False,writable=False))\n" % (table, table, table)
return s
def fix_db(filename):
params = dict(session.app['params'])
content = read_file(filename,'rb')
content = read_file(filename, 'rb')
if 'auth_user' in session.app['tables']:
auth_user = make_table('auth_user',session.app['table_auth_user'])
auth_user = make_table('auth_user', session.app['table_auth_user'])
content = content.replace('sqlite://storage.sqlite',
params['database_uri'])
content = content.replace('auth.define_tables()',\
auth_user+'auth.define_tables(migrate = settings.migrate)')
params['database_uri'])
content = content.replace('auth.define_tables()',
auth_user + 'auth.define_tables(migrate = settings.migrate)')
content += """
mail.settings.server = settings.email_server
mail.settings.sender = settings.email_sender
mail.settings.login = settings.email_login
"""
if params['login_method']=='janrain':
content+="""
if params['login_method'] == 'janrain':
content += """
from gluon.contrib.login_methods.rpx_account import RPXAccount
auth.settings.actions_disabled=['register','change_password','request_reset_password']
auth.settings.actions_disabled=['register','change_password',
'request_reset_password']
auth.settings.login_form = RPXAccount(request,
api_key = settings.login_config.split(':')[-1],
domain = settings.login_config.split(':')[0],
@@ -388,14 +426,15 @@ auth.settings.login_form = RPXAccount(request,
"""
write_file(filename, content, 'wb')
def make_menu(pages):
s=''
s+='response.title = settings.title\n'
s+='response.subtitle = settings.subtitle\n'
s+="response.meta.author = '%(author)s <%(author_email)s>' % settings\n"
s+='response.meta.keywords = settings.keywords\n'
s+='response.meta.description = settings.description\n'
s+='response.menu = [\n'
s = ''
s += 'response.title = settings.title\n'
s += 'response.subtitle = settings.subtitle\n'
s += "response.meta.author = '%(author)s <%(author_email)s>' % settings\n"
s += 'response.meta.keywords = settings.keywords\n'
s += 'response.meta.description = settings.description\n'
s += 'response.menu = [\n'
for page in pages:
if not page.startswith('error'):
if page.endswith('_manage'):
@@ -403,65 +442,70 @@ def make_menu(pages):
else:
page_name = page
page_name = ' '.join(x.capitalize() for x in page_name.split('_'))
s+="(T('%s'),URL('default','%s')==URL(),URL('default','%s'),[]),\n" \
% (page_name,page,page)
s+=']'
s += "(T('%s'),URL('default','%s')==URL(),URL('default','%s'),[]),\n" \
% (page_name, page, page)
s += ']'
return s
def make_page(page,contents):
if 'auth_user' in session.app['tables'] and not page in ('index','error'):
s="@auth.requires_login()\ndef %s():\n" % page
def make_page(page, contents):
if 'auth_user' in session.app['tables'] and not page in ('index', 'error'):
s = "@auth.requires_login()\ndef %s():\n" % page
else:
s="def %s():\n" % page
items = page.rsplit('_',1)
if items[0] in session.app['tables'] and len(items)==2 and items[1]=='manage':
s+=" form = SQLFORM.smartgrid(db.t_%s,onupdate=auth.archive)\n" % items[0]
s+=" return locals()\n\n"
s = "def %s():\n" % page
items = page.rsplit('_', 1)
if items[0] in session.app['tables'] and len(items) == 2 and items[1] == 'manage':
s += " form = SQLFORM.smartgrid(db.t_%s,onupdate=auth.archive)\n" % items[0]
s += " return locals()\n\n"
else:
s+=" return dict()\n\n"
s += " return dict()\n\n"
return s
def make_view(page,contents):
s="{{extend 'layout.html'}}\n\n"
s+=str(MARKMIN(contents))
def make_view(page, contents):
s = "{{extend 'layout.html'}}\n\n"
s += str(MARKMIN(contents))
return s
def populate(tables):
s = 'from gluon.contrib.populate import populate\n'
s+= 'if db(db.auth_user).isempty():\n'
s += 'if db(db.auth_user).isempty():\n'
for table in sort_tables(tables):
t=table=='auth_user' and 'auth_user' or 't_'+table
s+=" populate(db.%s,10)\n" % t
t = table == 'auth_user' and 'auth_user' or 't_' + table
s += " populate(db.%s,10)\n" % t
return s
def create(options):
if DEMO_MODE:
session.flash = T('disabled in demo mode')
redirect(URL('step6'))
params = dict(session.app['params'])
app = session.app['name']
if app_create(app,request,force=True,key=params['security_key']):
if app_create(app, request, force=True, key=params['security_key']):
if MULTI_USER_MODE:
db.app.insert(name=app,owner=auth.user.id)
db.app.insert(name=app, owner=auth.user.id)
else:
session.flash = 'Failure to create application'
redirect(URL('step6'))
### save metadata in newapp/wizard.metadata
try:
meta = os.path.join(request.folder,'..',app,'wizard.metadata')
file=open(meta,'wb')
pickle.dump(session.app,file)
meta = os.path.join(request.folder, '..', app, 'wizard.metadata')
file = open(meta, 'wb')
pickle.dump(session.app, file)
file.close()
except IOError:
session.flash = 'Failure to write wizard metadata'
redirect(URL('step6'))
### apply theme
if options.apply_layout and params['layout_theme']!='Default':
if options.apply_layout and params['layout_theme'] != 'Default':
try:
fn = 'web2py.plugin.layout_%s.w2p' % params['layout_theme']
theme = urllib.urlopen(LAYOUTS_APP+'/static/plugin_layouts/plugins/'+fn)
theme = urllib.urlopen(
LAYOUTS_APP + '/static/plugin_layouts/plugins/' + fn)
plugin_install(app, theme, request, fn)
except:
session.flash = T("unable to download layout")
@@ -469,55 +513,58 @@ def create(options):
### apply plugins
for plugin in params['plugins']:
try:
plugin_name = 'web2py.plugin.'+plugin+'.w2p'
stream = urllib.urlopen(PLUGINS_APP+'/static/'+plugin_name)
plugin_name = 'web2py.plugin.' + plugin + '.w2p'
stream = urllib.urlopen(PLUGINS_APP + '/static/' + plugin_name)
plugin_install(app, stream, request, plugin_name)
except Exception, e:
session.flash = T("unable to download plugin: %s" % plugin)
### write configuration file into newapp/models/0.py
model = os.path.join(request.folder,'..',app,'models','0.py')
model = os.path.join(request.folder, '..', app, 'models', '0.py')
file = open(model, 'wb')
try:
file.write("from gluon.storage import Storage\n")
file.write("settings = Storage()\n\n")
file.write("settings.migrate = True\n")
for key,value in session.app['params']:
file.write("settings.%s = %s\n" % (key,repr(value)))
for key, value in session.app['params']:
file.write("settings.%s = %s\n" % (key, repr(value)))
finally:
file.close()
### write configuration file into newapp/models/menu.py
if options.generate_menu:
model = os.path.join(request.folder,'..',app,'models','menu.py')
file = open(model,'wb')
model = os.path.join(request.folder, '..', app, 'models', 'menu.py')
file = open(model, 'wb')
try:
file.write(make_menu(session.app['pages']))
finally:
file.close()
### customize the auth_user table
model = os.path.join(request.folder,'..',app,'models','db.py')
model = os.path.join(request.folder, '..', app, 'models', 'db.py')
fix_db(model)
### create newapp/models/db_wizard.py
if options.generate_model:
model = os.path.join(request.folder,'..',app,'models','db_wizard.py')
file = open(model,'wb')
model = os.path.join(
request.folder, '..', app, 'models', 'db_wizard.py')
file = open(model, 'wb')
try:
file.write('### we prepend t_ to tablenames and f_ to fieldnames for disambiguity\n\n')
tables = sort_tables(session.app['tables'])
for table in tables:
if table=='auth_user': continue
file.write(make_table(table,session.app['table_'+table]))
if table == 'auth_user':
continue
file.write(make_table(table, session.app['table_' + table]))
finally:
file.close()
model = os.path.join(request.folder,'..',app,
'models','db_wizard_populate.py')
if os.path.exists(model): os.unlink(model)
model = os.path.join(request.folder, '..', app,
'models', 'db_wizard_populate.py')
if os.path.exists(model):
os.unlink(model)
if options.populate_database and session.app['tables']:
file = open(model,'wb')
file = open(model, 'wb')
try:
file.write(populate(session.app['tables']))
finally:
@@ -525,8 +572,9 @@ def create(options):
### create newapp/controllers/default.py
if options.generate_controller:
controller = os.path.join(request.folder,'..',app,'controllers','default.py')
file = open(controller,'wb')
controller = os.path.join(
request.folder, '..', app, 'controllers', 'default.py')
file = open(controller, 'wb')
try:
file.write("""# -*- coding: utf-8 -*-
### required - do no delete
@@ -536,23 +584,24 @@ def call(): return service()
### end requires
""")
for page in session.app['pages']:
file.write(make_page(page,session.app.get('page_'+page,'')))
file.write(
make_page(page, session.app.get('page_' + page, '')))
finally:
file.close()
### create newapp/views/default/*.html
if options.generate_views:
for page in session.app['pages']:
view = os.path.join(request.folder,'..',app,'views','default',page+'.html')
file = open(view,'wb')
view = os.path.join(
request.folder, '..', app, 'views', 'default', page + '.html')
file = open(view, 'wb')
try:
file.write(make_view(page,session.app.get('page_'+page,'')))
file.write(
make_view(page, session.app.get('page_' + page, '')))
finally:
file.close()
if options.erase_database:
path = os.path.join(request.folder,'..',app,'databases','*')
path = os.path.join(request.folder, '..', app, 'databases', '*')
for file in glob.glob(path):
os.unlink(file)
+3 -5
View File
@@ -1,10 +1,10 @@
EXPIRATION_MINUTES=60
DIGITS=('0','1','2','3','4','5','6','7','8','9')
import os, time, stat, cPickle, logging
path=os.path.join(request.folder,'sessions')
path = os.path.join(request.folder,'sessions')
if not os.path.exists(path):
os.mkdir(path)
now=time.time()
now = time.time()
for filename in os.listdir(path):
fullpath=os.path.join(path,filename)
if os.path.isfile(fullpath) and filename.startswith(DIGITS):
@@ -18,6 +18,4 @@ for filename in os.listdir(path):
if (now - filetime) > expiration:
os.unlink(fullpath)
except:
logging.exception('failure to check %s'%fullpath)
logging.exception('failure to check %s' % fullpath)
+1 -1
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'af',
'!langname!': 'Afrikaanse',
+1 -1
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'bg',
'!langname!': 'Български',
+480
View File
@@ -0,0 +1,480 @@
# -*- coding: utf-8 -*-
{
'!langcode!': 'cs-cz',
'!langname!': 'čeština',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': 'Kolonka "Upravit" je nepovinný výraz, například "pole1=\'nováhodnota\'". Výsledky databázového JOINu nemůžete mazat ani upravovat.',
'"User Exception" debug mode. An error ticket could be issued!': '"User Exception" debug mode. An error ticket could be issued!',
'%%{Row} in Table': '%%{řádek} v tabulce',
'%%{Row} selected': 'označených %%{řádek}',
'%s %%{row} deleted': '%s smazaných %%{záznam}',
'%s %%{row} updated': '%s upravených %%{záznam}',
'%s selected': '%s označených',
'%Y-%m-%d': '%d.%m.%Y',
'%Y-%m-%d %H:%M:%S': '%d.%m.%Y %H:%M:%S',
'(requires internet access)': '(vyžaduje připojení k internetu)',
'(requires internet access, experimental)': '(requires internet access, experimental)',
'(something like "it-it")': '(například "cs-cs")',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(soubor **gluon/contrib/plural_rules/%s.py** nenalezen)',
'@markmin\x01Searching: **%s** %%{file}': 'Hledání: **%s** %%{soubor}',
'About': 'O programu',
'About application': 'O aplikaci',
'Access Control': 'Řízení přístupu',
'Add breakpoint': 'Přidat bod přerušení',
'Additional code for your application': 'Další kód pro Vaši aplikaci',
'Admin design page': 'Admin design page',
'Admin language': 'jazyk rozhraní',
'Administrative interface': 'pro administrátorské rozhraní klikněte sem',
'Administrative Interface': 'Administrátorské rozhraní',
'administrative interface': 'rozhraní pro správu',
'Administrator Password:': 'Administrátorské heslo:',
'Ajax Recipes': 'Recepty s ajaxem',
'An error occured, please %s the page': 'An error occured, please %s the page',
'and rename it:': 'a přejmenovat na:',
'appadmin': 'appadmin',
'appadmin is disabled because insecure channel': 'appadmin je zakázaná bez zabezpečeného spojení',
'Application': 'Application',
'application "%s" uninstalled': 'application "%s" odinstalována',
'application compiled': 'aplikace zkompilována',
'Application name:': 'Název aplikace:',
'are not used': 'nepoužita',
'are not used yet': 'ještě nepoužita',
'Are you sure you want to delete this object?': 'Opravdu chcete odstranit tento objekt?',
'Are you sure you want to uninstall application "%s"?': 'Opravdu chcete odinstalovat aplikaci "%s"?',
'arguments': 'arguments',
'at char %s': 'at char %s',
'at line %s': 'at line %s',
'ATTENTION:': 'ATTENTION:',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'Available Databases and Tables': 'Dostupné databáze a tabulky',
'back': 'zpět',
'Back to wizard': 'Back to wizard',
'Basics': 'Basics',
'Begin': 'Začít',
'breakpoint': 'bod přerušení',
'Breakpoints': 'Body přerušení',
'breakpoints': 'body přerušení',
'Buy this book': 'Koupit web2py knihu',
'Cache': 'Cache',
'cache': 'cache',
'Cache Keys': 'Klíče cache',
'cache, errors and sessions cleaned': 'cache, chyby a relace byly pročištěny',
'can be a git repo': 'může to být git repo',
'Cancel': 'Storno',
'Cannot be empty': 'Nemůže být prázdné',
'Change Admin Password': 'Změnit heslo pro správu',
'Change admin password': 'Změnit heslo pro správu aplikací',
'Change password': 'Změna hesla',
'check all': 'vše označit',
'Check for upgrades': 'Zkusit aktualizovat',
'Check to delete': 'Označit ke smazání',
'Check to delete:': 'Označit ke smazání:',
'Checking for upgrades...': 'Zjišťuji, zda jsou k dispozici aktualizace...',
'Clean': 'Pročistit',
'Clear CACHE?': 'Vymazat CACHE?',
'Clear DISK': 'Vymazat DISK',
'Clear RAM': 'Vymazat RAM',
'Click row to expand traceback': 'Pro rozbalení stopy, klikněte na řádek',
'Click row to view a ticket': 'Pro zobrazení chyby (ticketu), klikněte na řádku...',
'Client IP': 'IP adresa klienta',
'code': 'code',
'Code listing': 'Code listing',
'collapse/expand all': 'vše sbalit/rozbalit',
'Community': 'Komunita',
'Compile': 'Zkompilovat',
'compiled application removed': 'zkompilovaná aplikace smazána',
'Components and Plugins': 'Komponenty a zásuvné moduly',
'Condition': 'Podmínka',
'continue': 'continue',
'Controller': 'Kontrolér (Controller)',
'Controllers': 'Kontroléry',
'controllers': 'kontroléry',
'Copyright': 'Copyright',
'Count': 'Počet',
'Create': 'Vytvořit',
'create file with filename:': 'vytvořit soubor s názvem:',
'created by': 'vytvořil',
'Created By': 'Vytvořeno - kým',
'Created On': 'Vytvořeno - kdy',
'crontab': 'crontab',
'Current request': 'Aktuální požadavek',
'Current response': 'Aktuální odpověď',
'Current session': 'Aktuální relace',
'currently running': 'právě běží',
'currently saved or': 'uloženo nebo',
'customize me!': 'upravte mě!',
'data uploaded': 'data nahrána',
'Database': 'Rozhraní databáze',
'Database %s select': 'databáze %s výběr',
'Database administration': 'Database administration',
'database administration': 'správa databáze',
'Date and Time': 'Datum a čas',
'day': 'den',
'db': 'db',
'DB Model': 'Databázový model',
'Debug': 'Ladění',
'defines tables': 'defines tables',
'Delete': 'Smazat',
'delete': 'smazat',
'delete all checked': 'smazat vše označené',
'delete plugin': 'delete plugin',
'Delete this file (you will be asked to confirm deletion)': 'Smazat tento soubor (budete požádán o potvrzení mazání)',
'Delete:': 'Smazat:',
'deleted after first hit': 'smazat po prvním dosažení',
'Demo': 'Demo',
'Deploy': 'Nahrát',
'Deploy on Google App Engine': 'Nahrát na Google App Engine',
'Deploy to OpenShift': 'Nahrát na OpenShift',
'Deployment Recipes': 'Postupy pro deployment',
'Description': 'Popis',
'design': 'návrh',
'Detailed traceback description': 'Podrobný výpis prostředí',
'details': 'podrobnosti',
'direction: ltr': 'směr: ltr',
'Disable': 'Zablokovat',
'DISK': 'DISK',
'Disk Cache Keys': 'Klíče diskové cache',
'Disk Cleared': 'Disk smazán',
'docs': 'dokumentace',
'Documentation': 'Dokumentace',
"Don't know what to do?": 'Nevíte kudy kam?',
'done!': 'hotovo!',
'Download': 'Stáhnout',
'download layouts': 'stáhnout moduly rozvržení stránky',
'download plugins': 'stáhnout zásuvné moduly',
'E-mail': 'E-mail',
'Edit': 'Upravit',
'edit all': 'edit all',
'Edit application': 'Správa aplikace',
'edit controller': 'edit controller',
'Edit current record': 'Upravit aktuální záznam',
'Edit Profile': 'Upravit profil',
'edit views:': 'upravit pohled:',
'Editing file "%s"': 'Úprava souboru "%s"',
'Editing Language file': 'Úprava jazykového souboru',
'Editing Plural Forms File': 'Editing Plural Forms File',
'Email and SMS': 'Email a SMS',
'Enable': 'Odblokovat',
'enter a number between %(min)g and %(max)g': 'zadejte číslo mezi %(min)g a %(max)g',
'enter an integer between %(min)g and %(max)g': 'zadejte celé číslo mezi %(min)g a %(max)g',
'Error': 'Chyba',
'Error logs for "%(app)s"': 'Seznam výskytu chyb pro aplikaci "%(app)s"',
'Error snapshot': 'Snapshot chyby',
'Error ticket': 'Ticket chyby',
'Errors': 'Chyby',
'Exception %(extype)s: %(exvalue)s': 'Exception %(extype)s: %(exvalue)s',
'Exception %s': 'Exception %s',
'Exception instance attributes': 'Prvky instance výjimky',
'Expand Abbreviation': 'Expand Abbreviation',
'export as csv file': 'exportovat do .csv souboru',
'exposes': 'vystavuje',
'exposes:': 'vystavuje funkce:',
'extends': 'rozšiřuje',
'failed to compile file because:': 'soubor se nepodařilo zkompilovat, protože:',
'FAQ': 'Často kladené dotazy',
'File': 'Soubor',
'file': 'soubor',
'file "%(filename)s" created': 'file "%(filename)s" created',
'file saved on %(time)s': 'soubor uložen %(time)s',
'file saved on %s': 'soubor uložen %s',
'Filename': 'Název souboru',
'filter': 'filtr',
'Find Next': 'Najít další',
'Find Previous': 'Najít předchozí',
'First name': 'Křestní jméno',
'Forgot username?': 'Zapomněl jste svoje přihlašovací jméno?',
'forgot username?': 'zapomněl jste svoje přihlašovací jméno?',
'Forms and Validators': 'Formuláře a validátory',
'Frames': 'Frames',
'Free Applications': 'Aplikace zdarma',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'Generate': 'Vytvořit',
'Get from URL:': 'Stáhnout z internetu:',
'Git Pull': 'Git Pull',
'Git Push': 'Git Push',
'Globals##debug': 'Globální proměnné',
'go!': 'OK!',
'Goto': 'Goto',
'graph model': 'graph model',
'Group %(group_id)s created': 'Skupina %(group_id)s vytvořena',
'Group ID': 'ID skupiny',
'Groups': 'Skupiny',
'Hello World': 'Ahoj světe',
'Help': 'Nápověda',
'Hide/Show Translated strings': 'Skrýt/Zobrazit přeložené texty',
'Hits': 'Kolikrát dosaženo',
'Home': 'Domovská stránka',
'honored only if the expression evaluates to true': 'brát v potaz jen když se tato podmínka vyhodnotí kladně',
'How did you get here?': 'Jak jste se sem vlastně dostal?',
'If start the upgrade, be patient, it may take a while to download': 'If start the upgrade, be patient, it may take a while to download',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.',
'import': 'import',
'Import/Export': 'Import/Export',
'includes': 'zahrnuje',
'Index': 'Index',
'insert new': 'vložit nový záznam ',
'insert new %s': 'vložit nový záznam %s',
'inspect attributes': 'inspect attributes',
'Install': 'Instalovat',
'Installed applications': 'Nainstalované aplikace',
'Interaction at %s line %s': 'Interakce v %s, na řádce %s',
'Interactive console': 'Interaktivní příkazová řádka',
'Internal State': 'Vnitřní stav',
'Introduction': 'Úvod',
'Invalid email': 'Neplatný email',
'Invalid password': 'Nesprávné heslo',
'invalid password.': 'neplatné heslo',
'Invalid Query': 'Neplatný dotaz',
'invalid request': 'Neplatný požadavek',
'Is Active': 'Je aktivní',
'It is %s %%{day} today.': 'Dnes je to %s %%{den}.',
'Key': 'Klíč',
'Key bindings': 'Vazby klíčů',
'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin',
'languages': 'jazyky',
'Languages': 'Jazyky',
'Last name': 'Příjmení',
'Last saved on:': 'Naposledy uloženo:',
'Layout': 'Rozvržení stránky (layout)',
'Layout Plugins': 'Moduly rozvržení stránky (Layout Plugins)',
'Layouts': 'Rozvržení stránek',
'License for': 'Licence pro',
'Line number': 'Číslo řádku',
'LineNo': 'Č.řádku',
'Live Chat': 'Online pokec',
'loading...': 'nahrávám...',
'locals': 'locals',
'Locals##debug': 'Lokální proměnné',
'Logged in': 'Přihlášení proběhlo úspěšně',
'Logged out': 'Odhlášení proběhlo úspěšně',
'Login': 'Přihlásit se',
'login': 'přihlásit se',
'Login to the Administrative Interface': 'Přihlásit se do Správce aplikací',
'logout': 'odhlásit se',
'Logout': 'Odhlásit se',
'Lost Password': 'Zapomněl jste heslo',
'Lost password?': 'Zapomněl jste heslo?',
'lost password?': 'zapomněl jste heslo?',
'Manage': 'Manage',
'Manage Cache': 'Manage Cache',
'Menu Model': 'Model rozbalovací nabídky',
'Models': 'Modely',
'models': 'modely',
'Modified By': 'Změněno - kým',
'Modified On': 'Změněno - kdy',
'Modules': 'Moduly',
'modules': 'moduly',
'My Sites': 'Správa aplikací',
'Name': 'Jméno',
'new application "%s" created': 'nová aplikace "%s" vytvořena',
'New Application Wizard': 'Nový průvodce aplikací',
'New application wizard': 'Nový průvodce aplikací',
'New password': 'Nové heslo',
'New Record': 'Nový záznam',
'new record inserted': 'nový záznam byl založen',
'New simple application': 'Vytvořit primitivní aplikaci',
'next': 'next',
'next 100 rows': 'dalších 100 řádků',
'No databases in this application': 'V této aplikaci nejsou žádné databáze',
'No Interaction yet': 'Ještě žádná interakce nenastala',
'No ticket_storage.txt found under /private folder': 'Soubor ticket_storage.txt v adresáři /private nenalezen',
'Object or table name': 'Objekt či tabulka',
'Old password': 'Původní heslo',
'online designer': 'online návrhář',
'Online examples': 'Příklady online',
'Open new app in new window': 'Open new app in new window',
'or alternatively': 'or alternatively',
'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'nebo importovat z .csv souboru',
'Origin': 'Původ',
'Original/Translation': 'Originál/Překlad',
'Other Plugins': 'Ostatní moduly',
'Other Recipes': 'Ostatní zásuvné moduly',
'Overview': 'Přehled',
'Overwrite installed app': 'Přepsat instalovanou aplikaci',
'Pack all': 'Zabalit',
'Pack compiled': 'Zabalit zkompilované',
'pack plugin': 'pack plugin',
'password': 'heslo',
'Password': 'Heslo',
"Password fields don't match": 'Hesla se neshodují',
'Peeking at file': 'Peeking at file',
'Please': 'Prosím',
'Plugin "%s" in application': 'Plugin "%s" in application',
'plugins': 'zásuvné moduly',
'Plugins': 'Zásuvné moduly',
'Plural Form #%s': 'Plural Form #%s',
'Plural-Forms:': 'Množná čísla:',
'Powered by': 'Poháněno',
'Preface': 'Předmluva',
'previous 100 rows': 'předchozích 100 řádků',
'Private files': 'Soukromé soubory',
'private files': 'soukromé soubory',
'profile': 'profil',
'Project Progress': 'Vývoj projektu',
'Python': 'Python',
'Query:': 'Dotaz:',
'Quick Examples': 'Krátké příklady',
'RAM': 'RAM',
'RAM Cache Keys': 'Klíče RAM Cache',
'Ram Cleared': 'RAM smazána',
'Readme': 'Nápověda',
'Recipes': 'Postupy jak na to',
'Record': 'Záznam',
'record does not exist': 'záznam neexistuje',
'Record ID': 'ID záznamu',
'Record id': 'id záznamu',
'refresh': 'obnovte',
'register': 'registrovat',
'Register': 'Zaregistrovat se',
'Registration identifier': 'Registrační identifikátor',
'Registration key': 'Registrační klíč',
'reload': 'reload',
'Reload routes': 'Znovu nahrát cesty',
'Remember me (for 30 days)': 'Zapamatovat na 30 dní',
'Remove compiled': 'Odstranit zkompilované',
'Removed Breakpoint on %s at line %s': 'Bod přerušení smazán - soubor %s na řádce %s',
'Replace': 'Zaměnit',
'Replace All': 'Zaměnit vše',
'request': 'request',
'Reset Password key': 'Reset registračního klíče',
'response': 'response',
'restart': 'restart',
'restore': 'obnovit',
'Retrieve username': 'Získat přihlašovací jméno',
'return': 'return',
'revert': 'vrátit se k původnímu',
'Role': 'Role',
'Rows in Table': 'Záznamy v tabulce',
'Rows selected': 'Záznamů zobrazeno',
'rules are not defined': 'pravidla nejsou definována',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Spustí testy v tomto souboru (ke spuštění všech testů, použijte tlačítko 'test')",
'Running on %s': 'Běží na %s',
'Save': 'Uložit',
'Save file:': 'Save file:',
'Save via Ajax': 'Uložit pomocí Ajaxu',
'Saved file hash:': 'hash uloženého souboru:',
'Semantic': 'Modul semantic',
'Services': 'Služby',
'session': 'session',
'session expired': 'session expired',
'Set Breakpoint on %s at line %s: %s': 'Bod přerušení nastaven v souboru %s na řádce %s: %s',
'shell': 'příkazová řádka',
'Singular Form': 'Singular Form',
'Site': 'Správa aplikací',
'Size of cache:': 'Velikost cache:',
'skip to generate': 'skip to generate',
'Sorry, could not find mercurial installed': 'Bohužel mercurial není nainstalován.',
'Start a new app': 'Vytvořit novou aplikaci',
'Start searching': 'Začít hledání',
'Start wizard': 'Spustit průvodce',
'state': 'stav',
'Static': 'Static',
'static': 'statické soubory',
'Static files': 'Statické soubory',
'Statistics': 'Statistika',
'Step': 'Step',
'step': 'step',
'stop': 'stop',
'Stylesheet': 'CSS styly',
'submit': 'odeslat',
'Submit': 'Odeslat',
'successful': 'úspěšně',
'Support': 'Podpora',
'Sure you want to delete this object?': 'Opravdu chcete smazat tento objekt?',
'Table': 'tabulka',
'Table name': 'Název tabulky',
'Temporary': 'Dočasný',
'test': 'test',
'Testing application': 'Testing application',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"Dotaz" je podmínka, například "db.tabulka1.pole1==\'hodnota\'". Podmínka "db.tabulka1.pole1==db.tabulka2.pole2" pak vytvoří SQL JOIN.',
'The application logic, each URL path is mapped in one exposed function in the controller': 'Logika aplikace: každá URL je mapována na funkci vystavovanou kontrolérem.',
'The Core': 'Jádro (The Core)',
'The data representation, define database tables and sets': 'Reprezentace dat: definovat tabulky databáze a záznamy',
'The output of the file is a dictionary that was rendered by the view %s': 'Výstup ze souboru je slovník, který se zobrazil v pohledu %s.',
'The presentations layer, views are also known as templates': 'Prezentační vrstva: pohledy či templaty (šablony)',
'The Views': 'Pohledy (The Views)',
'There are no controllers': 'There are no controllers',
'There are no modules': 'There are no modules',
'There are no plugins': 'Žádné moduly nejsou instalovány.',
'There are no private files': 'Žádné soukromé soubory neexistují.',
'There are no static files': 'There are no static files',
'There are no translators, only default language is supported': 'There are no translators, only default language is supported',
'There are no views': 'There are no views',
'These files are not served, they are only available from within your app': 'Tyto soubory jsou klientům nepřístupné. K dispozici jsou pouze v rámci aplikace.',
'These files are served without processing, your images go here': 'Tyto soubory jsou servírovány bez přídavné logiky, sem patří např. obrázky.',
'This App': 'Tato aplikace',
'This is a copy of the scaffolding application': 'Toto je kopie aplikace skelet.',
'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk': 'This is an experimental feature and it needs more testing. If you decide to upgrade you do it at your own risk',
'This is the %(filename)s template': 'This is the %(filename)s template',
'this page to see if a breakpoint was hit and debug interaction is required.': 'tuto stránku, abyste uviděli, zda se dosáhlo bodu přerušení.',
'Ticket': 'Ticket',
'Ticket ID': 'Ticket ID',
'Time in Cache (h:m:s)': 'Čas v Cache (h:m:s)',
'Timestamp': 'Časové razítko',
'to previous version.': 'k předchozí verzi.',
'To create a plugin, name a file/folder plugin_[name]': 'Zásuvný modul vytvoříte tak, že pojmenujete soubor/adresář plugin_[jméno modulu]',
'To emulate a breakpoint programatically, write:': 'K nastavení bodu přerušení v kódu programu, napište:',
'to use the debugger!': ', abyste mohli ladící program používat!',
'toggle breakpoint': 'vyp./zap. bod přerušení',
'Toggle Fullscreen': 'Na celou obrazovku a zpět',
'too short': 'Příliš krátké',
'Traceback': 'Traceback',
'Translation strings for the application': 'Překlad textů pro aplikaci',
'try something like': 'try something like',
'Try the mobile interface': 'Zkuste rozhraní pro mobilní zařízení',
'try view': 'try view',
'Twitter': 'Twitter',
'Type python statement in here and hit Return (Enter) to execute it.': 'Type python statement in here and hit Return (Enter) to execute it.',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Type some Python code in here and hit Return (Enter) to execute it.',
'Unable to check for upgrades': 'Unable to check for upgrades',
'unable to parse csv file': 'csv soubor nedá sa zpracovat',
'uncheck all': 'vše odznačit',
'Uninstall': 'Odinstalovat',
'update': 'aktualizovat',
'update all languages': 'aktualizovat všechny jazyky',
'Update:': 'Upravit:',
'Upgrade': 'Upgrade',
'upgrade now': 'upgrade now',
'upgrade now to %s': 'upgrade now to %s',
'upload': 'nahrát',
'Upload': 'Upload',
'Upload a package:': 'Nahrát balík:',
'Upload and install packed application': 'Nahrát a instalovat zabalenou aplikaci',
'upload file:': 'nahrát soubor:',
'upload plugin file:': 'nahrát soubor modulu:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Použijte (...)&(...) pro AND, (...)|(...) pro OR a ~(...) pro NOT pro sestavení složitějších dotazů.',
'User %(id)s Logged-in': 'Uživatel %(id)s přihlášen',
'User %(id)s Logged-out': 'Uživatel %(id)s odhlášen',
'User %(id)s Password changed': 'Uživatel %(id)s změnil heslo',
'User %(id)s Profile updated': 'Uživatel %(id)s upravil profil',
'User %(id)s Registered': 'Uživatel %(id)s se zaregistroval',
'User %(id)s Username retrieved': 'Uživatel %(id)s si nachal zaslat přihlašovací jméno',
'User ID': 'ID uživatele',
'Username': 'Přihlašovací jméno',
'variables': 'variables',
'Verify Password': 'Zopakujte heslo',
'Version': 'Verze',
'Version %s.%s.%s (%s) %s': 'Verze %s.%s.%s (%s) %s',
'Versioning': 'Verzování',
'Videos': 'Videa',
'View': 'Pohled (View)',
'Views': 'Pohledy',
'views': 'pohledy',
'Web Framework': 'Web Framework',
'web2py is up to date': 'Máte aktuální verzi web2py.',
'web2py online debugger': 'Ladící online web2py program',
'web2py Recent Tweets': 'Štěbetání na Twitteru o web2py',
'web2py upgrade': 'web2py upgrade',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'Welcome': 'Vítejte',
'Welcome to web2py': 'Vitejte ve web2py',
'Welcome to web2py!': 'Vítejte ve web2py!',
'Which called the function %s located in the file %s': 'která zavolala funkci %s v souboru (kontroléru) %s.',
'You are successfully running web2py': 'Úspěšně jste spustili web2py.',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': 'Nastavovat a mazat body přerušení je též možno v rámci editování zdrojového souboru přes tlačítko Vyp./Zap. bod přerušení',
'You can modify this application and adapt it to your needs': 'Tuto aplikaci si můžete upravit a přizpůsobit ji svým potřebám.',
'You need to set up and reach a': 'Je třeba nejprve nastavit a dojít až na',
'You visited the url %s': 'Navštívili jste stránku %s,',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Aplikace bude blokována než se klikne na jedno z tlačítek (další, krok, pokračovat, atd.)',
'You can inspect variables using the console bellow': 'Níže pomocí příkazové řádky si můžete prohlédnout proměnné',
}
+198 -117
View File
@@ -1,92 +1,105 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'de',
'!langname!': 'Deutsch',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"Update" ist ein optionaler Ausdruck wie "Feld1 = \'newvalue". JOIN Ergebnisse können nicht aktualisiert oder gelöscht werden',
'%s %%{row} deleted': '%s Zeilen gelöscht',
'%s %%{row} updated': '%s Zeilen aktualisiert',
'%Y-%m-%d': '%Y-%m-%d',
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
'(requires internet access)': '(requires internet access)',
'%s %%{row} deleted': '%s %%{row} Zeilen gelöscht',
'%s %%{row} updated': '%s %%{row} Zeilen aktualisiert',
'%Y-%m-%d': '%d.%m.%Y',
'%Y-%m-%d %H:%M:%S': '%d.%m.%Y %H:%M:%S',
'(requires internet access)': '(Benötigt Internetzugang)',
'(requires internet access, experimental)': '(Benötigt Internetzugang)',
'(something like "it-it")': '(so etwas wie "it-it")',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(Datei **gluon/contrib/plural_rules/%s.py** wurde nicht gefunden)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ein Fehler ist aufgetreten, bitte [[reload %s]] sie die Seite erneut',
'@markmin\x01Searching: **%s** %%{file}': '@markmin\x01Suche: **%s** Dateien',
'A new version of web2py is available': 'Eine neue Version von web2py ist verfügbar',
'A new version of web2py is available: %s': 'Eine neue Version von web2py ist verfügbar: %s',
'Abort': 'Abbrechen',
'About': 'Über',
'About application': 'Über die Anwendung',
'Additional code for your application': 'Additional code for your application',
'additional code for your application': 'zusätzlicher Code für Ihre Anwendung',
'admin disabled because no admin password': ' admin ist deaktiviert, weil kein Admin-Passwort gesetzt ist',
'Additional code for your application': 'Zusätzlicher Code für Ihre Anwendung',
'admin disabled because no admin password': 'admin ist deaktiviert, weil kein Admin-Passwort gesetzt ist',
'admin disabled because not supported on google apps engine': 'admin ist deaktiviert, es existiert dafür keine Unterstützung auf der google apps engine',
'admin disabled because unable to access password file': 'admin ist deaktiviert, weil kein Zugriff auf die Passwortdatei besteht',
'Admin is disabled because insecure channel': 'Appadmin ist deaktiviert, wegen der Benutzung eines unsicheren Kanals',
'Admin is disabled because unsecure channel': 'Appadmin ist deaktiviert, wegen der Benutzung eines unsicheren Kanals',
'Admin language': 'Admin language',
'administrative interface': 'administrative interface',
'Admin language': 'Admin-Sprache',
'administrative interface': 'Administrative Schnittstelle',
'Administrator Password:': 'Administrator Passwort:',
'An error occured, please %s the page': 'Ein Fehler ist aufgetereten, bitte %s die Seite',
'and rename it (required):': 'und benenne sie um (erforderlich):',
'and rename it:': ' und benenne sie um:',
'appadmin': 'appadmin',
'appadmin is disabled because insecure channel': 'Appadmin ist deaktiviert, wegen der Benutzung eines unsicheren Kanals',
'Application': 'Anwendung',
'application "%s" uninstalled': 'Anwendung "%s" deinstalliert',
'application compiled': 'Anwendung kompiliert',
'application is compiled and cannot be designed': 'Die Anwendung ist kompiliert kann deswegen nicht mehr geändert werden',
'Application name:': 'Application name:',
'application is compiled and cannot be designed': 'Die Anwendung ist kompiliert und kann deswegen nicht mehr geändert werden',
'Application name:': 'Name der Anwendung:',
'are not used': 'werden nicht verwendet',
'are not used yet': 'werden bisher nicht verwendet',
'Are you sure you want to delete file "%s"?': 'Sind Sie sich sicher, dass Sie diese Datei löschen wollen "%s"?',
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
'Are you sure you want to delete this object?': 'Sind Sie sich sicher, dass Sie dieses Objekt löschen wollen?',
'Are you sure you want to uninstall application "%s"': 'Sind Sie sich sicher, dass Sie diese Anwendung deinstallieren wollen "%s"',
'Are you sure you want to uninstall application "%s"?': 'Sind Sie sich sicher, dass Sie diese Anwendung deinstallieren wollen "%s"?',
'Are you sure you want to upgrade web2py now?': 'Sind Sie sich sicher, dass Sie web2py jetzt upgraden möchten?',
'arguments': 'arguments',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ACHTUNG: Die Einwahl benötigt eine sichere (HTTPS) Verbindung. Es sei denn sie läuft Lokal(localhost).',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ACHTUNG: Testen ist nicht threadsicher. Führen sie also nicht mehrere Tests gleichzeitig aus.',
'at char %s': 'bei Zeichen %s',
'at line %s': 'in Linie %s',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ACHTUNG: Die Einwahl benötigt eine sichere (HTTPS) Verbindung. Es sei denn sie läuft Lokal (localhost).',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ACHTUNG: Testen ist nicht threadsicher. Führen Sie also nicht mehrere Tests gleichzeitig aus.',
'ATTENTION: This is an experimental feature and it needs more testing.': 'ACHTUNG: Dies ist eine experimentelle Funktion und benötigt noch weitere Tests.',
'ATTENTION: you cannot edit the running application!': 'ACHTUNG: Eine laufende Anwendung kann nicht editiert werden!',
'Authentication': 'Authentifizierung',
'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Verfügbare Datenbanken und Tabellen',
'back': 'zurück',
'beautify': 'beautify',
'cache': 'Cache',
'back': 'Zurück',
'beautify': 'Verschönern',
'cache': 'Zwischenspeicher',
'cache, errors and sessions cleaned': 'Zwischenspeicher (cache), Fehler und Sitzungen (sessions) gelöscht',
'call': 'call',
'can be a git repo': 'can be a git repo',
'call': 'Aufruf',
'can be a git repo': 'kann ein git Repository sein',
'Cancel': 'Abbrechen',
'Cannot be empty': 'Darf nicht leer sein',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Nicht Kompilierbar:Es sind Fehler in der Anwendung. Beseitigen Sie die Fehler und versuchen Sie es erneut.',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Nicht Kompilierbar: Es sind Fehler in der Anwendung. Beseitigen Sie die Fehler und versuchen Sie es erneut.',
'cannot create file': 'Kann Datei nicht erstellen',
'cannot upload file "%(filename)s"': 'Kann Datei nicht Hochladen "%(filename)s"',
'Change admin password': 'Administrator-Passwort ändern',
'change editor settings': 'Editoreinstellungen ändern',
'Change Password': 'Passwort ändern',
'change password': 'Passwort ändern',
'check all': 'alles auswählen',
'Check for upgrades': 'check for upgrades',
'Check for upgrades': 'Versionsüberprüfung',
'Check to delete': 'Markiere zum löschen',
'Checking for upgrades...': 'Auf Updates überprüfen...',
'Clean': 'löschen',
'Checking for upgrades...': 'Überprüfe auf Updates...',
'Clean': 'Leeren',
'click here for online examples': 'hier klicken für online Beispiele',
'click here for the administrative interface': 'hier klicken für die Administrationsoberfläche ',
'Click row to expand traceback': 'Klicke auf die Zeile für Fehlerverfolgung',
'click to check for upgrades': 'hier klicken um nach Upgrades zu suchen',
'Client IP': 'Client IP',
'code': 'code',
'collapse/expand all': 'collapse/expand all',
'collapse/expand all': 'alles zu- bzw. aufklappen',
'Compile': 'kompilieren',
'compiled application removed': 'kompilierte Anwendung gelöscht',
'Controller': 'Controller',
'Controllers': 'Controller',
'controllers': 'Controllers',
'Controllers': 'Controllers',
'controllers': 'controllers',
'Copyright': 'Urheberrecht',
'Create': 'erstellen',
'create file with filename:': 'erzeuge Datei mit Dateinamen:',
'create new application:': 'erzeuge neue Anwendung:',
'Count': 'Anzahl',
'Create': 'Erstellen',
'create file with filename:': 'Erzeuge Datei mit Dateinamen:',
'create new application:': 'Erzeuge neue Anwendung:',
'Create new simple application': 'Erzeuge neue Anwendung',
'created by': 'created by',
'created by': 'Erstellt von',
'crontab': 'crontab',
'Current request': 'Aktuelle Anfrage (request)',
'Current response': 'Aktuelle Antwort (response)',
'Current session': 'Aktuelle Sitzung (session)',
'currently running': 'currently running',
'currently running': 'aktuell in Betrieb',
'currently saved or': 'des derzeit gespeicherten oder',
'customize me!': 'pass mich an!',
'customize me!': 'Pass mich an!',
'data uploaded': 'Daten hochgeladen',
'Database': 'Datenbank',
'database': 'Datenbank',
@@ -97,47 +110,62 @@
'DB Model': 'DB Modell',
'Debug': 'Debug',
'defines tables': 'definiere Tabellen',
'Delete': 'Löschen',
'Delete': 'löschen',
'delete': 'löschen',
'delete all checked': 'lösche alle markierten',
'delete plugin': 'Plugin löschen',
'Delete this file (you will be asked to confirm deletion)': 'Diese Datei löschen (mit Bestätigungsdialog)',
'Delete:': 'Löschen:',
'Deploy': 'deploy',
'Deploy': 'Installieren',
'Deploy on Google App Engine': 'Auf Google App Engine installieren',
'Deploy to OpenShift': 'Deploy to OpenShift',
'Deploy to OpenShift': 'Auf OpenShift installieren',
'Description': 'Beschreibung',
'design': 'design',
'DESIGN': 'design',
'DESIGN': 'DESIGN',
'Design for': 'Design für',
'Detailed traceback description': 'Detaillierte traceback Beschreibung',
'direction: ltr': 'direction: ltr',
'Disable': 'Disable',
'Disable': 'Deaktivieren',
'docs': 'docs',
'documentation': 'Dokumentation',
'done!': 'fertig!',
'download layouts': 'download layouts',
'download plugins': 'download plugins',
'Download .w2p': 'Download .w2p',
'download layouts': 'Layouts herunterladen',
'download plugins': 'Plugins herunterladen',
'E-mail': 'E-mail',
'EDIT': 'BEARBEITEN',
'Edit': 'bearbeiten',
'Edit': 'Bearbeiten',
'Edit application': 'Bearbeite Anwendung',
'edit controller': 'Bearbeite Controller',
'edit controller:': 'bearbeite Controller:',
'Edit current record': 'Bearbeite aktuellen Datensatz',
'Edit Profile': 'Bearbeite Profil',
'edit profile': 'bearbeite Profil',
'Edit This App': 'Bearbeite diese Anwendung',
'edit views:': 'Views bearbeiten:',
'Editing %s': 'Bearbeite %s',
'Editing file': 'Bearbeite Datei',
'Editing file "%s"': 'Bearbeite Datei "%s"',
'Editing Language file': 'Sprachdatei bearbeiten',
'Enable': 'Aktivieren',
'Enterprise Web Framework': 'Enterprise Web Framework',
'Error': 'Fehler',
'Error logs for "%(app)s"': 'Fehlerprotokoll für "%(app)s"',
'Errors': 'Fehler',
'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket',
'Errors': 'Fehlermeldungen',
'escape': 'escape',
'Exception instance attributes': 'Atribute der Ausnahmeinstanz',
'Exception instance attributes': 'Attribute der Ausnahmeinstanz',
'Exit Fullscreen': 'Vollbild beenden',
'Expand Abbreviation': 'Kürzel erweitern',
'Expand Abbreviation (html files only)': 'Abkürzungen ausschreiben (nur HTML Dateien)',
'export as csv file': 'Exportieren als CSV-Datei',
'exposes': 'stellt zur Verfügung',
'exposes:': 'stellt folgendes zur Verfügung:',
'extends': 'erweitert',
'failed to compile file because:': 'Datei konnte nicht kompiliert werden, da:',
'failed to reload module': 'neu laden des Moduls fehlgeschlagen',
'File': 'Datei',
'file "%(filename)s" created': 'Datei "%(filename)s" erstellt',
'file "%(filename)s" deleted': 'Datei "%(filename)s" gelöscht',
'file "%(filename)s" uploaded': 'Datei "%(filename)s" hochgeladen',
@@ -147,38 +175,48 @@
'file does not exist': 'Datei existiert nicht',
'file saved on %(time)s': 'Datei gespeichert am %(time)s',
'file saved on %s': 'Datei gespeichert auf %s',
'filter': 'filter',
'filter': 'Filter',
'Find Next': 'Nächster',
'Find Previous': 'Vorheriger',
'First name': 'Vorname',
'Frames': 'Frames',
'Functions with no doctests will result in [passed] tests.': 'Funktionen ohne doctests erzeugen [passed] in Tests',
'Get from URL:': 'Get from URL:',
'Git Pull': 'Git Pull',
'Git Push': 'Git Push',
'Go to Matching Pair': 'gehe zum übereinstimmenden Paar',
'Go to Matching Pair': 'Gehe zum übereinstimmenden Paar',
'Goto': 'Goto',
'graph model': 'graph model',
'Group ID': 'Gruppen ID',
'Hello World': 'Hallo Welt',
'Help': 'Hilfe',
'Hide/Show Translated strings': 'Zeige/Verstecke übersetzte Strings',
'Home': 'Startseite',
'htmledit': 'htmledit',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Falls der obere Test eine Fehler-Ticketnummer enthält deutet das auf einen Fehler in der Ausführung des Controllers hin, noch bevor der Doctest ausgeführt werden konnte. Gewöhnlich führen fehlerhafte Einrückungen oder fehlerhafter Code ausserhalb der Funktion zu solchen Fehlern. Ein grüner Titel deutet darauf hin, dass alle Test(wenn sie vorhanden sind) erfolgreich durchlaufen wurden. In diesem Fall werden die Testresultate nicht angezeigt.',
'If you answer "yes", be patient, it may take a while to download': '',
'If you answer yes, be patient, it may take a while to download': 'If you answer yes, be patient, it may take a while to download',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Falls der obere Test eine Fehler-Ticketnummer enthält deutet das auf einen Fehler in der Ausführung des Controllers hin, noch bevor der Doctest ausgeführt werden konnte. Gewöhnlich Führen fehlerhafte Einrückungen oder fehlerhafter Code ausserhalb der Funktion zu solchen Fehlern. Ein grüner Titel deutet darauf hin, dass alle Test(wenn sie vorhanden sind) erfolgreich durchlaufen wurden. In diesem Fall werden die Testresultate nicht angezeigt.',
'If you answer "yes", be patient, it may take a while to download': 'Wenn Sie mit "Ja" antworten, seien Sie bitte geduldig. Der Download könnte eine Weile dauern.',
'If you answer yes, be patient, it may take a while to download': 'Wenn Sie mit Ja antworten, seien Sie bitte geduldig. Der Download könnte eine Weile dauern.',
'Import/Export': 'Importieren/Exportieren',
'includes': 'Einfügen',
'Index': 'Index',
'index': 'index',
'insert new': 'neu einfügen',
'insert new %s': 'neu einfügen %s',
'Install': 'installieren',
'insert new': 'neu Einfügen',
'insert new %s': 'neu Einfügen %s',
'inspect attributes': 'Attribute inspizieren',
'Install': 'Installieren',
'Installed applications': 'Installierte Anwendungen',
'internal error': 'interner Fehler',
'Internal State': 'interner Status',
'internal error': 'Interner Fehler',
'Internal State': 'Interner Status',
'Invalid action': 'Ungültige Aktion',
'Invalid email': 'Ungültige Email',
'invalid password': 'Ungültiges Passwort',
'Invalid Query': 'Ungültige Abfrage',
'invalid request': 'ungültige Anfrage',
'invalid ticket': 'ungültiges Ticket',
'invalid request': 'Ungültige Anfrage',
'invalid ticket': 'Ungültiges Ticket',
'Key bindings': 'Tastenbelegungen',
'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin',
'Key bindings for ZenConding Plugin': 'Tastenbelegungen für das ZenConding Plugin',
'Keyboard shortcuts': 'Tastenkombination',
'language file "%(filename)s" created/updated': 'Sprachdatei "%(filename)s" erstellt/aktualisiert',
'Language files (static strings) updated': 'Sprachdatei (statisch Strings) aktualisiert',
'languages': 'Sprachen',
@@ -188,15 +226,18 @@
'Last saved on:': 'Zuletzt gespeichert am:',
'Layout': 'Layout',
'License for': 'Lizenz für',
'lists by ticket': 'nach Ticket aufgelistet',
'loading...': 'lade...',
'located in the file': 'located in Datei',
'locals': 'locals',
'located in the file': 'befindet sich in der Datei',
'Login': 'Anmelden',
'login': 'anmelden',
'Login to the Administrative Interface': 'An das Administrations-Interface anmelden',
'Logout': 'abmelden',
'Logout': 'Abmelden',
'Lost Password': 'Passwort vergessen',
'lost password?': 'Passwort vergessen?',
'Main Menu': 'Menú principal',
'Main Menu': 'Hauptmenü',
'Manage': 'Verwalten',
'Match Pair': 'Paare finden',
'Menu Model': 'Menü Modell',
'merge': 'verbinden',
@@ -207,66 +248,94 @@
'modules': 'Module',
'Name': 'Name',
'new application "%s" created': 'neue Anwendung "%s" erzeugt',
'New application wizard': 'New application wizard',
'New application wizard': 'Neue Anwendung per Assistent',
'new plugin installed': 'Neues Plugin wurde installiert',
'New Record': 'Neuer Datensatz',
'new record inserted': 'neuer Datensatz eingefügt',
'New simple application': 'New simple application',
'new record inserted': 'Neuer wurde Datensatz eingefügt',
'New simple application': 'Neue einfache Anwendung',
'next 100 rows': 'nächsten 100 Zeilen',
'Next Edit Point': 'nächster Bearbeitungsschritt',
'NO': 'NEIN',
'No databases in this application': 'Keine Datenbank in dieser Anwendung',
'no package selected': 'Kein Paket ausgewählt',
'No ticket_storage.txt found under /private folder': 'Kein ticket_storage.txt unter /private folder gefunden',
'online designer': 'Online Designer',
'or alternatively': 'oder Alternativ',
'Or Get from URL:': 'oder von folgender URL herunterladen:',
'or import from csv file': 'oder importieren von cvs Datei',
'or provide app url:': 'oder geben Sie eine Anwendungs-URL an:',
'or provide application url:': 'oder geben Sie eine Anwendungs-URL an:',
'Origin': 'Herkunft',
'Original/Translation': 'Original/Übersetzung',
'Overwrite installed app': 'installierte Anwendungen überschreiben',
'Pack all': 'verpacke alles',
'Original/Translation': 'Original/übersetzung',
'Overwrite installed app': 'Installierte Anwendungen überschreiben',
'Pack all': 'Verpacke alles',
'Pack compiled': 'Verpacke kompiliert',
'Pack custom': 'Verpacke individuell',
'pack plugin': 'Plugin verpacken',
'Password': 'Passwort',
'Peeking at file': 'Dateiansicht',
'please wait!': 'bitte warten!',
'please wait!': 'Bitte warten!',
'Plugin "%s" in application': 'Plugin "%s" in Anwendung',
'plugins': 'plugins',
'Plugins': 'Plugins',
'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'Unterstützt von',
'previous 100 rows': 'vorherige 100 zeilen',
'Previous Edit Point': 'vorheriger Bearbeitungsschritt',
'Private files': 'Private files',
'private files': 'private files',
'Project Progress': 'Projekt Fortschritt',
'Query:': 'Abfrage:',
'Rapid Search': 'Schnelle Suche',
'record': 'Datensatz',
'record does not exist': 'Datensatz existiert nicht',
'record id': 'Datensatz id',
'Record ID': 'Datensatz ID',
'register': 'Registrierung',
'Register': 'registrieren',
'Register': 'Registrieren',
'Registration key': 'Registrierungsschlüssel',
'Reload routes': 'Reload routes',
'Remove compiled': 'kompilat gelöscht',
'reload': 'Neu laden',
'Reload routes': 'Routen neu laden',
'Remove compiled': 'Bytecode löschen',
'Replace': 'Ersetzen',
'Replace All': 'Alle Ersetzen',
'request': 'Anfrage',
'Reset Password key': 'Passwortschlüssel zurücksetzen',
'Resolve Conflict file': 'bereinige Konflikt-Datei',
'response': 'Antwort',
'restore': 'wiederherstellen',
'revert': 'zurückkehren',
'Role': 'Rolle',
'Rows in table': 'Zeilen in Tabelle',
'Rows selected': 'Zeilen ausgewählt',
'Running on %s': 'Running on %s',
'save': 'sichern',
'Save via Ajax': 'via Ajax sichern',
'rules are not defined': 'Regeln sind nicht definiert',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Tests in dieser Datei ausführen (um alle Dateien auszuführen, kann auch der Button 'test' genutzt werden)",
'Running on %s': 'läuft auf %s',
'Save': 'Speichern',
'save': 'Speichern',
'Save file:': 'Speichere Datei:',
'Save file: %s': 'Speichere Datei: %s',
'Save via Ajax': 'via Ajax speichern',
'Saved file hash:': 'Gespeicherter Datei-Hash:',
'Select Files to Package': 'Dateien zum Paketieren wählen',
'selected': 'ausgewählt(e)',
'session expired': 'Sitzung Abgelaufen',
'shell': 'shell',
'session': 'Sitzung',
'session expired': 'Sitzung abgelaufen',
'shell': 'Shell',
'Site': 'Seite',
'some files could not be removed': 'einige Dateien konnten nicht gelöscht werden',
'Start wizard': 'start wizard',
'source : filesystem': 'Quelle : Dateisystem',
'Start searching': 'Suche beginnen',
'Start wizard': 'Assistent starten',
'state': 'Status',
'Static': 'Statisch',
'static': 'statische Dateien',
'Static files': 'statische Dateien',
'Stylesheet': 'Stylesheet',
'Submit': 'Submit',
'submit': 'Absenden',
'Sure you want to delete this object?': 'Wollen Sie das Objekt wirklich löschen?',
'switch to : db': 'wechsel zu : db',
'table': 'Tabelle',
'Table name': 'Tabellen Name',
'test': 'Test',
@@ -275,73 +344,85 @@
'test_if': 'test_if',
'test_try': 'test_try',
'Testing application': 'Teste die Anwendung',
'Testing controller': 'teste Controller',
'Testing controller': 'Teste Controller',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'Die "query" ist eine Bedingung wie "db.table1.field1 == \'Wert\'". Etwas wie "db.table1.field1 db.table2.field2 ==" führt zu einem SQL JOIN.',
'the application logic, each URL path is mapped in one exposed function in the controller': 'Die Logik der Anwendung, jeder URL-Pfad wird auf eine Funktion abgebildet die der Controller zur Verfügung stellt',
'The application logic, each URL path is mapped in one exposed function in the controller': 'The application logic, each URL path is mapped in one exposed function in the controller',
'the data representation, define database tables and sets': 'Die Datenrepräsentation definiert Mengen von Tabellen und Datenbanken ',
'The data representation, define database tables and sets': 'The data representation, define database tables and sets',
'The output of the file is a dictionary that was rendered by the view': 'The output of the file is a dictionary that was rendered by the view',
'The presentations layer, views are also known as templates': 'The presentations layer, views are also known as templates',
'The application logic, each URL path is mapped in one exposed function in the controller': 'Die Logik der Anwendung, jeder URL-Pfad wird auf eine Funktion abgebildet die der Controller zur Verfügung stellt',
'the data representation, define database tables and sets': 'Die Datenrepräsentation definiert Mengen von Tabellen und Datenbanken',
'The data representation, define database tables and sets': 'Die Datenrepräsentation definiert Mengen von Tabellen und Datenbanken',
'The output of the file is a dictionary that was rendered by the view': 'Die Ausgabe der Datei ist ein "dictionary" und wurde vom "view" gerendert',
'The presentations layer, views are also known as templates': 'Die Präsentationsschicht, Views sind auch bekannt als Vorlagen/Templates',
'the presentations layer, views are also known as templates': 'Die Präsentationsschicht, Views sind auch bekannt als Vorlagen/Templates',
'There are no controllers': 'Keine Controller vorhanden',
'There are no models': 'Keine Modelle vorhanden',
'There are no modules': 'Keine Module vorhanden',
'There are no plugins': 'There are no plugins',
'There are no plugins': 'Keine Plugins vorhanden',
'There are no private files': 'Keine privaten Dateien vorhanden',
'There are no static files': 'Keine statischen Dateien vorhanden',
'There are no translators, only default language is supported': 'Keine Übersetzungen vorhanden, nur die voreingestellte Sprache wird unterstützt',
'There are no translators, only default language is supported': 'Keine übersetzungen vorhanden, nur die voreingestellte Sprache wird Unterstützt',
'There are no views': 'Keine Views vorhanden',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'These files are not served, they are only available from within your app': 'Diese Dateien werden nicht ausgeliefert, sie sind nur innerhalb Ihrer App verfügbar',
'These files are served without processing, your images go here': 'Diese Dateien werden ohne Verarbeitung ausgeliefert. Beispielsweise Bilder kommen hier hin.',
'these files are served without processing, your images go here': 'Diese Dateien werden ohne Verarbeitung ausgeliefert. Beispielsweise Bilder kommen hier hin.',
'This is a copy of the scaffolding application': 'Dies ist eine Kopie einer Grundgerüst-Anwendung',
'This is the %(filename)s template': 'Dies ist das Template %(filename)s',
'Ticket': 'Ticket',
'Timestamp': 'Timestamp',
'Ticket ID': 'Ticket ID',
'Timestamp': 'Zeitstempel',
'TM': 'TM',
'to previous version.': 'zu einer früheren Version.',
'To create a plugin, name a file/folder plugin_[name]': 'Um ein Plugin zu erstellen benennen Sie eine(n) Datei/Ordner plugin_[Name]',
'translation strings for the application': 'Übersetzungs-Strings für die Anwendung',
'Translation strings for the application': 'Translation strings for the application',
'toggle breakpoint': 'Breakpoint aktivieren/deaktivieren',
'Toggle comment': ' Kommentar ein-/ausblenden',
'Toggle Fullscreen': 'Vollbild ein-/ausschalten',
'Traceback': 'Traceback',
'translation strings for the application': 'übersetzungs-Strings für die Anwendung',
'Translation strings for the application': 'übersetzungs-Strings für die Anwendung',
'try': 'versuche',
'try something like': 'versuche so etwas wie',
'Unable to check for upgrades': 'überprüfen von Upgrades nicht möglich',
'unable to create application "%s"': 'erzeugen von Anwendung "%s" nicht möglich',
'unable to delete file "%(filename)s"': 'löschen von Datein "%(filename)s" nicht möglich',
'Unable to download': 'herunterladen nicht möglich',
'Unable to download app': 'herunterladen der Anwendung nicht möglich',
'unable to parse csv file': 'analysieren der cvs Datei nicht möglich',
'unable to uninstall "%s"': 'deinstallieren von "%s" nicht möglich',
'uncheck all': 'alles demarkieren',
'Uninstall': 'deinstallieren',
'update': 'aktualisieren',
'update all languages': 'aktualisiere alle Sprachen',
'try something like': 'Versuchen Sie so etwas wie',
'Try the mobile interface': 'Testen Sie das Interface für Handys',
'try view': 'Versuche view',
'Unable to check for upgrades': 'Überprüfen von Upgrades nicht möglich',
'unable to create application "%s"': 'Erzeugen von Anwendung "%s" nicht möglich',
'unable to delete file "%(filename)s"': 'Löschen von Dateien "%(filename)s" nicht möglich',
'Unable to download': 'Herunterladen nicht möglich',
'Unable to download app': 'Herunterladen der Anwendung nicht möglich',
'unable to parse csv file': 'Analysieren der cvs Datei nicht möglich',
'unable to uninstall "%s"': 'Deinstallieren von "%s" nicht möglich',
'uncheck all': 'Auswahl entfernen',
'Uninstall': 'Deinstallieren',
'update': 'Aktualisieren',
'update all languages': 'Aktualisiere alle Sprachen',
'Update:': 'Aktualisiere:',
'upgrade web2py now': 'jetzt web2py upgraden',
'upgrade web2py now': 'web2py jetzt upgraden',
'upload': 'upload',
'Upload': 'Upload',
'Upload & install packed application': 'Verpackte Anwendung hochladen und installieren',
'Upload a package:': 'Upload a package:',
'Upload and install packed application': 'Upload and install packed application',
'upload application:': 'lade Anwendung hoch:',
'Upload existing application': 'lade existierende Anwendung hoch',
'upload file:': 'lade Datei hoch:',
'Upload a package:': 'Ein Packet hochladen:',
'Upload and install packed application': 'Verpackte Anwendung hochladen und installieren',
'upload application:': 'Lade Anwendung hoch:',
'Upload existing application': 'Lade existierende Anwendung hoch',
'upload file:': 'Lade Datei hoch:',
'upload plugin file:': 'Plugin-Datei hochladen:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Benutze (...)&(...) für AND, (...)|(...) für OR, und ~(...) für NOT, um komplexe Abfragen zu erstellen.',
'Use an url:': 'Use an url:',
'user': 'user',
'Use an url:': 'Verwende URL:',
'user': 'Nutzer',
'User ID': 'Benutzer ID',
'variables': 'variables',
'variables': 'Variablen',
'Version': 'Version',
'Version %s.%s.%s (%s) %s': 'Version %s.%s.%s (%s) %s',
'versioning': 'Versionierung',
'View': 'View',
'view': 'View',
'Views': 'Views',
'views': 'Views',
'web2py is up to date': 'web2py ist auf dem neuesten Stand',
'web2py Recent Tweets': 'neuste Tweets von web2py',
'versioning': 'Versionsverwaltung',
'Versioning': 'Versionsverwaltung',
'View': 'Ansicht',
'view': 'Ansicht',
'Views': 'Ansichten',
'views': 'Ansichten',
'Web Framework': 'Web Framework',
'web2py is up to date': 'web2py ist aktuell',
'web2py Recent Tweets': 'Neuste Tweets von web2py',
'Welcome %s': 'Willkommen %s',
'Welcome to web2py': 'Willkommen zu web2py',
'Which called the function': 'Which called the function',
'Which called the function': 'welche die Funktion aufrief',
'Wrap with Abbreviation': 'mit Kürzel einhüllen',
'xml': 'xml',
'YES': 'JA',
+39 -2
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'en-us',
'!langname!': 'English (US)',
@@ -8,6 +8,7 @@
'(something like "it-it")': '(something like "it-it")',
'About': 'About',
'Additional code for your application': 'Additional code for your application',
'admin disabled because unable to access password file': 'admin disabled because unable to access password file',
'Admin language': 'Admin language',
'administrative interface': 'administrative interface',
'Administrator Password:': 'Administrator Password:',
@@ -16,7 +17,11 @@
'are not used yet': 'are not used yet',
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
'arguments': 'arguments',
'at char %s': 'at char %s',
'at line %s': 'at line %s',
'back': '<<back',
'Basics': 'Basics',
'Begin': 'Begin',
'can be a git repo': 'can be a git repo',
'Change admin password': 'Change admin password',
'Check for upgrades': 'Check for upgrades',
@@ -37,6 +42,7 @@
'database administration': 'database administration',
'Debug': 'Debug',
'defines tables': 'defines tables',
'delete': 'delete',
'Delete this file (you will be asked to confirm deletion)': 'Delete this file (you will be asked to confirm deletion)',
'Deploy': 'Deploy',
'Deploy on Google App Engine': 'Deploy on Google App Engine',
@@ -48,29 +54,41 @@
'download layouts': 'download layouts',
'download plugins': 'download plugins',
'Edit': 'Edit',
'edit all': 'edit all',
'Edit application': 'Edit application',
'edit controller': 'edit controller',
'edit views:': 'edit views:',
'Editing file "%s"': 'Editing file "%s"',
'Editing Language file': 'Editing Language file',
'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket',
'Errors': 'Errors',
'Exception instance attributes': 'Exception instance attributes',
'Expand Abbreviation': 'Expand Abbreviation',
'exposes': 'exposes',
'exposes:': 'exposes:',
'extends': 'extends',
'failed to compile file because:': 'failed to compile file because:',
'file does not exist': 'file does not exist',
'file saved on %s': 'file saved on %s',
'filter': 'filter',
'Frames': 'Frames',
'Generate': 'Generate',
'Get from URL:': 'Get from URL:',
'Git Pull': 'Git Pull',
'Git Push': 'Git Push',
'Go to Matching Pair': 'Go to Matching Pair',
'go!': 'go!',
'Help': 'Help',
'Hide/Show Translated strings': 'Hide/Show Translated strings',
'includes': 'includes',
'inspect attributes': 'inspect attributes',
'Install': 'Install',
'Installed applications': 'Installed applications',
'invalid password.': 'invalid password.',
'Key bindings': 'Key bindings',
'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin',
'Language files (static strings) updated': 'Language files (static strings) updated',
'languages': 'languages',
'Languages': 'Languages',
'Last saved on:': 'Last saved on:',
@@ -79,12 +97,18 @@
'Login': 'Login',
'Login to the Administrative Interface': 'Login to the Administrative Interface',
'Logout': 'Logout',
'Models': 'Models',
'Match Pair': 'Match Pair',
'Merge Lines': 'Merge Lines',
'models': 'models',
'Models': 'Models',
'Modules': 'Modules',
'modules': 'modules',
'New Application Wizard': 'New Application Wizard',
'New application wizard': 'New application wizard',
'New simple application': 'New simple application',
'Next Edit Point': 'Next Edit Point',
'online designer': 'online designer',
'Original/Translation': 'Original/Translation',
'Overwrite installed app': 'Overwrite installed app',
'Pack all': 'Pack all',
'Peeking at file': 'Peeking at file',
@@ -92,11 +116,14 @@
'plugins': 'plugins',
'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'Powered by',
'Previous Edit Point': 'Previous Edit Point',
'Private files': 'Private files',
'private files': 'private files',
'Reload routes': 'Reload routes',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'request': 'request',
'response': 'response',
'restart': 'restart',
'restore': 'restore',
'revert': 'revert',
'rules are not defined': 'rules are not defined',
@@ -107,12 +134,18 @@
'Save via Ajax': 'Save via Ajax',
'Saved file hash:': 'Saved file hash:',
'session': 'session',
'session expired': 'session expired',
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell',
'Site': 'Site',
'skip to generate': 'skip to generate',
'Start a new app': 'Start a new app',
'Start wizard': 'Start wizard',
'static': 'static',
'Static files': 'Static files',
'Step': 'Step',
'Submit': 'Submit',
'successful': 'successful',
'test': 'test',
'The application logic, each URL path is mapped in one exposed function in the controller': 'The application logic, each URL path is mapped in one exposed function in the controller',
'The data representation, define database tables and sets': 'The data representation, define database tables and sets',
@@ -126,9 +159,12 @@
'to previous version.': 'to previous version.',
'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]',
'toggle breakpoint': 'toggle breakpoint',
'Toggle Fullscreen': 'Toggle Fullscreen',
'Traceback': 'Traceback',
'Translation strings for the application': 'Translation strings for the application',
'try view': 'try view',
'Uninstall': 'Uninstall',
'update': 'update',
'update all languages': 'update all languages',
'upload': 'upload',
'Upload a package:': 'Upload a package:',
@@ -144,4 +180,5 @@
'Web Framework': 'Web Framework',
'web2py is up to date': 'web2py is up to date',
'web2py Recent Tweets': 'web2py Recent Tweets',
'Wrap with Abbreviation': 'Wrap with Abbreviation',
}
+344 -156
View File
@@ -1,283 +1,471 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'es',
'!langname!': 'Español',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"actualice" es una expresión opcional como "campo1=\'nuevo_valor\'". No se puede actualizar o eliminar resultados de un JOIN',
'%Y-%m-%d': '%Y-%m-%d',
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
'%s %%{row} deleted': '%s filas eliminadas',
'%s %%{row} updated': '%s filas actualizadas',
'%Y-%m-%d': '%Y-%m-%d',
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
'(requires internet access, experimental)': '(requiere acceso a internet, experimental)',
'(something like "it-it")': '(algo como "it-it")',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'(version %s)': '(version %s)',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(archivo **gluon/contrib/plural_rules/%s.py** no se ha encontrado)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'Ocurrió un error, por favor [[recargue %s]] la página',
'@markmin\x01Number of entries: **%s**': 'Número de entradas: **%s**',
'@markmin\x01Searching: **%s** %%{file}': 'Buscando: **%s** archivos',
'A new version of web2py is available': 'Hay una nueva versión de web2py disponible',
'A new version of web2py is available: %s': 'Hay una nueva versión de web2py disponible: %s',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENCION: Inicio de sesión requiere una conexión segura (HTTPS) o localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCION: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.',
'ATTENTION: you cannot edit the running application!': 'ATENCION: no puede modificar la aplicación que se ejecuta!',
'About': 'acerca de',
'About': 'Acerca de',
'About application': 'Acerca de la aplicación',
'Admin is disabled because insecure channel': 'Admin deshabilitado, el canal no es seguro',
'Admin is disabled because unsecure channel': 'Admin deshabilitado, el canal no es seguro',
'Administrator Password:': 'Contraseña del Administrador:',
'Are you sure you want to delete file "%s"?': '¿Está seguro que desea eliminar el archivo "%s"?',
'Are you sure you want to delete plugin "%s"?': '¿Está seguro que quiere eliminar el plugin "%s"?',
'Are you sure you want to uninstall application "%s"': '¿Está seguro que desea desinstalar la aplicación "%s"',
'Are you sure you want to uninstall application "%s"?': '¿Está seguro que desea desinstalar la aplicación "%s"?',
'Are you sure you want to upgrade web2py now?': '¿Está seguro que desea actualizar web2py ahora?',
'Available databases and tables': 'Bases de datos y tablas disponibles',
'Cannot be empty': 'No puede estar vacío',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'No se puede compilar: hay errores en su aplicación. Depure, corrija errores y vuelva a intentarlo.',
'Cannot compile: there are errors in your app:': 'No se puede compilar: hay errores en su aplicación:',
'Change Password': 'Cambie Contraseña',
'Change admin password': 'cambie contraseña admin',
'Check to delete': 'Marque para eliminar',
'Checking for upgrades...': 'Buscando actulizaciones...',
'Clean': 'limpiar',
'Click row to expand traceback': 'Click row to expand traceback',
'Client IP': 'IP del Cliente',
'Compile': 'compilar',
'Controllers': 'Controladores',
'Count': 'Count',
'Create': 'crear',
'Create new application using the Wizard': 'Create new application using the Wizard',
'Create new simple application': 'Cree una nueva aplicación',
'Current request': 'Solicitud en curso',
'Current response': 'Respuesta en curso',
'Current session': 'Sesión en curso',
'DESIGN': 'DISEÑO',
'Date and Time': 'Fecha y Hora',
'Delete': 'Elimine',
'Delete:': 'Elimine:',
'Deploy on Google App Engine': 'Instale en Google App Engine',
'Description': 'Descripción',
'Design for': 'Diseño para',
'E-mail': 'Correo electrónico',
'EDIT': 'EDITAR',
'Edit': 'editar',
'Edit Profile': 'Editar Perfil',
'Edit application': 'Editar aplicación',
'Edit current record': 'Edite el registro actual',
'Editing Language file': 'Editando archivo de lenguaje',
'Editing file': 'Editando archivo',
'Editing file "%s"': 'Editando archivo "%s"',
'Enterprise Web Framework': 'Armazón Empresarial para Internet',
'Error': 'Error',
'Error logs for "%(app)s"': 'Bitácora de errores en "%(app)s"',
'Errors': 'errores',
'Exception instance attributes': 'Atributos de la instancia de Excepción',
'File': 'File',
'First name': 'Nombre',
'Functions with no doctests will result in [passed] tests.': 'Funciones sin doctests equivalen a pruebas [aceptadas].',
'Group ID': 'ID de Grupo',
'Hello World': 'Hola Mundo',
'Help': 'ayuda',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Si el reporte anterior contiene un número de tiquete este indica un falla en la ejecución del controlador, antes de cualquier intento de ejecutat doctests. Esto generalmente se debe a un error en la indentación o un error por fuera del código de la función.\r\nUn titulo verde indica que todas las pruebas pasaron (si existen). En dicho caso los resultados no se muestran.',
'Import/Export': 'Importar/Exportar',
'Install': 'instalar',
'Installed applications': 'Aplicaciones instaladas',
'Internal State': 'Estado Interno',
'Invalid Query': 'Consulta inválida',
'Invalid action': 'Acción inválida',
'Invalid email': 'Correo inválido',
'Language files (static strings) updated': 'Archivos de lenguaje (cadenas estáticas) actualizados',
'Languages': 'Lenguajes',
'Last name': 'Apellido',
'Last saved on:': 'Guardado en:',
'License for': 'Licencia para',
'Login': 'Inicio de sesión',
'Login to the Administrative Interface': 'Inicio de sesión para la Interfaz Administrativa',
'Logout': 'fin de sesión',
'Lost Password': 'Contraseña perdida',
'Models': 'Modelos',
'Modules': 'Módulos',
'NO': 'NO',
'Name': 'Nombre',
'New Record': 'Registro nuevo',
'No databases in this application': 'No hay bases de datos en esta aplicación',
'Origin': 'Origen',
'Original/Translation': 'Original/Traducción',
'Overwrite installed app': 'sobreescriba aplicación instalada',
'PAM authenticated user, cannot change password here': 'usuario autenticado por PAM, no puede cambiar la contraseña aquí',
'Pack all': 'empaquetar todo',
'Pack compiled': 'empaquete compiladas',
'Password': 'Contraseña',
'Peeking at file': 'Visualizando archivo',
'Plugin "%s" in application': 'Plugin "%s" en aplicación',
'Plugins': 'Plugins',
'Powered by': 'Este sitio usa',
'Query:': 'Consulta:',
'Record ID': 'ID de Registro',
'Register': 'Registrese',
'Registration key': 'Contraseña de Registro',
'Remove compiled': 'eliminar compiladas',
'Resolve Conflict file': 'archivo Resolución de Conflicto',
'Role': 'Rol',
'Rows in table': 'Filas en la tabla',
'Rows selected': 'Filas seleccionadas',
'Saved file hash:': 'Hash del archivo guardado:',
'Site': 'sitio',
'Static files': 'Archivos estáticos',
'Sure you want to delete this object?': '¿Está seguro que desea eliminar este objeto?',
'TM': 'MR',
'Table name': 'Nombre de la tabla',
'Testing application': 'Probando aplicación',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "consulta" es una condición como "db.tabla1.campo1==\'valor\'". Algo como "db.tabla1.campo1==db.tabla2.campo2" resulta en un JOIN SQL.',
'There are no controllers': 'No hay controladores',
'There are no models': 'No hay modelos',
'There are no modules': 'No hay módulos',
'There are no static files': 'No hay archivos estáticos',
'There are no translators, only default language is supported': 'No hay traductores, sólo el lenguaje por defecto es soportado',
'There are no views': 'No hay vistas',
'This is the %(filename)s template': 'Esta es la plantilla %(filename)s',
'Ticket': 'Tiquete',
'Timestamp': 'Timestamp',
'To create a plugin, name a file/folder plugin_[name]': 'Para crear un plugin, nombre un archivo/carpeta plugin_[nombre]',
'Unable to check for upgrades': 'No es posible verificar la existencia de actualizaciones',
'Unable to download': 'No es posible la descarga',
'Unable to download app': 'No es posible descargar la aplicación',
'Unable to download app because:': 'No es posible descargar la aplicación porque:',
'Unable to download because': 'No es posible descargar porque',
'Uninstall': 'desinstalar',
'Update:': 'Actualice:',
'Upload & install packed application': 'Suba e instale aplicación empaquetada',
'Upload existing application': 'Suba esta aplicación',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para crear consultas más complejas.',
'User ID': 'ID de Usuario',
'Version': 'Versión',
'Views': 'Vistas',
'Welcome to web2py': 'Bienvenido a web2py',
'YES': 'SI',
'additional code for your application': 'código adicional para su aplicación',
'admin disabled because no admin password': ' por falta de contraseña',
'Additional code for your application': 'Código adicional para su aplicación',
'admin disabled because no admin password': 'admin deshabilitado por falta de contraseña',
'admin disabled because not supported on google app engine': 'admin deshabilitado, no es soportado en GAE',
'admin disabled because unable to access password file': 'admin deshabilitado, imposible acceder al archivo con la contraseña',
'Admin is disabled because insecure channel': 'Admin deshabilitado, el canal no es seguro',
'Admin is disabled because unsecure channel': 'Admin deshabilitado, el canal no es seguro',
'Admin language': 'Lenguaje de administración',
'administrative interface': 'interfaz administrativa',
'Administrator Password:': 'Contraseña del Administrador:',
'An error occured, please %s the page': 'Ha ocurrido un error, por favor %s la página',
'and rename it (required):': 'y renombrela (requerido):',
'and rename it:': ' y renombrelo:',
'App does not exist or you are not authorized': 'App does not exist or you are not authorized',
'appadmin': 'appadmin',
'appadmin is disabled because insecure channel': 'admin deshabilitado, el canal no es seguro',
'application "%s" uninstalled': 'aplicación "%s" desinstalada',
'application %(appname)s installed with md5sum: %(digest)s': 'application %(appname)s installed with md5sum: %(digest)s',
'application compiled': 'aplicación compilada',
'Application exists already': 'Application exists already',
'application is compiled and cannot be designed': 'la aplicación está compilada y no puede ser modificada',
'Application name:': 'Nombre de la aplicación:',
'are not used': 'are not used',
'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': '¿Está seguro que desea eliminar el archivo "%s"?',
'Are you sure you want to delete plugin "%s"?': '¿Está seguro que quiere eliminar el plugin "%s"?',
'Are you sure you want to delete this object?': '¿Está seguro que quiere eliminar este objeto?',
'Are you sure you want to uninstall application "%s"': '¿Está seguro que desea desinstalar la aplicación "%s"',
'Are you sure you want to uninstall application "%s"?': '¿Está seguro que desea desinstalar la aplicación "%s"?',
'Are you sure you want to upgrade web2py now?': '¿Está seguro que desea actualizar web2py ahora?',
'Are you sure?': '¿Está seguro?',
'arguments': 'argumentos',
'at char %s': 'en el carácter %s',
'at line %s': 'en la línea %s',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENCIÓN: Inicio de sesión requiere una conexión segura (HTTPS) o localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENCIÓN: NO EJECUTE VARIAS PRUEBAS SIMULTANEAMENTE, NO SON THREAD SAFE.',
'ATTENTION: you cannot edit the running application!': 'ATENCIÓN: ¡no puede modificar la aplicación que se ejecuta!',
'Autocomplete': 'Autocompletar',
'Autocomplete Python Code': 'Autocompletar código Python',
'Available databases and tables': 'Bases de datos y tablas disponibles',
'Available Databases and Tables': 'Bases de Datos y Tablas Disponibles',
'back': 'atrás',
'browse': 'buscar',
'cache': 'cache',
'cache, errors and sessions cleaned': 'cache, errores y sesiones eliminados',
'Back to the plugins list': 'Regresar a la lista de plugins',
'breakpoint': 'punto de ruptura',
'breakpoints': 'puntos de ruptura',
'browse': 'navegar',
'Cache': 'Caché',
'cache': 'caché',
'cache, errors and sessions cleaned': 'caché, errores y sesiones eliminados',
'can be a git repo': 'puede ser un repositorio git',
'Cancel': 'Cancelar',
'Cannot be empty': 'No puede estar vacío',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'No se puede compilar: hay errores en su aplicación. Depure, corrija errores y vuelva a intentarlo.',
'Cannot compile: there are errors in your app:': 'No se puede compilar: hay errores en su aplicación:',
'cannot create file': 'no es posible crear archivo',
'cannot upload file "%(filename)s"': 'no es posible subir archivo "%(filename)s"',
'Change admin password': 'cambie contraseña admin',
'change editor settings': 'cambiar la configuración del editor',
'Change Password': 'Cambie Contraseña',
'check all': 'marcar todos',
'click here for online examples': 'haga clic aquí para ver ejemplos en línea',
'click here for the administrative interface': 'haga clic aquí para usar la interfaz administrativa',
'Check for upgrades': 'buscar actualizaciones',
'Check to delete': 'Marque para eliminar',
'Checking for upgrades...': 'Buscando actualizaciones...',
'Clean': 'Limpiar',
'Clear CACHE?': '¿Limpiar CACHÉ?',
'Clear DISK': 'Limpiar DISCO',
'Clear RAM': 'Limpiar RAM',
'click here for online examples': 'haga click aquí para ver ejemplos en línea',
'click here for the administrative interface': 'haga click aquí para usar la interfaz administrativa',
'Click row to expand traceback': 'Click en la fila para expandir el rastreo',
'click to check for upgrades': 'haga clic para buscar actualizaciones',
'click to open': 'click to open',
'click to open': 'click para abrir',
'Client IP': 'IP del Cliente',
'code': 'código',
'commit (mercurial)': 'commit (mercurial)',
'Code listing': 'Listado de código',
'collapse/expand all': 'contraer/expandir todo',
'commit (mercurial)': 'confirmar (mercurial)',
'Compile': 'Compilar',
'compiled application removed': 'aplicación compilada removida',
'continue': 'continuar',
'Controllers': 'Controladores',
'controllers': 'controladores',
'Count': 'Contar',
'Create': 'Crear',
'create file with filename:': 'cree archivo con nombre:',
'Create new application using the Wizard': 'Crear nueva aplicación utilizando el asistente',
'create new application:': 'nombre de la nueva aplicación:',
'Create new simple application': 'Cree una nueva aplicación',
'Create/Upload': 'Crear/Subir',
'created by': 'creado por',
'crontab': 'crontab',
'Current request': 'Solicitud en curso',
'Current response': 'Respuesta en curso',
'Current session': 'Sesión en curso',
'currently running': 'actualmente en ejecución',
'currently saved or': 'actualmente guardado o',
'customize me!': 'Adaptame!',
'customize me!': 'Adáptame!',
'data uploaded': 'datos subidos',
'database': 'base de datos',
'database %s select': 'selección en base de datos %s',
'database administration': 'administración base de datos',
'Database Administration (appadmin)': 'Administración de Base de Datos (appadmin)',
'Date and Time': 'Fecha y Hora',
'db': 'db',
'defines tables': 'define tablas',
'Debug': 'Depurar',
'defines tables': 'definir tablas',
'Delete': 'Eliminar',
'delete': 'eliminar',
'delete all checked': 'eliminar marcados',
'delete plugin': 'eliminar plugin',
'Delete this file (you will be asked to confirm deletion)': 'Elimine este fichero (se le pedirá confirmación)',
'Delete:': 'Eliminar:',
'Demo': 'Demo',
'Deploy': 'Deploy',
'Deploy on Google App Engine': 'Instale en Google App Engine',
'Deploy to OpenShift': 'Instale en OpenShift',
'Description': 'Descripción',
'design': 'modificar',
'direction: ltr': 'direction: ltr',
'DESIGN': 'DISEÑO',
'Design for': 'Diseño para',
'Detailed traceback description': 'Descripción detallada del rastreo',
'details': 'detalles',
'direction: ltr': 'dirección: ltr',
'Disable': 'Deshabilitar',
'DISK': 'DISCO',
'docs': 'documentos',
'Docs': 'Documentos',
'Done!': 'Listo!',
'done!': 'listo!',
'Download': 'Descargar',
'download files via http:': 'descargar archivos via http:',
'download layouts': 'descargar layouts',
'download plugins': 'descargar plugins',
'E-mail': 'Correo electrónico',
'EDIT': 'EDITAR',
'Edit': 'editar',
'Edit application': 'Editar aplicación',
'edit controller': 'editar controlador',
'edit controller:': 'editar controlador:',
'Edit current record': 'Edite el registro actual',
'Edit Profile': 'Editar Perfil',
'edit views:': 'editar vistas:',
'Editing %s': 'Editando %s',
'Editing file': 'Editando archivo',
'Editing file "%s"': 'Editando archivo "%s"',
'Editing Language file': 'Editando archivo de lenguaje',
'Editing myclientapi': 'Editando myclientapi',
'Editing myemail': 'Editando myemail',
'Editing rbare': 'Editando rbare',
'Editing ul': 'Editando ul',
'Enable': 'Habilitar',
'Enterprise Web Framework': 'Framework Web Empresarial',
'Error': 'Error',
'Error logs for "%(app)s"': 'Bitácora de errores en "%(app)s"',
'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket',
'Errors': 'errores',
'Errors in form, please check it out.': 'Errores en el formulario, verifique por favor.',
'Exception instance attributes': 'Atributos de la instancia de Excepción',
'Exit Fullscreen': 'Salir de pantalla completa',
'Expand Abbreviation': 'Expandir abreviación',
'Expand Abbreviation (html files only)': 'Expandir Abreviación (sólo archivos html)',
'export as csv file': 'exportar como archivo CSV',
'exposes': 'expone',
'exposes:': 'expone:',
'extends': 'extiende',
'failed to compile file because:': 'falló la compilación de archivos debido a:',
'failed to reload module': 'recarga del módulo ha fallado',
'failed to reload module because:': 'no es posible recargar el módulo por:',
'File': 'Archivo',
'file "%(filename)s" created': 'archivo "%(filename)s" creado',
'file "%(filename)s" deleted': 'archivo "%(filename)s" eliminado',
'file "%(filename)s" uploaded': 'archivo "%(filename)s" subido',
'file "%(filename)s" was not deleted': 'archivo "%(filename)s" no fué eliminado',
'file "%(filename)s" was not deleted': 'archivo "%(filename)s" no fue eliminado',
'file "%s" of %s restored': 'archivo "%s" de %s restaurado',
'file changed on disk': 'archivo modificado en el disco',
'file does not exist': 'archivo no existe',
'file saved on %(time)s': 'archivo guardado %(time)s',
'file saved on %s': 'archivo guardado %s',
'filter': 'filter',
'Find Next': 'Buscar próximo',
'Find Previous': 'Bucar anterior',
'First name': 'Nombre',
'Frames': 'Frames',
'Functions with no doctests will result in [passed] tests.': 'Funciones sin doctests equivalen a pruebas [aceptadas].',
'Git Pull': 'Git Pull',
'Git Push': 'Git Push',
'Globals##debug': 'Globals',
'graph model': 'graficación del modelo',
'Group ID': 'ID de Grupo',
'Hello World': 'Hola Mundo',
'Help': 'ayuda',
'here': 'aquí',
'htmledit': 'htmledit',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Si el reporte anterior contiene un número de tiquete este indica un falla en la ejecución del controlador, antes de cualquier intento de ejecutat doctests. Esto generalmente se debe a un error en la indentación o un error por fuera del código de la función.\r\nUn titulo verde indica que todas las pruebas pasaron (si existen). En dicho caso los resultados no se muestran.',
'Image': 'Imagen',
'Import/Export': 'Importar/Exportar',
'includes': 'incluye',
'insert new': 'inserte nuevo',
'insert new %s': 'inserte nuevo %s',
'inspect attributes': 'inspeccionar atributos',
'Install': 'Instalar',
'Installation of %(plugin)s for %(app)s': 'Instalación de %(plugin)s para %(app)s',
'Installation of %(plugin)s for %(app)s app': 'Instalación de %(plugin)s para %(app)s app',
'Installed applications': 'Aplicaciones instaladas',
'Interaction at %s line %s': 'Interacción en %s línea %s',
'Interactive console': 'Terminal interactiva',
'internal error': 'error interno',
'Internal State': 'Estado Interno',
'Invalid action': 'Acción inválida',
'Invalid application name': 'Nombre de aplicación no válido',
'Invalid email': 'Correo inválido',
'invalid password': 'contraseña inválida',
'invalid password.': 'contraseña inválida.',
'Invalid Query': 'Consulta inválida',
'invalid request': 'solicitud inválida',
'Invalid request': 'Petición inválida',
'invalid ticket': 'tiquete inválido',
'Key bindings': 'Key bindings',
'Key bindings for ZenCoding Plugin': 'Key bindings para el Plugin ZenCoding',
'Keyboard shortcuts': 'Atajos de teclado',
'language file "%(filename)s" created/updated': 'archivo de lenguaje "%(filename)s" creado/actualizado',
'Language files (static strings) updated': 'Archivos de lenguaje (cadenas estáticas) actualizados',
'languages': 'lenguajes',
'Languages': 'Lenguajes',
'languages updated': 'lenguajes actualizados',
'Last name': 'Apellido',
'Last saved on:': 'Guardado en:',
'License for': 'Licencia para',
'License:': 'Licencia:',
'lists by ticket': 'listas por ticket',
'loading...': 'cargando...',
'locals': 'locals',
'Locals##debug': 'Locals',
'Login': 'Inicio de sesión',
'login': 'inicio de sesión',
'manage': 'manage',
'Login to the Administrative Interface': 'Inicio de sesión para la Interfaz Administrativa',
'Logout': 'fin de sesión',
'Lost Password': 'Contraseña perdida',
'manage': 'gestionar',
'Manage': 'Gestionar',
'Manage Cache': 'Administrar Caché',
'merge': 'combinar',
'Models': 'Modelos',
'models': 'modelos',
'Modules': 'Módulos',
'modules': 'módulos',
'Name': 'Nombre',
'new application "%s" created': 'nueva aplicación "%s" creada',
'New application wizard': 'Asistente para nueva aplicación',
'new plugin installed': 'nuevo plugin instalado',
'New plugin installed: %s': 'Nuevo plugin instalado: %s',
'New plugin installed: web2py.plugin.attachment.w2p': 'Nuevo plugin instalado: web2py.plugin.attachment.w2p',
'New plugin installed: web2py.plugin.dialog.w2p': 'Nuevo plugin instalado: web2py.plugin.dialog.w2p',
'New plugin installed: web2py.plugin.math2py.w2p': 'Nuevo plugin instalado: web2py.plugin.math2py.w2p',
'New plugin installed: web2py.plugin.timezone.w2p': 'Nuevo plugin instalado: web2py.plugin.timezone.w2p',
'New Record': 'Registro nuevo',
'new record inserted': 'nuevo registro insertado',
'New simple application': 'Nueva aplicación',
'next': 'siguiente',
'next 100 rows': '100 filas siguientes',
'NO': 'NO',
'No databases in this application': 'No hay bases de datos en esta aplicación',
'No Interaction yet': 'No hay interacción',
'no match': 'no encontrado',
'no package selected': 'ningún paquete seleccionado',
'No ticket_storage.txt found under /private folder': 'No se encontró ticket_storage.txt en la carpeta /private',
'online designer': 'diseñador en línea',
'or alternatively': 'o alternativamente',
'Or Get from URL:': 'O obtener desde una URL:',
'or import from csv file': 'o importar desde archivo CSV',
'or provide app url:': 'o provea URL de la aplicación:',
'or provide application url:': 'o provea URL de la aplicación:',
'Origin': 'Origen',
'Original/Translation': 'Original/Traducción',
'Overview': 'Revisión general',
'Overwrite installed app': 'sobreescriba la aplicación instalada',
'Pack all': 'empaquetar todo',
'Pack compiled': 'empaquete compiladas',
'Pack custom': 'empaquetar personalizado',
'pack plugin': 'empaquetar plugin',
'PAM authenticated user, cannot change password here': 'usuario autenticado por PAM, no puede cambiar la contraseña aquí',
'Password': 'Contraseña',
'password changed': 'contraseña cambiada',
'Peeking at file': 'Visualizando archivo',
'Please': 'Por favor',
'Plugin': 'Plugin',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" eliminado',
'Plugin "%s" in application': 'Plugin "%s" en aplicación',
'Plugin page': 'Página del plugin',
'plugins': 'plugins',
'Plugins': 'Plugins',
'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'Este sitio usa',
'previous 100 rows': '100 filas anteriores',
'Private files': 'Archivos privados',
'private files': 'archivos privados',
'Project Progress': 'Progreso del Proyecto',
'Query:': 'Consulta:',
'RAM': 'RAM',
'Rapid Search': 'Búsqueda rápida',
'record': 'registro',
'record does not exist': 'el registro no existe',
'record id': 'id de registro',
'Record ID': 'ID de Registro',
'refresh': 'recargar',
'Register': 'Regístrese',
'Registration key': 'Contraseña de Registro',
'reload': 'recargar',
'Reload routes': 'Recargar rutas',
'Remove compiled': 'eliminar compilados',
'Removed Breakpoint on %s at line %s': 'Eliminado punto de ruptura en %s en la línea %s',
'Replace': 'Reemplazar',
'Replace All': 'Reemplazar todos',
'Repository (%s)': 'Repositorio (%s)',
'Repository: %s': 'Repositorio: %s',
'request': 'petición',
'Resolve Conflict file': 'archivo Resolución de Conflicto',
'response': 'respuesta',
'restore': 'restaurar',
'return': 'return',
'revert': 'revertir',
'Role': 'Rol',
'Rows in table': 'Filas en la tabla',
'Rows selected': 'Filas seleccionadas',
'rules are not defined': 'reglas no están definidas',
'Run tests in this file': 'Ejecute tests en este archivo',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Ejecute tests en este archivo (para ejecutarlo en todos los archivos, podrías usar el botón etiquetado como 'test')",
'Running on %s': 'Ejecutando en %s',
'Save': 'Guardar',
'save': 'guardar',
'Save file:': 'Guardar archivo:',
'Save file: %s': 'Guardar archivo: %s',
'Save via Ajax': 'Guardar vía Ajax',
'Saved file hash:': 'Hash del archivo guardado:',
'Screenshot %s': 'Screenshot %s',
'Screenshots': 'Screenshots',
'selected': 'seleccionado(s)',
'session': 'sesión',
'session expired': 'sesión expirada',
'Set Breakpoint on %s at line %s: %s': 'Establecer punto de ruptura en %s en la línea %s: %s',
'shell': 'shell',
'Site': 'sitio',
'some files could not be removed': 'algunos archivos no pudieron ser removidos',
'source : filesystem': 'fuente : sistema de archivos',
'Start searching': 'Iniciar búsqueda',
'Start wizard': 'Iniciar asistente',
'state': 'estado',
'Static': 'Estáticos',
'static': 'estáticos',
'Static files': 'Archivos estáticos',
'Statistics': 'Estadísticas',
'step': 'paso',
'stop': 'parar',
'submit': 'enviar',
'Submit': 'Enviar',
'Success!': '¡Éxito!',
'successful': 'exitoso',
'Sure you want to delete this object?': '¿Está seguro que desea eliminar este objeto?',
'switch to : db': 'cambiar a : db',
'table': 'tabla',
'Table name': 'Nombre de la tabla',
'test': 'probar',
'Testing application': 'Probando aplicación',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "consulta" es una condición como "db.tabla1.campo1==\'valor\'". Algo como "db.tabla1.campo1==db.tabla2.campo2" resulta en un JOIN SQL.',
'The application logic, each URL path is mapped in one exposed function in the controller': 'La lógica de la aplicación, cada ruta URL se mapea en una función expuesta en el controlador',
'the application logic, each URL path is mapped in one exposed function in the controller': 'la lógica de la aplicación, cada ruta URL se mapea en una función expuesta en el controlador',
'the data representation, define database tables and sets': 'la representación de datos, define tablas y conjuntos de base de datos',
'The data representation, define database tables and sets': 'La representación de datos, define tablas y conjuntos de base de datos',
'The presentations layer, views are also known as templates': 'La capa de presentación, las vistas también son llamadas plantillas',
'the presentations layer, views are also known as templates': 'la capa de presentación, las vistas también son llamadas plantillas',
'these files are served without processing, your images go here': 'estos archivos son servidos sin procesar, sus imágenes van aquí',
'There are no controllers': 'No hay controladores',
'There are no models': 'No hay modelos',
'There are no modules': 'No hay módulos',
'There are no plugins': 'No hay plugins',
'There are no private files': 'No hay archivos privados',
'There are no static files': 'No hay archivos estáticos',
'There are no translators, only default language is supported': 'No hay traductores, sólo el lenguaje por defecto es soportado',
'There are no views': 'No hay vistas',
'These files are not served, they are only available from within your app': 'Estos archivos no se proveen, ellos sólo están disponibles para su aplicación',
'These files are served without processing, your images go here': 'Estos archivos se proveen sin procesar, sus imágenes van aquí',
'these files are served without processing, your images go here': 'estos archivos se proveen sin procesar, sus imágenes van aquí',
'This is the %(filename)s template': 'Está es la plantilla %(filename)s',
'this page to see if a breakpoint was hit and debug interaction is required.': 'esta página para ver si un punto de ruptura fue configurado y la depuración es requerida.',
'Ticket': 'Ticket',
'Ticket ID': 'Ticket ID',
'Timestamp': 'Timestamp',
'TM': 'MR',
'to previous version.': 'a la versión previa.',
'To create a plugin, name a file/folder plugin_[name]': 'Para crear un plugin, nombre un archivo/carpeta plugin_[nombre]',
'To emulate a breakpoint programatically, write:': 'Para emular un punto de ruptura programáticamente, escriba',
'to use the debugger!': '¡usar el debugger!',
'toggle breakpoint': 'alternar punto de ruptura',
'Toggle comment': 'Alternar comentario',
'Toggle Fullscreen': 'Alternar pantalla completa',
'Traceback': 'Rastreo',
'translation strings for the application': 'cadenas de caracteres de traducción para la aplicación',
'Translation strings for the application': 'Cadenas de caracteres de traducción para la aplicación',
'try': 'intente',
'try something like': 'intente algo como',
'Try the mobile interface': 'Pruebe la interfaz móvil',
'try view': 'Pruebe la vista',
'Type some Python code in here and hit Return (Enter) to execute it.': 'Escriba algún código Python aquí y teclee la tecla Enter para ejecutarlo',
'Unable to check for upgrades': 'No es posible verificar la existencia de actualizaciones',
'unable to create application "%s"': 'no es posible crear la aplicación "%s"',
'unable to delete file "%(filename)s"': 'no es posible eliminar el archivo "%(filename)s"',
'unable to delete file plugin "%(plugin)s"': 'no es posible eliminar plugin "%(plugin)s"',
'Unable to download': 'No es posible la descarga',
'Unable to download app': 'No es posible descargar la aplicación',
'Unable to download app because:': 'No es posible descargar la aplicación porque:',
'Unable to download because': 'No es posible descargar porque',
'unable to parse csv file': 'no es posible analizar el archivo CSV',
'unable to uninstall "%s"': 'no es posible instalar "%s"',
'unable to upgrade because "%s"': 'no es posible actualizar porque "%s"',
'uncheck all': 'desmarcar todos',
'Uninstall': 'desinstalar',
'update': 'actualizar',
'update all languages': 'actualizar todos los lenguajes',
'Update:': 'Actualice:',
'upgrade now to %s': 'upgrade now to %s',
'upgrade web2py now': 'actualize web2py ahora',
'Upload': 'Subir',
'Upload & install packed application': 'Suba e instale aplicación empaquetada',
'Upload a package:': 'Subir un paquete:',
'Upload and install packed application': 'Suba e instale una aplicación empaquetada',
'upload application:': 'subir aplicación:',
'upload file:': 'suba archivo:',
'upload plugin file:': 'suba archivo de plugin:',
'Upload existing application': 'Suba esta aplicación',
'upload file:': 'suba un archivo:',
'upload plugin file:': 'suba un archivo de plugin:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para crear consultas más complejas.',
'User ID': 'ID de Usuario',
'variables': 'variables',
'Version': 'Versión',
'versioning': 'versiones',
'Versioning': 'Versiones',
'view': 'vista',
'Views': 'Vistas',
'views': 'vistas',
'web2py Recent Tweets': 'Tweets Recientes de web2py',
'Web Framework': 'Web Framework',
'web2py is up to date': 'web2py está actualizado',
'web2py online debugger': 'web2py debugger en línea',
'web2py Recent Tweets': 'Tweets Recientes de web2py',
'web2py upgraded; please restart it': 'web2py actualizado; favor reiniciar',
'Welcome to web2py': 'Bienvenido a web2py',
'YES': '',
'Yes': '',
'You are going to install': 'Vas a instalar',
'You need to set up and reach a': 'Necesitas configurar y obtener un',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Tu aplicación será bloqueada hasta que des click en un botón de acción (siguiente, paso, continuar, etc.)',
'You can inspect variables using the console below': 'Puedes inspeccionar las variables utilizando la terminal de abajo',
}
+97 -97
View File
@@ -1,15 +1,15 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'fr',
'!langname!': 'Français',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" est une expression en option tels que "field1 = \'newvalue\'". Vous ne pouvez pas mettre à jour ou supprimer les résultats d\'une jointure "a JOIN"',
'%Y-%m-%d': '%d-%m-%Y',
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
'%s %%{row} deleted': 'lignes %s supprimé',
'%s %%{row} updated': 'lignes %s mis à jour',
'(requires internet access)': '(requires internet access)',
'%s %%{row} deleted': 'lignes %s supprimées',
'%s %%{row} updated': 'lignes %s mises à jour',
'(requires internet access)': '(nécessite un accès Internet)',
'(something like "it-it")': '(quelque chose comme "it-it") ',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'@markmin\x01Searching: **%s** %%{file}': 'Cherche: **%s** fichiers',
'A new version of web2py is available: %s': 'Une nouvelle version de web2py est disponible: %s ',
'A new version of web2py is available: Version 1.68.2 (2009-10-21 09:59:29)\n': 'Une nouvelle version de web2py est disponible: Version 1.68.2 (2009-10-21 09:59:29)\r\n',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATTENTION: nécessite une connexion sécurisée (HTTPS) ou être en localhost. ',
@@ -17,59 +17,59 @@
'ATTENTION: you cannot edit the running application!': "ATTENTION: vous ne pouvez pas modifier l'application qui tourne!",
'About': 'à propos',
'About application': "A propos de l'application",
'Additional code for your application': 'Additional code for your application',
'Additional code for your application': 'Code additionnel pour votre application',
'Admin is disabled because insecure channel': 'Admin est désactivé parce que canal non sécurisé',
'Admin language': 'Admin language',
'Admin language': "Language de l'admin",
'Administrator Password:': 'Mot de passe Administrateur:',
'Application name:': 'Application name:',
'Are you sure you want to delete file "%s"?': 'Etes-vous sûr de vouloir supprimer le fichier «%s»?',
'Are you sure you want to delete plugin "%s"?': 'Etes-vous sûr de vouloir effacer le plugin "%s"?',
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
'Application name:': "Nom de l'application:",
'Are you sure you want to delete file "%s"?': 'Êtes-vous sûr de vouloir supprimer le fichier «%s»?',
'Are you sure you want to delete plugin "%s"?': 'Êtes-vous sûr de vouloir supprimer le plugin "%s"?',
'Are you sure you want to delete this object?': 'Êtes-vous sûr de vouloir supprimer cet objet?',
'Are you sure you want to uninstall application "%s"?': "Êtes-vous sûr de vouloir désinstaller l'application «%s»?",
'Are you sure you want to upgrade web2py now?': 'Are you sure you want to upgrade web2py now?',
'Are you sure you want to upgrade web2py now?': 'Êtes-vous sûr de vouloir mettre à jour web2py maintenant?',
'Available databases and tables': 'Bases de données et tables disponible',
'Cannot be empty': 'Ne peut pas être vide',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Ne peut pas compiler: il y a des erreurs dans votre application. corriger les erreurs et essayez à nouveau.',
'Cannot compile: there are errors in your app:': 'Cannot compile: there are errors in your app:',
'Change admin password': 'change admin password',
'Check for upgrades': 'check for upgrades',
'Cannot compile: there are errors in your app:': 'Ne peut pas compiler: il y a des erreurs dans votre application:',
'Change admin password': 'Changer le mot de passe admin',
'Check for upgrades': 'Vérifier les mises à jour',
'Check to delete': 'Cocher pour supprimer',
'Checking for upgrades...': 'Vérification des mises à jour ... ',
'Clean': 'nettoyer',
'Compile': 'compiler',
'Controllers': 'Contrôleurs',
'Create': 'create',
'Create': 'Créer',
'Create new simple application': 'Créer une nouvelle application',
'Current request': 'Requête actuel',
'Current request': 'Requête actuelle',
'Current response': 'Réponse actuelle',
'Current session': 'Session en cours',
'Date and Time': 'Date et heure',
'Delete': 'Supprimer',
'Delete this file (you will be asked to confirm deletion)': 'Delete this file (you will be asked to confirm deletion)',
'Delete this file (you will be asked to confirm deletion)': 'Supprimer ce fichier (on vous demandera de confirmer la suppression)',
'Delete:': 'Supprimer:',
'Deploy': 'deploy',
'Deploy': 'Déployer',
'Deploy on Google App Engine': 'Déployer sur Google App Engine',
'EDIT': 'MODIFIER',
'Edit': 'modifier',
'Edit application': "Modifier l'application",
'Edit current record': 'Modifier cet entrée',
'Edit current record': 'Modifier cette entrée',
'Editing Language file': 'Modifier le fichier de langue',
'Editing file': 'Modifier le fichier',
'Editing file "%s"': 'Modifier le fichier "% s" ',
'Enterprise Web Framework': 'Enterprise Web Framework',
'Error logs for "%(app)s"': 'Journal d\'erreurs pour "%(app)s"',
'Errors': 'erreurs',
'Exception instance attributes': 'Exception instance attributes',
'Functions with no doctests will result in [passed] tests.': 'Des fonctions sans doctests entraînera tests [passed] .',
'Exception instance attributes': "Attributs d'instance Exception",
'Functions with no doctests will result in [passed] tests.': 'Des fonctions sans doctests entraîneront des tests [passed] .',
'Help': 'aide',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': "Si le rapport ci-dessus contient un numéro de ticket, cela indique une défaillance dans l'exécution du contrôleur, avant toute tentative d'exécuter les doctests. Cela est généralement dû à une erreur d'indentation ou une erreur à l'extérieur du code de la fonction.\r\nUn titre verte indique que tous les tests (si définie) passed. Dans ce cas, les résultats des essais ne sont pas affichées.",
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': "Si le rapport ci-dessus contient un numéro de ticket, cela indique une défaillance dans l'exécution du contrôleur, avant toute tentative d'exécuter les doctests. Cela est généralement dû à une erreur d'indentation ou une erreur à l'extérieur du code de la fonction.\r\nUn titre vert indique que tous les tests (si définis) sont passés. Dans ce cas, les résultats des essais ne sont pas affichées.",
'Import/Export': 'Importer/Exporter',
'Install': 'install',
'Installed applications': 'Les applications installées',
'Install': 'Installer',
'Installed applications': 'Applications installées',
'Internal State': 'État Interne',
'Invalid Query': 'Requête non valide',
'Invalid action': 'Action non valide',
'Language files (static strings) updated': 'Fichiers de langue (static strings) Mise à jour ',
'Language files (static strings) updated': 'Fichiers de langue (chaînes statiques) mis à jour ',
'Languages': 'Langues',
'Last saved on:': 'Dernière sauvegarde le:',
'License for': 'Licence pour',
@@ -79,13 +79,13 @@
'Models': 'Modèles',
'Modules': 'Modules',
'NO': 'NON',
'New Record': 'Nouvel Entrée',
'New application wizard': 'New application wizard',
'New simple application': 'New simple application',
'New Record': 'Nouvelle Entrée',
'New application wizard': 'Assistant nouvelle application',
'New simple application': 'Nouvelle application simple',
'No databases in this application': 'Aucune base de données dans cette application',
'Original/Translation': 'Original / Traduction',
'Overwrite installed app': 'overwrite installed app',
'PAM authenticated user, cannot change password here': 'PAM authenticated user, cannot change password here',
'Overwrite installed app': "Écraser l'application installée",
'PAM authenticated user, cannot change password here': 'Utilisateur authentifié par PAM, vous ne pouvez pas changer le mot de passe ici',
'Pack all': 'tout empaqueter',
'Pack compiled': 'paquet compilé',
'Peeking at file': 'Jeter un oeil au fichier',
@@ -97,101 +97,101 @@
'Resolve Conflict file': 'Résoudre les conflits de fichiers',
'Rows in table': 'Lignes de la table',
'Rows selected': 'Lignes sélectionnées',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Run tests in this file (to run all files, you may also use the button labelled 'test')",
'Save': 'Save',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Lancer les tests dans ce fichier (pour lancer tous les fichiers, vous pouvez également utiliser le bouton nommé 'test')",
'Save': 'Enregistrer',
'Saved file hash:': 'Hash du Fichier enregistré:',
'Site': 'site',
'Start wizard': 'start wizard',
'Site': 'Site',
'Start wizard': "Démarrer l'assistant",
'Static files': 'Fichiers statiques',
'Sure you want to delete this object?': 'Vous êtes sûr de vouloir supprimer cet objet? ',
'TM': 'MD',
'Testing application': "Test de l'application",
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La "requête" est une condition comme "db.table1.field1==\'value\'". Quelque chose comme "db.table1.field1==db.table2.field2" aboutit à un JOIN SQL.',
'The application logic, each URL path is mapped in one exposed function in the controller': 'The application logic, each URL path is mapped in one exposed function in the controller',
'The data representation, define database tables and sets': 'The data representation, define database tables and sets',
'The presentations layer, views are also known as templates': 'The presentations layer, views are also known as templates',
'There are no controllers': "Il n'existe pas de contrôleurs",
'There are no models': "Il n'existe pas de modèles",
'There are no modules': "Il n'existe pas de modules",
'There are no plugins': 'There are no plugins',
'There are no static files': "Il n'existe pas de fichiers statiques",
'There are no translators, only default language is supported': "Il n'y a pas de traducteurs, est prise en charge uniquement la langue par défaut",
'There are no views': "Il n'existe pas de vues",
'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'The application logic, each URL path is mapped in one exposed function in the controller': "La logique de l'application, chaque chemin d'URL est mappé avec une fonction exposée dans le contrôleur",
'The data representation, define database tables and sets': 'La représentation des données, définir les tables et ensembles de la base de données',
'The presentations layer, views are also known as templates': "Les couches de présentation, les vues sont également appelées modples",
'There are no controllers': "Il n'y a pas de contrôleurs",
'There are no models': "Il n'y a pas de modèles",
'There are no modules': "Il n'y a pas de modules",
'There are no plugins': "Il n'y a pas de plugins",
'There are no static files': "Il n'y a pas de fichiers statiques",
'There are no translators, only default language is supported': "Il n'y a pas de traducteurs, seule la langue par défaut est prise en charge",
'There are no views': "Il n'y a pas de vues",
'These files are served without processing, your images go here': 'Ces fichiers sont renvoyés sans traitement, vos images viennent ici',
'This is the %(filename)s template': 'Ceci est le modèle %(filename)s ',
'Ticket': 'Ticket',
'To create a plugin, name a file/folder plugin_[name]': 'Pour créer un plugin, créer un fichier /dossier plugin_[nom]',
'Translation strings for the application': 'Translation strings for the application',
'Unable to check for upgrades': 'Impossible de vérifier les mises à niveau',
'Translation strings for the application': "Chaînes de traduction pour l'application",
'Unable to check for upgrades': 'Impossible de vérifier les mises à jour',
'Unable to download': 'Impossible de télécharger',
'Unable to download app': 'Impossible de télécharger app',
'Unable to download app because:': 'Unable to download app because:',
'Unable to download because': 'Unable to download because',
'Unable to download app': "Impossible de télécharger l'app",
'Unable to download app because:': "Impossible de télécharger l'app car:",
'Unable to download because': 'Impossible de télécharger car',
'Uninstall': 'désinstaller',
'Update:': 'Mise à jour:',
'Upload & install packed application': 'Upload & install packed application',
'Upload a package:': 'Upload a package:',
'Upload existing application': 'charger une application existante',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Utilisez (...)&(...) pour AND, (...)|(...) pour OR, et ~(...) pour NOT et construire des requêtes plus complexes. ',
'Use an url:': 'Use an url:',
'Upload & install packed application': "Charger & installer l'application empaquetée",
'Upload a package:': 'Charger un paquet:',
'Upload existing application': 'Charger une application existante',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Utilisez (...)&(...) pour AND, (...)|(...) pour OR, et ~(...) pour NOT afin de construire des requêtes plus complexes. ',
'Use an url:': 'Utiliser une url:',
'Version': 'Version',
'Views': 'Vues',
'Web Framework': 'Web Framework',
'Web Framework': 'Framework Web',
'YES': 'OUI',
'additional code for your application': 'code supplémentaire pour votre application',
'admin disabled because no admin password': 'admin désactivé car aucun mot de passe admin',
'admin disabled because not supported on google app engine': 'admin désactivé car non pris en charge sur Google Apps engine',
'admin disabled because unable to access password file': "admin désactivé car incapable d'accéder au fichier mot de passe",
'administrative interface': 'administrative interface',
'admin disabled because no admin password': 'admin désactivée car aucun mot de passe admin',
'admin disabled because not supported on google app engine': 'admin désactivée car non prise en charge sur Google Apps engine',
'admin disabled because unable to access password file': "admin désactivée car incapable d'accéder au fichier mot de passe",
'administrative interface': "interface d'administration",
'and rename it (required):': 'et renommez-la (obligatoire):',
'and rename it:': 'et renommez-le:',
'appadmin': 'appadmin',
'appadmin is disabled because insecure channel': 'appadmin est désactivé parce que canal non sécurisé',
'application "%s" uninstalled': 'application "%s" désinstallé',
'application %(appname)s installed with md5sum: %(digest)s': 'application %(appname)s installed with md5sum: %(digest)s',
'application "%s" uninstalled': 'application "%s" désinstallée',
'application %(appname)s installed with md5sum: %(digest)s': 'application %(appname)s installée avec md5sum: %(digest)s',
'application compiled': 'application compilée',
'application is compiled and cannot be designed': "l'application est compilée et ne peut être désigné",
'application is compiled and cannot be designed': "l'application est compilée et ne peut être modifiée",
'arguments': 'arguments',
'back': 'retour',
'cache': 'cache',
'cache, errors and sessions cleaned': 'cache, erreurs et sessions nettoyé',
'cannot create file': 'ne peu pas créer de fichier',
'cannot upload file "%(filename)s"': 'ne peu pas charger le fichier "%(filename)s"',
'check all': 'tous vérifier ',
'click to check for upgrades': 'Cliquez pour vérifier les mises à niveau',
'cache, errors and sessions cleaned': 'cache, erreurs et sessions nettoyés',
'cannot create file': 'ne peut pas créer de fichier',
'cannot upload file "%(filename)s"': 'ne peut pas charger le fichier "%(filename)s"',
'check all': 'tout vérifier ',
'click to check for upgrades': 'Cliquez pour vérifier les mises jour',
'code': 'code',
'collapse/expand all': 'collapse/expand all',
'compiled application removed': 'application compilée enlevé',
'collapse/expand all': 'tout réduire/agrandir',
'compiled application removed': 'application compilée enlevée',
'controllers': 'contrôleurs',
'create file with filename:': 'créer un fichier avec nom de fichier:',
'create new application:': 'créer une nouvelle application:',
'created by': 'créé par',
'crontab': 'crontab',
'currently running': 'currently running',
'currently saved or': 'actuellement enregistrés ou',
'currently running': 'tourne actuellement',
'currently saved or': 'actuellement enregistré ou',
'data uploaded': 'données chargées',
'database': 'base de données',
'database %s select': 'base de données %s sélectionner',
'database administration': 'administration base de données',
'db': 'db',
'db': 'bdd',
'defines tables': 'définit les tables',
'delete': 'supprimer',
'delete all checked': 'supprimer tout ce qui est cocher',
'delete plugin': ' supprimer plugin',
'delete all checked': 'supprimer tout ce qui est coché',
'delete plugin': ' supprimer le plugin',
'design': 'conception',
'direction: ltr': 'direction: ltr',
'docs': 'docs',
'done!': 'fait!',
'download layouts': 'download layouts',
'download plugins': 'download plugins',
'download layouts': 'télécharger layouts',
'download plugins': 'télécharger plugins',
'edit controller': 'modifier contrôleur',
'edit views:': 'edit views:',
'export as csv file': 'exportation au format CSV',
'edit views:': 'modifier vues:',
'export as csv file': 'export au format CSV',
'exposes': 'expose',
'exposes:': 'exposes:',
'exposes:': 'expose:',
'extends': 'étend',
'failed to reload module': 'impossible de recharger le module',
'failed to reload module because:': 'failed to reload module because:',
'failed to reload module because:': 'impossible de recharger le module car:',
'file "%(filename)s" created': 'fichier "%(filename)s" créé',
'file "%(filename)s" deleted': 'fichier "%(filename)s" supprimé',
'file "%(filename)s" uploaded': 'fichier "%(filename)s" chargé',
@@ -200,7 +200,7 @@
'file does not exist': "fichier n'existe pas",
'file saved on %(time)s': 'fichier enregistré le %(time)s',
'file saved on %s': 'fichier enregistré le %s',
'filter': 'filter',
'filter': 'filtre',
'htmledit': 'edition html',
'includes': 'inclus',
'index': 'index',
@@ -219,14 +219,14 @@
'modules': 'modules',
'new application "%s" created': 'nouvelle application "%s" créée',
'new plugin installed': 'nouveau plugin installé',
'new record inserted': 'nouvelle entrée inséré',
'new record inserted': 'nouvelle entrée insérée',
'next 100 rows': '100 lignes suivantes',
'no match': 'no match',
'no match': 'aucune correspondance',
'or import from csv file': 'ou importer depuis un fichier CSV ',
'or provide app url:': 'or provide app url:',
'or provide app url:': "ou fournir l'URL de l'app:",
'or provide application url:': "ou fournir l'URL de l'application:",
'pack plugin': 'paquet plugin',
'password changed': 'password changed',
'password changed': 'mot de passe modifié',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" supprimé',
'plugins': 'plugins',
'previous 100 rows': '100 lignes précédentes',
@@ -245,9 +245,9 @@
'submit': 'envoyer',
'table': 'table',
'test': 'tester',
'the application logic, each URL path is mapped in one exposed function in the controller': "la logique de l'application, chaque route URL est mappé dans une fonction exposée dans le contrôleur",
'the data representation, define database tables and sets': 'la représentation des données, défini les tables de bases de données et sets',
'the presentations layer, views are also known as templates': 'la couche des présentations, les vues sont également connus en tant que modèles',
'the application logic, each URL path is mapped in one exposed function in the controller': "la logique de l'application, chaque chemin d'URL est mappé dans une fonction exposée dans le contrôleur",
'the data representation, define database tables and sets': 'La représentation des données, définir les tables et ensembles de la base de données',
'the presentations layer, views are also known as templates': 'la couche de présentation, les vues sont également appelées modèles',
'these files are served without processing, your images go here': 'ces fichiers sont servis sans transformation, vos images vont ici',
'to previous version.': 'à la version précédente.',
'translation strings for the application': "chaînes de traduction de l'application",
@@ -258,22 +258,22 @@
'unable to delete file plugin "%(plugin)s"': 'impossible de supprimer le plugin "%(plugin)s"',
'unable to parse csv file': "impossible d'analyser les fichiers CSV",
'unable to uninstall "%s"': 'impossible de désinstaller "%s"',
'unable to upgrade because "%s"': 'unable to upgrade because "%s"',
'unable to upgrade because "%s"': 'impossible de mettre à jour car "%s"',
'uncheck all': 'tout décocher',
'update': 'mettre à jour',
'update all languages': 'mettre à jour toutes les langues',
'upgrade now': 'upgrade now',
'upgrade web2py now': 'upgrade web2py now',
'upload': 'upload',
'upgrade now': 'mettre à jour maintenant',
'upgrade web2py now': 'mettre à jour web2py maintenant',
'upload': 'charger',
'upload application:': "charger l'application:",
'upload file:': 'charger le fichier:',
'upload plugin file:': 'charger fichier plugin:',
'user': 'user',
'user': 'utilisateur',
'variables': 'variables',
'versioning': 'versioning',
'view': 'vue',
'views': 'vues',
'web2py Recent Tweets': 'web2py Tweets récentes',
'web2py Recent Tweets': 'Tweets récents sur web2py ',
'web2py is up to date': 'web2py est à jour',
'web2py upgraded; please restart it': 'web2py upgraded; please restart it',
'web2py upgraded; please restart it': 'web2py mis à jour; veuillez le redémarrer',
}
+1 -1
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'he-il',
'!langname!': 'עברית',
+219 -126
View File
@@ -1,145 +1,31 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'it',
'!langname!': 'Italiano',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" è un\'espressione opzionale come "campo1=\'nuovo valore\'". Non si può fare "update" o "delete" dei risultati di un JOIN ',
'%Y-%m-%d': '%d/%m/%Y',
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
'%s %%{row} deleted': '%s righe ("record") cancellate',
'%s %%{row} updated': '%s righe ("record") modificate',
'%Y-%m-%d': '%d/%m/%Y',
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
'(requires internet access)': '(requires internet access)',
'(requires internet access, experimental)': '(requires internet access, experimental)',
'(something like "it-it")': '(qualcosa simile a "it-it")',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'A new version of web2py is available: %s': 'È disponibile una nuova versione di web2py: %s',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': "ATTENZIONE: L'accesso richiede una connessione sicura (HTTPS) o l'esecuzione di web2py in locale (connessione su localhost)",
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTZIONE: NON ESEGUIRE PIÙ TEST IN PARALLELO (I TEST NON SONO "THREAD SAFE")',
'ATTENTION: you cannot edit the running application!': "ATTENZIONE: non puoi modificare l'applicazione correntemente in uso ",
'About': 'informazioni',
'About application': "Informazioni sull'applicazione",
'Admin is disabled because insecure channel': 'amministrazione disabilitata: comunicazione non sicura',
'Admin language': 'Admin language',
'Administrator Password:': 'Password Amministratore:',
'Application name:': 'Application name:',
'Are you sure you want to delete file "%s"?': 'Confermi di voler cancellare il file "%s"?',
'Are you sure you want to delete plugin "%s"?': 'Confermi di voler cancellare il plugin "%s"?',
'Are you sure you want to uninstall application "%s"?': 'Confermi di voler disinstallare l\'applicazione "%s"?',
'Are you sure you want to upgrade web2py now?': 'Confermi di voler aggiornare web2py ora?',
'Available databases and tables': 'Database e tabelle disponibili',
'Cannot be empty': 'Non può essere vuoto',
'Cannot compile: there are errors in your app:': "Compilazione fallita: ci sono errori nell'applicazione.",
'Change admin password': 'change admin password',
'Check for upgrades': 'check for upgrades',
'Check to delete': 'Seleziona per cancellare',
'Checking for upgrades...': 'Controllo aggiornamenti in corso...',
'Clean': 'pulisci',
'Compile': 'compila',
'Controller': 'Controller',
'Controllers': 'Controllers',
'Copyright': 'Copyright',
'Create': 'crea',
'Create new simple application': 'Crea nuova applicazione',
'Current request': 'Richiesta (request) corrente',
'Current response': 'Risposta (response) corrente',
'Current session': 'Sessione (session) corrente',
'DB Model': 'Modello di DB',
'Database': 'Database',
'Date and Time': 'Data and Ora',
'Delete': 'Cancella',
'Delete:': 'Cancella:',
'Deploy': 'deploy',
'Deploy on Google App Engine': 'Installa su Google App Engine',
'EDIT': 'MODIFICA',
'Edit': 'modifica',
'Edit This App': 'Modifica questa applicazione',
'Edit application': 'Modifica applicazione',
'Edit current record': 'Modifica record corrente',
'Editing Language file': 'Modifica file linguaggio',
'Editing file "%s"': 'Modifica del file "%s"',
'Enterprise Web Framework': 'Enterprise Web Framework',
'Error logs for "%(app)s"': 'Log degli errori per "%(app)s"',
'Errors': 'errori',
'Exception instance attributes': 'Exception instance attributes',
'Functions with no doctests will result in [passed] tests.': 'I test delle funzioni senza "doctests" risulteranno sempre [passed].',
'Hello World': 'Salve Mondo',
'Help': 'aiuto',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.',
'Import/Export': 'Importa/Esporta',
'Index': 'Indice',
'Install': 'installa',
'Installed applications': 'Applicazioni installate',
'Internal State': 'Stato interno',
'Invalid Query': 'Richiesta (query) non valida',
'Invalid action': 'Azione non valida',
'Language files (static strings) updated': 'Linguaggi (documenti con stringhe statiche) aggiornati',
'Languages': 'Linguaggi',
'Last saved on:': 'Ultimo salvataggio:',
'Layout': 'Layout',
'License for': 'Licenza relativa a',
'Login': 'Accesso',
'Login to the Administrative Interface': "Accesso all'interfaccia amministrativa",
'Logout': 'uscita',
'Main Menu': 'Menu principale',
'Menu Model': 'Menu Modelli',
'Models': 'Modelli',
'Modules': 'Moduli',
'NO': 'NO',
'New Record': 'Nuovo elemento (record)',
'New application wizard': 'New application wizard',
'New simple application': 'New simple application',
'No databases in this application': 'Nessun database presente in questa applicazione',
'Original/Translation': 'Originale/Traduzione',
'Overwrite installed app': 'sovrascrivi applicazione installata',
'PAM authenticated user, cannot change password here': 'utente autenticato tramite PAM, impossibile modificare password qui',
'Pack all': 'crea pacchetto',
'Pack compiled': 'crea pacchetto del codice compilato',
'Peeking at file': 'Uno sguardo al file',
'Plugin "%s" in application': 'Plugin "%s" nell\'applicazione',
'Plugins': 'I Plugins',
'Powered by': 'Powered by',
'Query:': 'Richiesta (query):',
'Remove compiled': 'rimozione codice compilato',
'Resolve Conflict file': 'File di risoluzione conflitto',
'Rows in table': 'Righe nella tabella',
'Rows selected': 'Righe selezionate',
'Saved file hash:': 'Hash del file salvato:',
'Site': 'sito',
'Start wizard': 'start wizard',
'Static files': 'Files statici',
'Stylesheet': 'Foglio di stile (stylesheet)',
'Sure you want to delete this object?': 'Vuoi veramente cancellare questo oggetto?',
'TM': 'TM',
'Testing application': 'Test applicazione in corsg',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La richiesta (query) è una condizione come ad esempio "db.tabella1.campo1==\'valore\'". Una condizione come "db.tabella1.campo1==db.tabella2.campo2" produce un "JOIN" SQL.',
'There are no controllers': 'Non ci sono controller',
'There are no models': 'Non ci sono modelli',
'There are no modules': 'Non ci sono moduli',
'There are no static files': 'Non ci sono file statici',
'There are no translators, only default language is supported': 'Non ci sono traduzioni, viene solo supportato il linguaggio di base',
'There are no views': 'Non ci sono viste ("view")',
'This is the %(filename)s template': 'Questo è il template %(filename)s',
'Ticket': 'Ticket',
'To create a plugin, name a file/folder plugin_[name]': 'Per creare un plugin, chiamare un file o cartella plugin_[nome]',
'Unable to check for upgrades': 'Impossibile controllare presenza di aggiornamenti',
'Unable to download app because:': 'Impossibile scaricare applicazione perché',
'Unable to download because': 'Impossibile scaricare perché',
'Unable to download because:': 'Unable to download because:',
'Uninstall': 'disinstalla',
'Update:': 'Aggiorna:',
'Upload & install packed application': 'Carica ed installa pacchetto con applicazione',
'Upload a package:': 'Upload a package:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Per costruire richieste (query) più complesse si usano (...)&(...) come "e" (AND), (...)|(...) come "o" (OR), e ~(...) come negazione (NOT).',
'Use an url:': 'Use an url:',
'Version': 'Versione',
'View': 'Vista',
'Views': 'viste',
'Welcome %s': 'Benvenuto %s',
'Welcome to web2py': 'Benvenuto su web2py',
'YES': 'SI',
'additional code for your application': 'righe di codice aggiuntive per la tua applicazione',
'Additional code for your application': 'Additional code for your application',
'admin disabled because no admin password': 'amministrazione disabilitata per mancanza di password amministrativa',
'admin disabled because not supported on google app engine': 'amministrazione non supportata da Google Apps Engine',
'admin disabled because unable to access password file': 'amministrazione disabilitata per impossibilità di leggere il file delle password',
'Admin is disabled because insecure channel': 'amministrazione disabilitata: comunicazione non sicura',
'Admin language': 'Admin language',
'administrative interface': 'administrative interface',
'Administrator Password:': 'Password Amministratore:',
'An error occured, please %s the page': 'An error occured, please %s the page',
'and rename it (required):': 'e rinominala (obbligatorio):',
'and rename it:': 'e rinominala:',
'appadmin': 'appadmin ',
@@ -147,44 +33,110 @@
'application "%s" uninstalled': 'applicazione "%s" disinstallata',
'application compiled': 'applicazione compilata',
'application is compiled and cannot be designed': "l'applicazione è compilata e non si può modificare",
'Application name:': 'Application name:',
'are not used': 'are not used',
'are not used yet': 'are not used yet',
'Are you sure you want to delete file "%s"?': 'Confermi di voler cancellare il file "%s"?',
'Are you sure you want to delete plugin "%s"?': 'Confermi di voler cancellare il plugin "%s"?',
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
'Are you sure you want to uninstall application "%s"?': 'Confermi di voler disinstallare l\'applicazione "%s"?',
'Are you sure you want to upgrade web2py now?': 'Confermi di voler aggiornare web2py ora?',
'arguments': 'arguments',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': "ATTENZIONE: L'accesso richiede una connessione sicura (HTTPS) o l'esecuzione di web2py in locale (connessione su localhost)",
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTZIONE: NON ESEGUIRE PIÙ TEST IN PARALLELO (I TEST NON SONO "THREAD SAFE")',
'ATTENTION: you cannot edit the running application!': "ATTENZIONE: non puoi modificare l'applicazione correntemente in uso ",
'Autocomplete Python Code': 'Autocomplete Python Code',
'Available databases and tables': 'Database e tabelle disponibili',
'back': 'indietro',
'cache': 'cache',
'cache, errors and sessions cleaned': 'pulitura cache, errori and sessioni ',
'can be a git repo': 'can be a git repo',
'Cannot be empty': 'Non può essere vuoto',
'Cannot compile: there are errors in your app:': "Compilazione fallita: ci sono errori nell'applicazione.",
'cannot create file': 'impossibile creare il file',
'cannot upload file "%(filename)s"': 'impossibile caricare il file "%(filename)s"',
'Change admin password': 'change admin password',
'change editor settings': 'change editor settings',
'change password': 'cambia password',
'check all': 'controlla tutto',
'Check for upgrades': 'check for upgrades',
'Check to delete': 'Seleziona per cancellare',
'Checking for upgrades...': 'Controllo aggiornamenti in corso...',
'Clean': 'pulisci',
'click here for online examples': 'clicca per vedere gli esempi',
'click here for the administrative interface': "clicca per l'interfaccia amministrativa",
'click to check for upgrades': 'clicca per controllare presenza di aggiornamenti',
'code': 'code',
'collapse/expand all': 'collapse/expand all',
'Compile': 'compila',
'compiled application removed': "rimosso il codice compilato dell'applicazione",
'Controller': 'Controller',
'Controllers': 'Controllers',
'controllers': 'controllers',
'Copyright': 'Copyright',
'Create': 'crea',
'create file with filename:': 'crea un file col nome:',
'create new application:': 'create new application:',
'Create new simple application': 'Crea nuova applicazione',
'Create/Upload': 'Create/Upload',
'created by': 'creato da',
'crontab': 'crontab',
'Current request': 'Richiesta (request) corrente',
'Current response': 'Risposta (response) corrente',
'Current session': 'Sessione (session) corrente',
'currently running': 'currently running',
'currently saved or': 'attualmente salvato o',
'customize me!': 'Personalizzami!',
'data uploaded': 'dati caricati',
'Database': 'Database',
'database': 'database',
'database %s select': 'database %s select',
'database administration': 'amministrazione database',
'Date and Time': 'Data and Ora',
'db': 'db',
'DB Model': 'Modello di DB',
'Debug': 'Debug',
'defines tables': 'defininisce le tabelle',
'Delete': 'Cancella',
'delete': 'Cancella',
'delete all checked': 'cancella tutti i selezionati',
'delete plugin': 'cancella plugin',
'Delete this file (you will be asked to confirm deletion)': 'Delete this file (you will be asked to confirm deletion)',
'Delete:': 'Cancella:',
'Deploy': 'deploy',
'Deploy on Google App Engine': 'Installa su Google App Engine',
'Deploy to OpenShift': 'Deploy to OpenShift',
'design': 'progetta',
'Detailed traceback description': 'Detailed traceback description',
'direction: ltr': 'direction: ltr',
'Disable': 'Disable',
'docs': 'docs',
'done!': 'fatto!',
'download layouts': 'download layouts',
'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'download plugins',
'Download plugins from repository': 'Download plugins from repository',
'EDIT': 'MODIFICA',
'Edit': 'modifica',
'Edit application': 'Modifica applicazione',
'edit controller': 'modifica controller',
'edit controller:': 'edit controller:',
'Edit current record': 'Modifica record corrente',
'edit profile': 'modifica profilo',
'Edit This App': 'Modifica questa applicazione',
'edit views:': 'modifica viste (view):',
'Editing %s': 'Editing %s',
'Enterprise Web Framework': 'Enterprise Web Framework',
'Error logs for "%(app)s"': 'Log degli errori per "%(app)s"',
'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket',
'Errors': 'errori',
'Exception instance attributes': 'Exception instance attributes',
'Exit Fullscreen': 'Exit Fullscreen',
'Expand Abbreviation': 'Expand Abbreviation',
'export as csv file': 'esporta come file CSV',
'exposes': 'espone',
'exposes:': 'exposes:',
'extends': 'estende',
'failed to reload module because:': 'ricaricamento modulo fallito perché:',
'file "%(filename)s" created': 'creato il file "%(filename)s"',
@@ -195,73 +147,214 @@
'file does not exist': 'file inesistente',
'file saved on %(time)s': "file salvato nell'istante %(time)s",
'file saved on %s': 'file salvato: %s',
'filter': 'filter',
'Find Next': 'Find Next',
'Find Previous': 'Find Previous',
'Frames': 'Frames',
'Functions with no doctests will result in [passed] tests.': 'I test delle funzioni senza "doctests" risulteranno sempre [passed].',
'Get from URL:': 'Get from URL:',
'Git Pull': 'Git Pull',
'Git Push': 'Git Push',
'graph model': 'graph model',
'Hello World': 'Salve Mondo',
'Help': 'aiuto',
'Hide/Show Translated strings': 'Hide/Show Translated strings',
'htmledit': 'modifica come html',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.',
'Import/Export': 'Importa/Esporta',
'includes': 'include',
'Index': 'Indice',
'insert new': 'inserisci nuovo',
'insert new %s': 'inserisci nuovo %s',
'inspect attributes': 'inspect attributes',
'Install': 'installa',
'Installed applications': 'Applicazioni installate',
'internal error': 'errore interno',
'Internal State': 'Stato interno',
'Invalid action': 'Azione non valida',
'invalid password': 'password non valida',
'Invalid Query': 'Richiesta (query) non valida',
'invalid request': 'richiesta non valida',
'invalid ticket': 'ticket non valido',
'Key bindings': 'Key bindings',
'Key bindings for ZenCoding Plugin': 'Key bindings for ZenCoding Plugin',
'language file "%(filename)s" created/updated': 'file linguaggio "%(filename)s" creato/aggiornato',
'Language files (static strings) updated': 'Linguaggi (documenti con stringhe statiche) aggiornati',
'languages': 'linguaggi',
'Languages': 'Linguaggi',
'Last saved on:': 'Ultimo salvataggio:',
'Layout': 'Layout',
'License for': 'Licenza relativa a',
'loading...': 'caricamento...',
'locals': 'locals',
'Login': 'Accesso',
'login': 'accesso',
'Login to the Administrative Interface': "Accesso all'interfaccia amministrativa",
'Logout': 'uscita',
'Main Menu': 'Menu principale',
'Manage': 'Manage',
'Menu Model': 'Menu Modelli',
'merge': 'unisci',
'Models': 'Modelli',
'models': 'modelli',
'Modules': 'Moduli',
'modules': 'moduli',
'new application "%s" created': 'creata la nuova applicazione "%s"',
'New application wizard': 'New application wizard',
'new plugin installed': 'installato nuovo plugin',
'New Record': 'Nuovo elemento (record)',
'new record inserted': 'nuovo record inserito',
'New simple application': 'New simple application',
'next 100 rows': 'prossime 100 righe',
'NO': 'NO',
'No databases in this application': 'Nessun database presente in questa applicazione',
'no match': 'nessuna corrispondenza',
'no package selected': 'no package selected',
'online designer': 'online designer',
'or alternatively': 'or alternatively',
'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'oppure importa da file CSV',
'or provide app url:': "oppure fornisci url dell'applicazione:",
'Original/Translation': 'Originale/Traduzione',
'Overwrite installed app': 'sovrascrivi applicazione installata',
'Pack all': 'crea pacchetto',
'Pack compiled': 'crea pacchetto del codice compilato',
'Pack custom': 'Pack custom',
'pack plugin': 'crea pacchetto del plugin',
'PAM authenticated user, cannot change password here': 'utente autenticato tramite PAM, impossibile modificare password qui',
'password changed': 'password modificata',
'Peeking at file': 'Uno sguardo al file',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" cancellato',
'Plugin "%s" in application': 'Plugin "%s" nell\'applicazione',
'plugins': 'plugins',
'Plugins': 'I Plugins',
'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'Powered by',
'previous 100 rows': '100 righe precedenti',
'Private files': 'Private files',
'private files': 'private files',
'Query:': 'Richiesta (query):',
'Rapid Search': 'Rapid Search',
'record': 'record',
'record does not exist': 'il record non esiste',
'record id': 'ID del record',
'register': 'registrazione',
'reload': 'reload',
'Reload routes': 'Reload routes',
'Remove compiled': 'rimozione codice compilato',
'Replace': 'Replace',
'Replace All': 'Replace All',
'request': 'request',
'Resolve Conflict file': 'File di risoluzione conflitto',
'response': 'response',
'restore': 'ripristino',
'revert': 'versione precedente',
'Rows in table': 'Righe nella tabella',
'Rows selected': 'Righe selezionate',
'rules are not defined': 'rules are not defined',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Run tests in this file (to run all files, you may also use the button labelled 'test')",
'Running on %s': 'Running on %s',
'Save': 'Save',
'Save file:': 'Save file:',
'Save file: %s': 'Save file: %s',
'Save via Ajax': 'Save via Ajax',
'Saved file hash:': 'Hash del file salvato:',
'selected': 'selezionato',
'session': 'session',
'session expired': 'sessions scaduta',
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell',
'Site': 'sito',
'some files could not be removed': 'non è stato possibile rimuovere alcuni files',
'Start searching': 'Start searching',
'Start wizard': 'start wizard',
'state': 'stato',
'static': 'statico',
'Static': 'Static',
'Static files': 'Files statici',
'Stylesheet': 'Foglio di stile (stylesheet)',
'Submit': 'Submit',
'submit': 'invia',
'successful': 'successful',
'Sure you want to delete this object?': 'Vuoi veramente cancellare questo oggetto?',
'table': 'tabella',
'test': 'test',
'Testing application': 'Test applicazione in corsg',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'La richiesta (query) è una condizione come ad esempio "db.tabella1.campo1==\'valore\'". Una condizione come "db.tabella1.campo1==db.tabella2.campo2" produce un "JOIN" SQL.',
'the application logic, each URL path is mapped in one exposed function in the controller': 'logica dell\'applicazione, ogni percorso "URL" corrisponde ad una funzione esposta da un controller',
'The application logic, each URL path is mapped in one exposed function in the controller': 'The application logic, each URL path is mapped in one exposed function in the controller',
'the data representation, define database tables and sets': 'rappresentazione dei dati, definizione di tabelle di database e di "set" ',
'The data representation, define database tables and sets': 'The data representation, define database tables and sets',
'The presentations layer, views are also known as templates': 'The presentations layer, views are also known as templates',
'the presentations layer, views are also known as templates': 'Presentazione dell\'applicazione, viste (views, chiamate anche "templates")',
'There are no controllers': 'Non ci sono controller',
'There are no models': 'Non ci sono modelli',
'There are no modules': 'Non ci sono moduli',
'There are no plugins': 'There are no plugins',
'There are no private files': 'There are no private files',
'There are no static files': 'Non ci sono file statici',
'There are no translators, only default language is supported': 'Non ci sono traduzioni, viene solo supportato il linguaggio di base',
'There are no views': 'Non ci sono viste ("view")',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'these files are served without processing, your images go here': 'questi files vengono serviti così come sono, le immagini vanno qui',
'This is the %(filename)s template': 'Questo è il template %(filename)s',
'Ticket': 'Ticket',
'Ticket ID': 'Ticket ID',
'TM': 'TM',
'to previous version.': 'torna a versione precedente',
'To create a plugin, name a file/folder plugin_[name]': 'Per creare un plugin, chiamare un file o cartella plugin_[nome]',
'toggle breakpoint': 'toggle breakpoint',
'Toggle comment': 'Toggle comment',
'Toggle Fullscreen': 'Toggle Fullscreen',
'Traceback': 'Traceback',
'translation strings for the application': "stringhe di traduzioni per l'applicazione",
'Translation strings for the application': 'Translation strings for the application',
'try': 'prova',
'try something like': 'prova qualcosa come',
'Try the mobile interface': 'Try the mobile interface',
'try view': 'try view',
'Unable to check for upgrades': 'Impossibile controllare presenza di aggiornamenti',
'unable to create application "%s"': 'impossibile creare applicazione "%s"',
'unable to delete file "%(filename)s"': 'impossibile rimuovere file "%(plugin)s"',
'unable to delete file plugin "%(plugin)s"': 'impossibile rimuovere file di plugin "%(plugin)s"',
'Unable to download app because:': 'Impossibile scaricare applicazione perché',
'Unable to download because': 'Impossibile scaricare perché',
'Unable to download because:': 'Unable to download because:',
'unable to parse csv file': 'non riesco a decodificare questo file CSV',
'unable to uninstall "%s"': 'impossibile disinstallare "%s"',
'unable to upgrade because "%s"': 'impossibile aggiornare perché "%s"',
'uncheck all': 'smarca tutti',
'Uninstall': 'Disinstalla',
'update': 'aggiorna',
'update all languages': 'aggiorna tutti i linguaggi',
'Update:': 'Aggiorna:',
'upgrade web2py now': 'upgrade web2py now',
'upload': 'upload',
'Upload': 'Upload',
'Upload & install packed application': 'Carica ed installa pacchetto con applicazione',
'Upload a package:': 'Upload a package:',
'Upload and install packed application': 'Upload and install packed application',
'upload application:': 'carica applicazione:',
'upload file:': 'carica file:',
'upload plugin file:': 'carica file di plugin:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Per costruire richieste (query) più complesse si usano (...)&(...) come "e" (AND), (...)|(...) come "o" (OR), e ~(...) come negazione (NOT).',
'Use an url:': 'Use an url:',
'variables': 'variables',
'Version': 'Versione',
'Version %s.%s.%s %s (%s)': 'Version %s.%s.%s %s (%s)',
'Version %s.%s.%s (%s) %s': 'Version %s.%s.%s (%s) %s',
'versioning': 'sistema di versioni',
'Versioning': 'Versioning',
'View': 'Vista',
'view': 'vista',
'Views': 'Viste',
'views': 'viste',
'web2py Recent Tweets': 'Tweets recenti per web2py',
'Web Framework': 'Web Framework',
'web2py is up to date': 'web2py è aggiornato',
'web2py Recent Tweets': 'Tweets recenti per web2py',
'web2py upgraded; please restart it': 'web2py aggiornato; prego riavviarlo',
'Welcome %s': 'Benvenuto %s',
'Welcome to web2py': 'Benvenuto su web2py',
'YES': 'SI',
}
+96 -79
View File
@@ -1,47 +1,86 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'ja-jp',
'!langname!': '日本語',
'%Y-%m-%d': '%Y-%m-%d',
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
'%s %%{row} deleted': '%s rows deleted',
'%s %%{row} updated': '%s rows updated',
'%Y-%m-%d': '%Y-%m-%d',
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
'(requires internet access)': '(インターネットアクセスが必要)',
'(something like "it-it")': '(例: "it-it")',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Searching: **%s** %%{file}': '検索中: **%s** ファイル',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '注意: 安全(HTTPS)な接続でログインするかlocalhostで実行されている必要があります。',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: テストはスレッドセーフではないので複数のテストを同時に実行しないでください。',
'ATTENTION: you cannot edit the running application!': '注意: 実行中のアプリケーションは編集できません!',
'Abort': '中断',
'About': 'About',
'About application': 'アプリケーションについて',
'Additional code for your application': 'アプリケーションに必要な追加記述',
'Admin language': '管理画面の言語',
'administrative interface': '管理画面',
'Administrator Password:': '管理者パスワード:',
'and rename it:': 'ファイル名を変更:',
'appadmin': 'アプリ管理画面',
'application "%s" uninstalled': '"%s"アプリケーションが削除されました',
'application compiled': 'アプリケーションがコンパイルされました',
'Application name:': 'アプリケーション名:',
'are not used': 'are not used',
'are not used yet': 'are not used yet',
'Are you sure you want to delete plugin "%s"?': '"%s"プラグインを削除してもよろしいですか?',
'Are you sure you want to delete this object?': 'このオブジェクトを削除してもよろしいですか?',
'Are you sure you want to uninstall application "%s"?': '"%s"アプリケーションを削除してもよろしいですか?',
'arguments': '引数',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': '注意: 安全(HTTPS)な接続でログインするかlocalhostで実行されている必要があります。',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': '注意: テストはスレッドセーフではないので複数のテストを同時に実行しないでください。',
'ATTENTION: you cannot edit the running application!': '注意: 実行中のアプリケーションは編集できません!',
'Available databases and tables': '利用可能なデータベースとテーブル一覧',
'back': '戻る',
'Basics': '基本情報',
'Begin': '開始',
'cache': 'cache',
'cannot upload file "%(filename)s"': '"%(filename)s"ファイルをアップロードできません',
'Change admin password': '管理者パスワード変更',
'check all': '全てを選択',
'Check for upgrades': '更新チェック',
'Checking for upgrades...': '更新を確認中...',
'Clean': '一時データ削除',
'Click row to expand traceback': '列をクリックしてトレースバックを展開',
'code': 'コード',
'collapse/expand all': '全て開閉する',
'Compile': 'コンパイル',
'compiled application removed': 'コンパイル済みのアプリケーションが削除されました',
'Controllers': 'コントローラ',
'controllers': 'コントローラ',
'Count': '回数',
'Create': '作成',
'create file with filename:': 'ファイル名:',
'Create/Upload': 'Create/Upload',
'created by': '作成者',
'crontab': 'crontab',
'currently running': '現在実行中',
'currently saved or': '現在保存されているデータ または',
'database administration': 'データベース管理',
'db': 'db',
'Debug': 'Debug',
'defines tables': 'テーブル定義',
'Delete': '削除',
'delete all checked': '選択したデータを全て削除',
'delete plugin': 'プラグイン削除',
'Delete this file (you will be asked to confirm deletion)': 'ファイルの削除(確認画面が出ます)',
'Deploy': 'デプロイ',
'Deploy on Google App Engine': 'Google App Engineにデプロイ',
'design': 'デザイン',
'Detailed traceback description': '詳細なトレースバック内容',
'details': '詳細',
'direction: ltr': 'direction: ltr',
'Disable': '無効',
'docs': 'ドキュメント',
'download layouts': 'レイアウトのダウンロード',
'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'プラグインのダウンロード',
'Download plugins from repository': 'Download plugins from repository',
'Edit': '編集',
'edit all': '全て編集',
'Edit application': 'アプリケーションを編集',
'edit views:': 'ビューの編集:',
'Editing file "%s"': '"%s"ファイルを編集中',
'Enable': '有効',
'Error': 'エラー',
@@ -50,46 +89,83 @@
'Error ticket': 'エラーチケット',
'Errors': 'エラー',
'Exception instance attributes': '例外インスタンス引数',
'exposes': '公開',
'exposes:': '公開:',
'extends': '継承',
'File': 'ファイル',
'filter': 'フィルタ',
'Frames': 'フレーム',
'Functions with no doctests will result in [passed] tests.': 'doctestsのない関数は自動的にテストをパスします。',
'Generate': 'アプリ生成',
'Get from URL:': 'URLから取得:',
'go!': '実行!',
'graph model': 'graph model',
'Help': 'ヘルプ',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'もし上記のレポートにチケット番号が含まれる場合は、doctestを実行する前に、コントローラの実行で問題があったことを示します。これはインデントの問題やその関数の外部で問題があった場合に起きるが一般的です。\n緑色のタイトルは全てのテスト(もし定義されていれば)をパスしたことを示します。その場合、テスト結果は表示されません。',
'includes': 'インクルード',
'index': 'index',
'inspect attributes': '引数の検査',
'Install': 'インストール',
'Installed applications': 'アプリケーション一覧',
'languages': '言語',
'Languages': '言語',
'Last saved on:': '最終保存日時:',
'License for': 'License for',
'loading...': 'ロードしています...',
'locals': 'ローカル',
'Login': 'ログイン',
'Login to the Administrative Interface': '管理画面へログイン',
'Logout': 'ログアウト',
'models': 'モデル',
'Models': 'モデル',
'Modules': 'モジュール',
'NO': 'いいえ',
'modules': 'モジュール',
'New Application Wizard': '新規アプリケーション作成ウィザード',
'New application wizard': '新規アプリケーション作成ウィザード',
'new plugin installed': '新しいプラグインがインストールされました',
'New simple application': '新規アプリケーション',
'NO': 'いいえ',
'No databases in this application': 'このアプリケーションにはデータベースが存在しません',
'no package selected': 'no package selected',
'online designer': 'オンラインデザイナー',
'or alternatively': 'or alternatively',
'Overwrite installed app': 'アプリケーションを上書き',
'Pack all': 'パッケージ化',
'Pack compiled': 'コンパイルデータのパッケージ化',
'pack plugin': 'プラグインのパッケージ化',
'Peeking at file': 'ファイルを参照',
'plugin "%(plugin)s" deleted': '"%(plugin)s"プラグインは削除されました',
'Plugin "%s" in application': '"%s"プラグイン',
'Plugins': 'プラグイン',
'plugins': 'プラグイン',
'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'Powered by',
'Private files': 'Private files',
'private files': 'private files',
'Reload routes': 'ルーティング再読み込み',
'Remove compiled': 'コンパイルデータの削除',
'request': 'リクエスト',
'response': 'レスポンス',
'restart': '最初からやり直し',
'restore': '復元',
'revert': '一つ前に戻す',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "このファイルのテストを実行(全てのファイルに対して実行する場合は、'テスト'というボタンを使用できます)",
'Save': '保存',
'Saved file hash:': '保存されたファイルハッシュ:',
'session': 'セッション',
'session expired': 'セッションの有効期限が切れました',
'shell': 'shell',
'Site': 'サイト',
'skip to generate': 'スキップしてアプリ生成画面へ移動',
'Sorry, could not find mercurial installed': 'インストールされているmercurialが見つかりません',
'Start a new app': '新規アプリの作成',
'Start wizard': 'ウィザードの開始',
'state': 'state',
'static': '静的ファイル',
'Static': 'Static',
'Static files': '静的ファイル',
'Step': 'ステップ',
'test': 'テスト',
'Testing application': 'アプリケーションをテスト中',
'The application logic, each URL path is mapped in one exposed function in the controller': 'アプリケーションロジック、それぞれのURLパスはコントローラで公開されている各関数にマッピングされています',
'The data representation, define database tables and sets': 'データの表示方法, テーブルとセットの定義',
@@ -97,93 +173,34 @@
'There are no controllers': 'コントローラがありません',
'There are no modules': 'モジュールがありません',
'There are no plugins': 'プラグインはありません',
'There are no private files': 'There are no private files',
'There are no translators, only default language is supported': '翻訳がないためデフォルト言語のみをサポートします',
'There are no views': 'ビューがありません',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'これらのファイルは直接参照されます, ここに画像が入ります',
'Ticket ID': 'チケットID',
'to previous version.': '前のバージョンへ戻す。',
'To create a plugin, name a file/folder plugin_[name]': 'ファイル名/フォルダ名 plugin_[名称]としてプラグインを作成してください',
'Traceback': 'トレースバック',
'Translation strings for the application': 'アプリケーションの翻訳文字列',
'Unable to download because:': '以下の理由でダウンロードできません:',
'Uninstall': 'アプリ削除',
'Upload a package:': 'パッケージをアップロード:',
'Upload and install packed application': 'パッケージのアップロードとインストール',
'Version': 'バージョン',
'Versioning': 'バージョン管理',
'Views': 'ビュー',
'Web Framework': 'Web Framework',
'YES': 'はい',
'administrative interface': '管理画面',
'and rename it:': 'ファイル名を変更:',
'appadmin': 'アプリ管理画面',
'application "%s" uninstalled': '"%s"アプリケーションが削除されました',
'application compiled': 'アプリケーションがコンパイルされました',
'arguments': '引数',
'back': '戻る',
'cache': 'cache',
'cannot upload file "%(filename)s"': '"%(filename)s"ファイルをアップロードできません',
'check all': '全てを選択',
'code': 'コード',
'collapse/expand all': '全て開閉する',
'compiled application removed': 'コンパイル済みのアプリケーションが削除されました',
'controllers': 'コントローラ',
'create file with filename:': 'ファイル名:',
'created by': '作成者',
'crontab': 'crontab',
'currently running': '現在実行中',
'currently saved or': '現在保存されているデータ または',
'database administration': 'データベース管理',
'db': 'db',
'defines tables': 'テーブル定義',
'delete all checked': '選択したデータを全て削除',
'delete plugin': 'プラグイン削除',
'design': 'デザイン',
'details': '詳細',
'direction: ltr': 'direction: ltr',
'docs': 'ドキュメント',
'download layouts': 'レイアウトのダウンロード',
'download plugins': 'プラグインのダウンロード',
'edit all': '全て編集',
'edit views:': 'ビューの編集:',
'exposes': '公開',
'exposes:': '公開:',
'extends': '継承',
'filter': 'フィルタ',
'go!': '実行!',
'includes': 'インクルード',
'index': 'index',
'inspect attributes': '引数の検査',
'languages': '言語',
'loading...': 'ロードしています...',
'locals': 'ローカル',
'models': 'モデル',
'modules': 'モジュール',
'new plugin installed': '新しいプラグインがインストールされました',
'online designer': 'オンラインデザイナー',
'pack plugin': 'プラグインのパッケージ化',
'plugin "%(plugin)s" deleted': '"%(plugin)s"プラグインは削除されました',
'plugins': 'プラグイン',
'request': 'リクエスト',
'response': 'レスポンス',
'restart': '最初からやり直し',
'restore': '復元',
'revert': '一つ前に戻す',
'session': 'セッション',
'session expired': 'セッションの有効期限が切れました',
'shell': 'shell',
'skip to generate': 'スキップしてアプリ生成画面へ移動',
'state': 'state',
'static': '静的ファイル',
'test': 'テスト',
'to previous version.': '前のバージョンへ戻す。',
'uncheck all': '全ての選択を解除',
'Uninstall': 'アプリ削除',
'update all languages': '全ての言語を更新',
'upload': 'アップロード',
'Upload': 'Upload',
'Upload a package:': 'パッケージをアップロード:',
'Upload and install packed application': 'パッケージのアップロードとインストール',
'upload file:': 'ファイルをアップロード:',
'upload plugin file:': 'プラグインファイルをアップロード:',
'user': 'ユーザー',
'variables': '変数',
'Version': 'バージョン',
'Versioning': 'バージョン管理',
'Views': 'ビュー',
'views': 'ビュー',
'web2py Recent Tweets': '最近のweb2pyTweets',
'Web Framework': 'Web Framework',
'web2py is up to date': 'web2pyは最新です',
'web2py Recent Tweets': '最近のweb2pyTweets',
'YES': 'はい',
}
+278
View File
@@ -0,0 +1,278 @@
# -*- coding: utf-8 -*-
{
'!langcode!': 'my-mm',
'!langname!': 'မြန်မာ',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN',
'%s %%{row} deleted': '%s %%{row} ဖျက်ပြီးပြီ',
'%s %%{row} updated': '%s %%{row} ပြင်ပြီးပြီ',
'%s selected': '%s ခု ရွေးထားသည်',
'%Y-%m-%d': '%Y-%m-%d',
'%Y-%m-%d %H:%M:%S': '%Y-%m-%d %H:%M:%S',
'(requires internet access, experimental)': '(requires internet access, experimental)',
'(something like "it-it")': '(something like "it-it")',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'About': 'အကြောင်း',
'Access Control': 'အသုံးပြု ခြင်းဆိုင်ရာ ထိန်းချုပ်ရန်',
'Additional code for your application': 'Additional code for your application',
'Admin language': 'Admin language',
'administrative interface': 'administrative interface',
'Administrative Interface': 'စီမံခန့်ခွဲရာ အင်တာဖေ့စ်',
'Administrator Password:': 'Administrator Password:',
'Ajax Recipes': 'Ajax Recipes',
'and rename it:': 'and rename it:',
'appadmin is disabled because insecure channel': 'စိတ်မချရသော လမ်းကြောင်းမှ ဝင်ရောက်သဖြင့် appadmin ကို အသုံးပြု၍ မရပါ',
'Application name:': 'Application name:',
'are not used': 'အသုံးမပြုပါ',
'are not used yet': 'အသုံးမပြုသေးပါ',
'Are you sure you want to delete this object?': 'သင် ဒီအရာ ဖျက်ရန် သေချာပါသလား။',
'Available Databases and Tables': 'အသုံးပြုနိုင်သော ဒေတာဘေစ့်များနှင့် ဇယားများ',
'Buy this book': 'ဒီစာအုပ်ကို ဝယ်ပါ',
'cache': 'cache',
'Cache': 'Cache',
'Cache Keys': 'Cache Keys',
'can be a git repo': 'can be a git repo',
'Cannot be empty': 'အလွတ် မဖြစ်ရပါ',
'Change admin password': 'Change admin password',
'Check to delete': 'ဖျက်ရန် စစ်ဆေးပါ',
'Checking for upgrades...': 'အဆင့်မြှင့်တင်မှုများအတွက် စစ်ဆေးနေသည် ...',
'Clean': 'ရှင်းလင်းရန်',
'Clear CACHE?': 'CACHE ကို ရှင်းလင်းမည်မှာ ဟုတ်ပါသလား။',
'Clear DISK': 'DISK ကို ရှင်းလင်းမည်။',
'Clear RAM': 'RAM ကို ရှင်းလင်းမည်။',
'Client IP': 'Client IP',
'collapse/expand all': 'collapse/expand all',
'Community': 'အသိုင်းအဝိုင်း',
'Compile': 'Compile',
'Components and Plugins': 'Components and Plugins',
'Controller': 'ကွန်ထရိုလာ',
'Controllers': 'ကွန်ထရိုလာများ',
'controllers': 'controllers',
'Copyright': 'မူပိုင်ခွင့်',
'Create': 'ဖန်တီးရန်',
'create file with filename:': 'create file with filename:',
'Create/Upload': 'Create/Upload',
'created by': 'ဖန်းတီးသူ',
'Created By': 'ပြုလုပ်ဖန်တီးသူ',
'Created On': 'ပြုလုပ်ဖန်တီးသည့်အချိန်',
'crontab': 'crontab',
'Current request': 'Current request',
'Current response': 'Current response',
'Current session': 'Current session',
'currently running': 'လက်ရှိတွင် လုပ်ဆောင်နေသည်',
'data uploaded': 'data uploaded',
'Database': 'ဒေတာဘေစ့်',
'Database %s select': 'Database %s select',
'database administration': 'ဒေတာဘေ့(စ်) စီမံခန့်ခွဲခြင်း',
'Database Administration (appadmin)': 'ဒေတာဘေစ့် စီမံခန့်ခွဲခြင်း (appadmin)',
'db': 'db',
'DB Model': 'DB Model',
'Debug': 'အမှားရှာရန်',
'Delete this file (you will be asked to confirm deletion)': 'Delete this file (you will be asked to confirm deletion)',
'Delete:': 'Delete:',
'Demo': 'အစမ်း၊ သရုပ်ပြမှုများ',
'Deploy': 'Deploy',
'Deploy on Google App Engine': 'Deploy on Google App Engine',
'Deploy to OpenShift': 'Deploy to OpenShift',
'Deployment Recipes': 'Deployment Recipes',
'Description': 'ဖော်ပြချက်',
'design': 'design',
'direction: ltr': 'direction: ltr',
'Disable': 'ပိတ်ရန်',
'DISK': 'DISK',
'Disk Cache Keys': 'Disk Cache Keys',
'Disk Cleared': 'Disk ရှင်းလင်းပြီးပြီ',
'Documentation': 'စာရွက်စာတမ်း အထောက်အကူများ',
"Don't know what to do?": 'ဘာလုပ်ရမည်မသိ ဖြစ်နေပါသလား။',
'done!': 'လုပ်ငန်း ဆောင်ရွက်ပြီးပြီ!',
'Download': 'Download',
'Download layouts from repository': 'Download layouts from repository',
'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'အီးမေးလ်',
'Edit': 'ပြင်ဆင်ရန်',
'Edit application': 'Application ကို ပြင်ရန်',
'Edit current record': 'လက်ရှိ မှတ်တမ်းကို ပြင်ရန်',
'Email and SMS': 'အီးမေးလ်နှင့် SMS',
'Enable': 'ဖွင့်ရန်',
'enter an integer between %(min)g and %(max)g': 'enter an integer between %(min)g and %(max)g',
'Errors': 'အမှားများ',
'export as csv file': ' csv file အနေနဲ့ ထုတ်ပေးရန်',
'exposes': 'exposes',
'extends': 'extends',
'FAQ': 'ဖြစ်လေ့ရှိသော ပြဿနာများ',
'filter': 'filter',
'First name': 'အမည်၏ ပထမဆုံး စာလုံး',
'Forms and Validators': 'Forms and Validators',
'Free Applications': 'အခမဲ့ Applications',
'graph model': 'graph model',
'Graph Model': 'Graph Model',
'Group ID': 'Group ID',
'Groups': 'အဖွဲ့များ',
'Hello World': 'မင်္ဂလာပါ ကမ္ဘာကြီး။',
'Help': 'အကူအညီ',
'Home': 'မူလသို့',
'How did you get here?': 'သင် ဘယ်လို ရောက်လာခဲ့သလဲ။',
'import': 'သွင်းယူရန်',
'Import/Export': 'သွင်းယူရန်/ထုတ်ယူရန်',
'includes': 'includes',
'Install': 'Install',
'Installed applications': 'ထည့်သွင်းပြီး application များ',
'Internal State': 'Internal State',
'Introduction': 'မိတ်ဆက်',
'Invalid email': 'အီးမေးလ် ဖြည့်သွင်းမှုမှားနေသည်',
'Invalid Query': 'Invalid Query',
'invalid request': 'invalid request',
'Is Active': 'Is Active',
'Key': 'Key',
'Language': 'ဘာသာစကား',
'languages': 'ဘာသာစကားများ',
'Languages': 'ဘာသာစကားများ',
'Last name': 'မျိုးနွယ်အမည်',
'Layout': 'အပြင်အဆင်',
'Layout Plugins': 'Layout Plugins',
'Layouts': 'အပြင်အဆင်များ',
'Live Chat': 'တိုက်ရိုက် ဆက်သွယ် ပြောကြားရန်',
'Login': 'ဝင်ရောက်အသုံးပြုရန်',
'Login to the Administrative Interface': 'Login to the Administrative Interface',
'Logout': 'ထွက်ရန်',
'Lost Password': 'စကားဝှက် မသိတော့ပါ',
'Lost password?': 'စကားဝှက် မသိတော့ဘူးလား။',
'Manage': 'စီမံခန့်ခွဲရန်',
'Manage %(action)s': '%(action)s ကို စီမံရန်',
'Manage Access Control': 'အသုံးပြုခြင်းဆိုင်ရာ ထိန်းချုပ်မှု စီမံခန့်ခွဲရန်',
'Manage Cache': 'Manage Cache',
'Memberships': 'အသင်းဝင်များ',
'Menu Model': 'Menu Model',
'models': 'models',
'Models': 'Models',
'Modified By': 'ပြင်ဆင်မွမ်းမံသူ',
'Modified On': 'ပြင်ဆင်မွမ်းမံသည့် အချိန်',
'Modules': 'Modules',
'modules': 'modules',
'My Sites': 'ကျွန်ုပ်၏ Site များ',
'Name': 'အမည်',
'New application wizard': 'New application wizard',
'New Record': 'မှတ်တမ်း အသစ်',
'new record inserted': 'မှတ်တမ်း အသစ် ဖြည့်သွင်းပြီးပြီ',
'New simple application': 'ရိုးရိုး application အသစ်',
'next %s rows': 'နောက်အတန်း %s တန်း',
'No databases in this application': 'ဒီ application တွင် မည်သည့် ဒေတာဘေစ့်မှ မရှိပါ',
'no package selected': 'no package selected',
'Object or table name': 'Object or table name',
'Online examples': 'အွန်လိုင်း နမူနာများ',
'or alternatively': 'or alternatively',
'Or Get from URL:': 'Or Get from URL:',
'or import from csv file': 'or import from csv file',
'Origin': 'မူလ အစ',
'Other Plugins': 'အခြား Plugins',
'Other Recipes': 'အခြား Recipes',
'Overview': 'အပေါ်ယံရှုမြင်ခြင်း',
'Overwrite installed app': 'Overwrite installed app',
'Pack all': 'အားလုံးကို ထုပ်ပိုးရန်',
'Pack custom': 'ရွေးချယ်ထုပ်ပိုးရန်',
'Password': 'စကားဝှက်',
"Password fields don't match": 'စကားဝှက်များ ကိုက်ညီမှု မရှိပါ',
'Permission': 'ခွင့်ပြုချက်',
'Permissions': 'ခွင့်ပြုချက်များ',
'please input your password again': 'ကျေးဇူးပြု၍ စကားဝှက်ကို ထပ်မံ ဖြည့်သွင်းပေးပါ',
'Plugins': 'Plugins',
'plugins': 'plugins',
'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'အားဖြည့်စွမ်းအားပေးသူ',
'Preface': 'နိဒါန်း',
'previous %s rows': 'previous %s rows',
'Private files': 'Private files',
'private files': 'private files',
'pygraphviz library not found': 'pygraphviz library ကို မတွေ့ပါ',
'Python': 'Python',
'Query:': 'Query:',
'Quick Examples': 'အမြန် အသုံးပြုနိုင်သော နမူနာများ',
'RAM': 'RAM',
'RAM Cache Keys': 'RAM Cache Keys',
'Ram Cleared': 'Ram ရှင်းလင်းပြီးပြီ',
'Recipes': 'Recipes',
'Record': 'မှတ်တမ်း',
'record does not exist': 'မှတ်တမ်း မရှိပါ',
'Record ID': 'Record ID',
'Record id': 'Record id',
'Register': 'မှတ်ပုံတင်ရန်',
'Registration identifier': 'Registration identifier',
'Registration key': 'Registration key',
'Reload routes': 'Reload routes',
'Remember me (for 30 days)': 'Remember me (for 30 days)',
'Request reset password': 'စကားဝှက် အသစ် တောင်းဆိုရန်',
'Reset Password key': 'Reset Password key',
'Role': 'Role',
'Roles': 'Roles',
'Rows in Table': 'Rows in Table',
'Rows selected': 'ရွေးထားသော အတန်းများ',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Run tests in this file (to run all files, you may also use the button labelled 'test')",
'Running on %s': 'Running on %s',
'Save model as...': 'Save model as...',
'Semantic': 'Semantic',
'Services': 'Services',
'shell': 'shell',
'Site': 'Site',
'Size of cache:': 'Size of cache:',
'Start wizard': 'Start wizard',
'state': 'state',
'static': 'static',
'Static': 'Static',
'Statistics': 'ကိန်းဂဏန်း အချက်အလက်များ',
'Stylesheet': 'Stylesheet',
'submit': 'ပြုလုပ်ပါ',
'Submit': 'Submit',
'Support': 'အထောက်အပံ့',
'Table': 'ဇယား',
'test': 'test',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.',
'The application logic, each URL path is mapped in one exposed function in the controller': 'The application logic, each URL path is mapped in one exposed function in the controller',
'The Core': 'The Core',
'The data representation, define database tables and sets': 'The data representation, define database tables and sets',
'The output of the file is a dictionary that was rendered by the view %s': 'The output of the file is a dictionary that was rendered by the view %s',
'The presentations layer, views are also known as templates': 'The presentations layer, views are also known as templates',
'The Views': 'The Views',
'There are no plugins': 'There are no plugins',
'There are no private files': 'There are no private files',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'This App': 'ဒီ App',
'This email already has an account': 'ဒီအီးမေးလ်တွင် အကောင့် ရှိပြီး ဖြစ်ပါသည်',
'Time in Cache (h:m:s)': 'Time in Cache (h:m:s)',
'Timestamp': 'Timestamp',
'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]',
'Traceback': 'Traceback',
'Translation strings for the application': 'Translation strings for the application',
'Try the mobile interface': 'Try the mobile interface',
'Twitter': 'Twitter',
'unable to parse csv file': 'unable to parse csv file',
'Uninstall': 'Uninstall',
'update all languages': 'update all languages',
'Update:': 'Update:',
'Upload': 'Upload',
'Upload a package:': 'Upload a package:',
'Upload and install packed application': 'Upload and install packed application',
'upload file:': 'upload file:',
'upload plugin file:': 'upload plugin file:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.',
'User': 'အသုံးပြုသူ',
'User ID': 'User ID',
'Users': 'အသုံးပြုသူများ',
'Verify Password': 'စကားဝှက်ကို အတည်ပြုပါ',
'Version': 'Version',
'Versioning': 'Versioning',
'Videos': 'ဗွီဒီယိုများ',
'View': 'ဗျူး',
'views': 'views',
'Views': 'ဗျူးများ',
'Web Framework': 'Web Framework',
'Welcome': 'ကြိုဆိုပါ၏',
'Welcome to web2py!': 'web2py မှ ကြိုဆိုပါသည်။',
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
'Working...': 'ဆောင်ရွက်နေပါသည် ။ ။ ။',
'You are successfully running web2py': 'သင်သည် web2py ကို အောင်မြင်စွာ လည်ပတ်မောင်းနှင်စေပါသည်။',
'You can modify this application and adapt it to your needs': 'သင် ဒီ application ကို ပြုပြင်မွမ်းမံနိုင်ပါသည်။ ထို့အပြင် သင့်လိုအပ်ချက်များနှင့် ကိုက်ညီစေရန် ပြုလုပ်နိုင်ပါသည်။',
'You visited the url %s': 'သင် လည်ပတ်ခဲ့သော URL %s',
'စကားဝှက် အသစ် တောင်းဆိုရန်': 'စကားဝှက် အသစ် တောင်းဆိုရန်',
'မှတ်ပုံတင်ရန်': 'မှတ်ပုံတင်ရန်',
'ဝင်ရောက်အသုံးပြုရန်': 'ဝင်ရောက်အသုံးပြုရန်',
}
+2 -2
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'nl',
'!langname!': 'Nederlands',
@@ -477,5 +477,5 @@
'you must specify a name for the uploaded application': 'je moet een naam specificeren voor de geuploade applicatie',
'You need to set up and reach a': 'Je moet het volgende opzetten en bereiken:',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Je applicatie zal geblokkeerd zijn tot je een actie button aanklikt (volgende, step, ga door, etc.)',
'Your can inspect variables using the console bellow': 'Je kan je variabelen inspecteren in de console hieronder',
'You can inspect variables using the console bellow': 'Je kan je variabelen inspecteren in de console hieronder',
}
+1 -1
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'pl',
'!langname!': 'Polska',
@@ -1,5 +1,7 @@
#!/usr/bin/env python
{
# "singular form (0)": ["first plural form (1)", "second plural form (2)", ...],
'останній': ['останні','останніх'],
'файл': ['файли','файлів'],
'твіт': ['твіти','твітів'],
}
+348
View File
@@ -0,0 +1,348 @@
# -*- coding: utf-8 -*-
{
'!langcode!': 'pt-br',
'!langname!': 'Português Brasileiro',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" é uma expressão opcional como "campo1=\'novo_valor\'". Não é permitido atualizar ou apagar resultados de um JOIN',
'%s %%{row} deleted': '%s registros apagados',
'%s %%{row} updated': '%s registros atualizados',
'%Y-%m-%d': '%d/%m/%Y',
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
'(requires internet access, experimental)': '(requer acesso à internet, experimental)',
'(something like "it-it")': '(algo como "it-it")',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Searching: **%s** %%{file}': 'Buscando: **%s** arquivos',
'A new version of web2py is available': 'Está disponível uma nova versão do web2py',
'A new version of web2py is available: %s': 'Está disponível uma nova versão do web2py: %s',
'About': 'sobre',
'About application': 'Sobre a aplicação',
'additional code for your application': 'código adicional para sua aplicação',
'Additional code for your application': 'Código adicional para sua aplicação',
'admin disabled because no admin password': ' admin desabilitado por falta de senha definida',
'admin disabled because not supported on google app engine': 'admin desabilitado porque não é suportado no GAE',
'admin disabled because unable to access password file': 'admin desabilitado porque não foi possível ler o arquivo de senha',
'Admin is disabled because insecure channel': 'Admin desabilitado pois o canal não é seguro',
'Admin is disabled because unsecure channel': 'Admin desabilitado pois o canal não é seguro',
'Admin language': 'Idioma do Admin',
'administrative interface': 'interface administrativa',
'Administrator Password:': 'Senha de administrador:',
'and rename it (required):': 'e renomeie (requerido):',
'and rename it:': ' e renomeie:',
'appadmin': 'appadmin',
'appadmin is disabled because insecure channel': 'admin desabilitado porque o canal não é seguro',
'application "%s" uninstalled': 'aplicação "%s" desinstalada',
'application compiled': 'aplicação compilada',
'application is compiled and cannot be designed': 'A aplicação está compilada e não pode ser modificada',
'Application name:': 'Nome da aplicação:',
'Are you sure you want to delete file "%s"?': 'Tem certeza que deseja apagar o arquivo "%s"?',
'Are you sure you want to delete plugin "%s"?': 'Tem certeza que deseja apagar o plugin "%s"?',
'Are you sure you want to delete this object?': 'Tem certeza que deseja apagar esse objeto?',
'Are you sure you want to uninstall application "%s"': 'Tem certeza que deseja desinstalar a aplicação "%s"?',
'Are you sure you want to uninstall application "%s"?': 'Tem certeza que deseja desinstalar a aplicação "%s"?',
'Are you sure you want to upgrade web2py now?': 'Tem certeza que deseja atualizar o web2py agora?',
'arguments': 'argumentos',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENÇÃO: o login requer uma conexão segura (HTTPS) ou executar de localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENÇÃO OS TESTES NÃO SÃO THREAD SAFE, NÃO EFETUE MÚLTIPLOS TESTES AO MESMO TEMPO.',
'ATTENTION: you cannot edit the running application!': 'ATENÇÃO: Não pode modificar a aplicação em execução!',
'Available databases and tables': 'Bancos de dados e tabelas disponíveis',
'back': 'voltar',
'Basics': 'Informações básicas',
'Begin': 'Iniciar',
'browse': 'navegar',
'cache': 'cache',
'cache, errors and sessions cleaned': 'cache, erros e sessões eliminadas',
'can be a git repo': 'pode ser um repositório git',
'Cannot be empty': 'Não pode ser vazio',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Não é possível compilar: Existem erros em sua aplicação. Depure, corrija os errros e tente novamente',
'Cannot compile: there are errors in your app:': 'Não é possível compilar: Existem erros em sua aplicação',
'cannot create file': 'Não é possível criar o arquivo',
'cannot upload file "%(filename)s"': 'não é possível fazer upload do arquivo "%(filename)s"',
'Change admin password': 'mudar senha de administrador',
'Change Password': 'Mudar Senha',
'check all': 'marcar todos',
'Check for upgrades': 'Verificar se existem atualizações',
'Check to delete': 'Marque para apagar',
'Checking for upgrades...': 'Buscando atualizações...',
'Clean': 'Limpo',
'click here for online examples': 'clique para ver exemplos online',
'click here for the administrative interface': 'Clique aqui para acessar a interface administrativa',
'Click row to expand traceback': 'Clique na linha para expandir o traceback',
'click to check for upgrades': 'clique aqui para verificar se existem atualizações',
'click to open': 'clique para abrir',
'Client IP': 'IP do cliente',
'code': 'código',
'collapse/expand all': 'fechar/abrir todos',
'commit (mercurial)': 'commit (mercurial)',
'Compile': 'Compilar',
'compiled application removed': 'a aplicação compilada foi removida',
'Controllers': 'Controladores',
'controllers': 'controladores',
'Count': 'Contagem',
'Create': 'Criar',
'create file with filename:': 'criar um arquivo com o nome:',
'Create new application using the Wizard': 'Criar nova aplicação utilizando o Assistente',
'create new application:': 'nome da nova aplicação:',
'Create new simple application': 'Crie uma nova aplicação',
'created by': 'criado por',
'crontab': 'crontab',
'Current request': 'Requisição atual',
'Current response': 'Resposta atual',
'Current session': 'Sessão atual',
'currently running': 'Executando',
'currently saved or': 'Atualmente salvo ou',
'customize me!': 'Modifique-me!',
'data uploaded': 'Dados enviados',
'database': 'banco de dados',
'database %s select': 'Select no banco de dados %s',
'database administration': 'administração do banco de dados',
'Date and Time': 'Data e Hora',
'db': 'db',
'Debug': 'Debug',
'defines tables': 'define as tabelas',
'Delete': 'Apague',
'delete': 'apagar',
'delete all checked': 'apagar marcados',
'delete plugin': 'apagar plugin',
'Delete:': 'Apague:',
'Deploy': 'Publicar',
'Deploy on Google App Engine': 'Publicar no Google App Engine',
'Deploy to OpenShift': 'Publicar no OpenShift',
'Description': 'Descrição',
'design': 'projeto',
'DESIGN': 'Projeto',
'Design for': 'Projeto de',
'Detailed traceback description': 'Descrição detalhada do traceback',
'direction: ltr': 'direção: ltr',
'Disable': 'Desabilitar',
'done!': 'feito!',
'Download .w2p': 'Download .w2p',
'download layouts': 'download de layouts',
'download plugins': 'download de plugins',
'E-mail': 'E-mail',
'EDIT': 'EDITAR',
'Edit': 'Editar',
'edit all': 'editar todos',
'Edit application': 'Editar aplicação',
'edit controller': 'editar controlador',
'Edit current record': 'Editar o registro atual',
'Edit Profile': 'Editar Perfil',
'edit views:': 'editar visões:',
'Editing file': 'Editando arquivo',
'Editing file "%s"': 'Editando arquivo "%s"',
'Editing Language file': 'Editando arquivo de idioma',
'Enterprise Web Framework': 'Framework Web Corporativo',
'Error': 'Erro',
'Error logs for "%(app)s"': 'Logs de erro para "%(app)s"',
'Error snapshot': 'Momento do Erro',
'Error ticket': 'Tiquete de Erro',
'Errors': 'Erros',
'Exception instance attributes': 'Atributos de instância da Exception',
'export as csv file': 'exportar como arquivo CSV',
'exposes': 'expõe',
'extends': 'estende',
'failed to reload module': 'Falha ao recarregar o módulo',
'failed to reload module because:': 'falha ao recarregar o módulo porque:',
'File': 'Arquivo',
'file "%(filename)s" created': 'arquivo "%(filename)s" criado',
'file "%(filename)s" deleted': 'arquivo "%(filename)s" apagado',
'file "%(filename)s" uploaded': 'arquivo "%(filename)s" enviado',
'file "%(filename)s" was not deleted': 'arquivo "%(filename)s" não foi apagado',
'file "%s" of %s restored': 'arquivo "%s" de %s restaurado',
'file changed on disk': 'arquivo modificado no disco',
'file does not exist': 'arquivo não existe',
'file saved on %(time)s': 'arquivo salvo em %(time)s',
'file saved on %s': 'arquivo salvo em %s',
'filter': 'filtro',
'First name': 'Nome',
'Frames': 'Frames',
'Functions with no doctests will result in [passed] tests.': 'Funções sem doctests resultarão em testes [aceitos].',
'Generate': 'Gerar',
'go!': 'vai!',
'Group ID': 'ID do Grupo',
'Hello World': 'Olá Mundo',
'Help': 'Ajuda',
'htmledit': 'htmledit',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Se o relatório acima contém um número de ticket, isso indica uma falha no controlador em execução, antes de tentar executar os doctests. Isto acontece geralmente por erro de identação ou um erro fora do código da função.\nO título em verde indica que os testes (se definidos) passaram. Neste caso o resultado dos testes não são mostrados.',
'Import/Export': 'Importar/Exportar',
'includes': 'inclui',
'insert new': 'inserir novo',
'insert new %s': 'inserir novo %s',
'inspect attributes': 'inspeciona atributos',
'Install': 'instalar',
'Installed applications': 'Aplicações instaladas',
'internal error': 'erro interno',
'Internal State': 'Estado Interno',
'Invalid action': 'Ação inválida',
'Invalid email': 'E-mail inválido',
'invalid password': 'senha inválida',
'Invalid Query': 'Consulta inválida',
'invalid request': 'solicitação inválida',
'invalid ticket': 'ticket inválido',
'language file "%(filename)s" created/updated': 'arquivo de idioma "%(filename)s" criado/atualizado',
'Language files (static strings) updated': 'Arquivos de idioma (textos estáticos) atualizados',
'languages': 'idiomas',
'Languages': 'Idiomas',
'languages updated': 'idiomas atualizados',
'Last name': 'Sobrenome',
'Last saved on:': 'Salvo pela última vez em:',
'License for': 'Licença para',
'loading...': 'carregando...',
'locals': 'locals',
'Login': 'Entrar',
'login': 'início de sessão',
'Login to the Administrative Interface': 'Entrar na interface adminitrativa',
'Logout': 'finalizar sessão',
'Lost Password': 'Perdi a senha',
'Manage': 'Gerenciar',
'manage': 'gerenciar',
'merge': 'juntar',
'Models': 'Modelos',
'models': 'modelos',
'Modules': 'Módulos',
'modules': 'módulos',
'Name': 'Nome',
'new application "%s" created': 'nova aplicação "%s" criada',
'New Application Wizard': 'Assistente para novas aplicações ',
'New application wizard': 'Assistente para novas aplicações',
'new plugin installed': 'novo plugin instalado',
'New Record': 'Novo registro',
'new record inserted': 'novo registro inserido',
'New simple application': 'Nova aplicação básica',
'next 100 rows': 'próximos 100 registros',
'NO': 'NÃO',
'No databases in this application': 'Não existem bancos de dados nesta aplicação',
'no match': 'não encontrado',
'no package selected': 'nenhum pacote selecionado',
'Or Get from URL:': 'Ou baixa da URL:',
'or import from csv file': 'ou importar de um arquivo CSV',
'or provide app url:': 'ou forneça a url de uma aplicação:',
'or provide application url:': 'ou forneça a url de uma aplicação:',
'Origin': 'Origem',
'Original/Translation': 'Original/Tradução',
'Overwrite installed app': 'Sobrescrever aplicação instalada',
'Pack all': 'Criar pacote',
'Pack compiled': 'Criar pacote compilado',
'Pack custom': 'Customizar pacote',
'pack plugin': 'empacotar plugin',
'PAM authenticated user, cannot change password here': 'usuário autenticado por PAM não pode alterar a senha aqui',
'Password': 'Senha',
'password changed': 'senha alterada',
'Peeking at file': 'Visualizando arquivo',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" apagado',
'Plugin "%s" in application': 'Plugin "%s" na aplicação',
'plugins': 'plugins',
'Plugins': 'Plugins',
'Powered by': 'Este site utiliza',
'previous 100 rows': '100 registros anteriores',
'Query:': 'Consulta:',
'record': 'registro',
'record does not exist': 'o registro não existe',
'record id': 'id do registro',
'Record ID': 'ID do Registro',
'Register': 'Registrar-se',
'Registration key': 'Chave de registro',
'Reload routes': 'Recarregar routes',
'Remove compiled': 'Eliminar compilados',
'request': 'request',
'Resolve Conflict file': 'Arquivo de resolução de conflito',
'response': 'response',
'restart': 'reiniciar',
'restore': 'restaurar',
'revert': 'reverter',
'Role': 'Papel',
'Rows in table': 'Registros na tabela',
'Rows selected': 'Registros selecionados',
'Running on %s': 'Rodando em %s',
'save': 'salvar',
'Saved file hash:': 'Hash do arquivo salvo:',
'Select Files to Package': 'Selecione arquivos para empacotar',
'selected': 'selecionado(s)',
'session': 'session',
'session expired': 'sessão expirada',
'shell': 'Terminal',
'Site': 'Site',
'skip to generate': 'pular para a gerar a aplicação',
'some files could not be removed': 'alguns arquivos não puderam ser removidos',
'Start a new app': 'Inicie uma nova aplicação',
'Start wizard': 'Iniciar assistente',
'state': 'estado',
'static': 'estáticos',
'Static files': 'Arquivos estáticos',
'Step': 'Passo',
'Submit': 'Enviar',
'submit': 'enviar',
'Sure you want to delete this object?': 'Tem certeza que deseja apagar este objeto?',
'table': 'tabela',
'Table name': 'Nome da tabela',
'test': 'testar',
'Testing application': 'Testando a aplicação',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'A "consulta" é uma condição como "db.tabela.campo1==\'valor\'". Algo como "db.tabela1.campo1==db.tabela2.campo2" resulta em um JOIN SQL.',
'the application logic, each URL path is mapped in one exposed function in the controller': 'A lógica da aplicação, cada URL é mapeada para uma função exposta pelo controlador',
'The application logic, each URL path is mapped in one exposed function in the controller': 'A lógica da aplicação, cada URL é mapeada para uma função exposta pelo controlador',
'the data representation, define database tables and sets': 'A representação dos dados, define tabelas do banco de dados e conjuntos',
'The data representation, define database tables and sets': 'A representação dos dados, define tabelas do banco de dados e conjuntos',
'The presentations layer, views are also known as templates': 'A camada de apresentação, as visões também são chamadas de templates',
'the presentations layer, views are also known as templates': 'A camada de apresentação, as visões também são chamadas de templates',
'There are no controllers': 'Não existem controladores',
'There are no models': 'Não existem modelos',
'There are no modules': 'Não existem módulos',
'There are no plugins': 'Não existem plugins',
'There are no static files': 'Não existem arquicos estáticos',
'There are no translators, only default language is supported': 'Não há tradutores, somente a linguagem padrão é suportada',
'There are no views': 'Não existem visões',
'These files are served without processing, your images go here': 'Estes arquivos são servidos sem processamento, suas imagens ficam aqui',
'these files are served without processing, your images go here': 'Estes arquivos são servidos sem processamento, suas imagens ficam aqui',
'This is the %(filename)s template': 'Este é o template %(filename)s',
'Ticket': 'Ticket',
'Ticket ID': 'Número do Ticket',
'Timestamp': 'Momento de geração',
'TM': 'MR',
'to previous version.': 'para a versão anterior.',
'To create a plugin, name a file/folder plugin_[name]': 'Para criar um plugin, nomeie um arquivo/pasta como plugin_[nome]',
'Traceback': 'Traceback',
'translation strings for the application': 'textos traduzidos para a aplicação',
'Translation strings for the application': 'textos traduzidos para a aplicação',
'try': 'tente',
'try something like': 'tente algo como',
'Try the mobile interface': 'Experimente a interface para smartphones e tablets',
'Unable to check for upgrades': 'Não é possível checar as atualizações',
'unable to create application "%s"': 'não é possível criar a aplicação "%s"',
'unable to delete file "%(filename)s"': 'não é possível criar o arquivo "%(filename)s"',
'unable to delete file plugin "%(plugin)s"': 'não é possível criar o plugin "%(plugin)s"',
'Unable to download': 'Não é possível efetuar o download',
'Unable to download app': 'Não é possível baixar a aplicação',
'Unable to download app because:': 'Não é possível baixar a aplicação porque:',
'Unable to download because': 'Não é possível baixar porque',
'unable to parse csv file': 'não é possível analisar o arquivo CSV',
'unable to uninstall "%s"': 'não é possível desinstalar "%s"',
'unable to upgrade because "%s"': 'não é possível atualizar porque "%s"',
'uncheck all': 'desmarcar todos',
'Uninstall': 'Desinstalar',
'update': 'alterar',
'update all languages': 'alterar todos os idiomas',
'Update:': 'Alterar:',
'upgrade now to %s': 'Atualize agora para %s',
'upgrade web2py now': 'atualize o web2py agora',
'upload': 'upload',
'Upload a package:': 'Faça upload de um pacote:',
'Upload and install packed application': 'Faça upload e instale uma aplicação empacotada',
'upload application:': 'Fazer upload de uma aplicação:',
'Upload existing application': 'Faça upload de uma aplicação existente',
'upload file:': 'Enviar arquivo:',
'upload plugin file:': 'Enviar arquivo de plugin:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, e ~(...) para NOT, para criar consultas mais complexas.',
'Use an url:': 'Use uma url:',
'User ID': 'ID do Usuário',
'variables': 'variáveis',
'Version': 'Versão',
'versioning': 'versionamento',
'Versioning': 'Versionamento',
'view': 'visão',
'Views': 'Visões',
'views': 'visões',
'Web Framework': 'Web Framework',
'web2py is up to date': 'web2py está atualizado',
'web2py Recent Tweets': 'Tweets Recentes de @web2py',
'web2py upgraded; please restart it': 'web2py atualizado; favor reiniciar',
'Welcome to web2py': 'Bem-vindo ao web2py',
'YES': 'SIM',
}
+222 -164
View File
@@ -1,180 +1,32 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'pt',
'!langname!': 'Português',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"update" é uma expressão opcional como "campo1=\'novo_valor\'". Não é permitido atualizar ou apagar resultados de um JOIN',
'%Y-%m-%d': '%d/%m/%Y',
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
'%s %%{row} deleted': '%s registros apagados',
'%s %%{row} updated': '%s registros atualizados',
'(requires internet access)': '(requer acesso a internet)',
'%Y-%m-%d': '%d/%m/%Y',
'%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
'(requires internet access)': '(requer acesso à internet)',
'(requires internet access, experimental)': '(requer acesso à internet, experimental)',
'(something like "it-it")': '(algo como "it-it")',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(file **gluon/contrib/plural_rules/%s.py** is not found)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
'@markmin\x01Searching: **%s** %%{file}': 'Searching: **%s** files',
'A new version of web2py is available': 'Está disponível uma nova versão do web2py',
'A new version of web2py is available: %s': 'Está disponível uma nova versão do web2py: %s',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENÇÃO o login requer uma conexão segura (HTTPS) ou executar de localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENÇÃO OS TESTES NÃO THREAD SAFE, NÃO EFETUE MÚLTIPLOS TESTES AO MESMO TEMPO.',
'ATTENTION: you cannot edit the running application!': 'ATENÇÃO: Não pode modificar a aplicação em execução!',
'About': 'sobre',
'About application': 'Sobre a aplicação',
'Additional code for your application': 'Additional code for your application',
'Admin is disabled because insecure channel': 'Admin desabilitado pois o canal não é seguro',
'Admin is disabled because unsecure channel': 'Admin desabilitado pois o canal não é seguro',
'Admin language': 'Linguagem do Admin',
'Administrator Password:': 'Senha de administrador:',
'Application name:': 'Nome da aplicação:',
'Are you sure you want to delete file "%s"?': 'Tem certeza que deseja apagar o arquivo "%s"?',
'Are you sure you want to delete plugin "%s"?': 'Tem certeza que deseja apagar o plugin "%s"?',
'Are you sure you want to uninstall application "%s"': 'Tem certeza que deseja apagar a aplicação "%s"?',
'Are you sure you want to uninstall application "%s"?': 'Tem certeza que deseja apagar a aplicação "%s"?',
'Are you sure you want to upgrade web2py now?': 'Tem certeza que deseja atualizar o web2py agora?',
'Available databases and tables': 'Bancos de dados e tabelas disponíveis',
'Cannot be empty': 'Não pode ser vazio',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Não é possível compilar: Existem erros em sua aplicação. Depure, corrija os errros e tente novamente',
'Cannot compile: there are errors in your app:': 'Não é possível compilar: Existem erros em sua aplicação',
'Change Password': 'Trocar Senha',
'Change admin password': 'mudar senha de administrador',
'Check for upgrades': 'checar por atualizações',
'Check to delete': 'Marque para apagar',
'Checking for upgrades...': 'Buscando atualizações...',
'Clean': 'limpar',
'Click row to expand traceback': 'Clique em uma coluna para expandir o log do erro',
'Client IP': 'IP do cliente',
'Compile': 'compilar',
'Controllers': 'Controladores',
'Count': 'Contagem',
'Create': 'criar',
'Create new application using the Wizard': 'Criar nova aplicação utilizando o assistente',
'Create new simple application': 'Crie uma nova aplicação',
'Current request': 'Requisição atual',
'Current response': 'Resposta atual',
'Current session': 'Sessão atual',
'DESIGN': 'Projeto',
'Date and Time': 'Data e Hora',
'Delete': 'Apague',
'Delete:': 'Apague:',
'Deploy': 'publicar',
'Deploy on Google App Engine': 'Publicar no Google App Engine',
'Description': 'Descrição',
'Design for': 'Projeto de',
'Detailed traceback description': 'Detailed traceback description',
'E-mail': 'E-mail',
'EDIT': 'EDITAR',
'Edit': 'editar',
'Edit Profile': 'Editar Perfil',
'Edit application': 'Editar aplicação',
'Edit current record': 'Editar o registro atual',
'Editing Language file': 'Editando arquivo de linguagem',
'Editing file': 'Editando arquivo',
'Editing file "%s"': 'Editando arquivo "%s"',
'Enterprise Web Framework': 'Framework web empresarial',
'Error': 'Erro',
'Error logs for "%(app)s"': 'Logs de erro para "%(app)s"',
'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket',
'Errors': 'erros',
'Exception instance attributes': 'Atributos da instancia de excessão',
'File': 'Arquivo',
'First name': 'Nome',
'Frames': 'Frames',
'Functions with no doctests will result in [passed] tests.': 'Funções sem doctests resultarão em testes [aceitos].',
'Group ID': 'ID do Grupo',
'Hello World': 'Olá Mundo',
'Help': 'ajuda',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Se o relatório acima contém um número de ticket, isso indica uma falha no controlador em execução, antes de tantar executar os doctests. Isto acontece geralmente por erro de endentação ou erro fora do código da função.\nO titulo em verde indica que os testes (se definidos) passaram. Neste caso os testes não são mostrados.',
'Import/Export': 'Importar/Exportar',
'Install': 'instalar',
'Installed applications': 'Aplicações instaladas',
'Internal State': 'Estado Interno',
'Invalid Query': 'Consulta inválida',
'Invalid action': 'Ação inválida',
'Invalid email': 'E-mail inválido',
'Language files (static strings) updated': 'Arquivos de linguagem (textos estáticos) atualizados',
'Languages': 'Linguagens',
'Last name': 'Sobrenome',
'Last saved on:': 'Salvo em:',
'License for': 'Licença para',
'Login': 'Entrar',
'Login to the Administrative Interface': 'Entrar na interface adminitrativa',
'Logout': 'finalizar sessão',
'Lost Password': 'Senha perdida',
'Models': 'Modelos',
'Modules': 'Módulos',
'NO': 'NÃO',
'Name': 'Nome',
'New Record': 'Novo registro',
'New application wizard': 'Assistente para novas aplicações ',
'New simple application': 'Nova aplicação básica',
'No databases in this application': 'Não existem bancos de dados nesta aplicação',
'Origin': 'Origem',
'Original/Translation': 'Original/Tradução',
'Overwrite installed app': 'sobrescrever aplicação instalada',
'PAM authenticated user, cannot change password here': 'usuario autenticado por PAM, não pode alterar a senha por aqui',
'Pack all': 'criar pacote',
'Pack compiled': 'criar pacote compilado',
'Password': 'Senha',
'Peeking at file': 'Visualizando arquivo',
'Plugin "%s" in application': 'Plugin "%s" na aplicação',
'Plugins': 'Plugins',
'Powered by': 'Este site utiliza',
'Query:': 'Consulta:',
'Record ID': 'ID do Registro',
'Register': 'Registrar-se',
'Registration key': 'Chave de registro',
'Remove compiled': 'eliminar compilados',
'Resolve Conflict file': 'Arquivo de resolução de conflito',
'Role': 'Papel',
'Rows in table': 'Registros na tabela',
'Rows selected': 'Registros selecionados',
'Saved file hash:': 'Hash do arquivo salvo:',
'Site': 'site',
'Start wizard': 'iniciar assistente',
'Static files': 'Arquivos estáticos',
'Sure you want to delete this object?': 'Tem certeza que deseja apaagr este objeto?',
'TM': 'MR',
'Table name': 'Nome da tabela',
'Testing application': 'Testando a aplicação',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'A "consulta" é uma condição como "db.tabela.campo1==\'valor\'". Algo como "db.tabela1.campo1==db.tabela2.campo2" resulta em um JOIN SQL.',
'The application logic, each URL path is mapped in one exposed function in the controller': 'The application logic, each URL path is mapped in one exposed function in the controller',
'The data representation, define database tables and sets': 'The data representation, define database tables and sets',
'The presentations layer, views are also known as templates': 'The presentations layer, views are also known as templates',
'There are no controllers': 'Não existem controllers',
'There are no models': 'Não existem modelos',
'There are no modules': 'Não existem módulos',
'There are no plugins': 'There are no plugins',
'There are no static files': 'Não existem arquicos estáticos',
'There are no translators, only default language is supported': 'Não há traduções, somente a linguagem padrão é suportada',
'There are no views': 'Não existem visões',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'This is the %(filename)s template': 'Este é o template %(filename)s',
'Ticket': 'Ticket',
'Ticket ID': 'Ticket ID',
'Timestamp': 'Data Atual',
'To create a plugin, name a file/folder plugin_[name]': 'Para criar um plugin, nomeio um arquivo/pasta como plugin_[nome]',
'Traceback': 'Traceback',
'Translation strings for the application': 'Translation strings for the application',
'Unable to check for upgrades': 'Não é possível checar as atualizações',
'Unable to download': 'Não é possível efetuar o download',
'Unable to download app': 'Não é possível baixar a aplicação',
'Unable to download app because:': 'Não é possível baixar a aplicação porque:',
'Unable to download because': 'Não é possível baixar porque',
'Uninstall': 'desinstalar',
'Update:': 'Atualizar:',
'Upload & install packed application': 'Faça upload e instale uma aplicação empacotada',
'Upload a package:': 'Faça upload de um pacote:',
'Upload existing application': 'Faça upload de uma aplicação existente',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para criar consultas mais complexas.',
'Use an url:': 'Use uma url:',
'User ID': 'ID do Usuario',
'Version': 'Versão',
'Views': 'Visões',
'Welcome to web2py': 'Bem-vindo ao web2py',
'YES': 'SIM',
'additional code for your application': 'código adicional para sua aplicação',
'Additional code for your application': 'Código adicional para a sua aplicação',
'admin disabled because no admin password': ' admin desabilitado por falta de senha definida',
'admin disabled because not supported on google app engine': 'admin dehabilitado, não é soportado no GAE',
'admin disabled because unable to access password file': 'admin desabilitado, não foi possível ler o arquivo de senha',
'Admin is disabled because insecure channel': 'Admin desabilitado pois o canal não é seguro',
'Admin is disabled because unsecure channel': 'Admin desabilitado pois o canal não é seguro',
'Admin language': 'Linguagem do Admin',
'administrative interface': 'interface administrativa',
'Administrator Password:': 'Senha de administrador:',
'and rename it (required):': 'e renomeie (requerido):',
'and rename it:': ' e renomeie:',
'appadmin': 'appadmin',
@@ -182,27 +34,64 @@
'application "%s" uninstalled': 'aplicação "%s" desinstalada',
'application compiled': 'aplicação compilada',
'application is compiled and cannot be designed': 'A aplicação está compilada e não pode ser modificada',
'Application name:': 'Nome da aplicação:',
'are not used': 'não usadas',
'are not used yet': 'ainda não usadas',
'Are you sure you want to delete file "%s"?': 'Tem certeza que deseja apagar o arquivo "%s"?',
'Are you sure you want to delete plugin "%s"?': 'Tem certeza que deseja apagar o plugin "%s"?',
'Are you sure you want to delete this object?': 'Are you sure you want to delete this object?',
'Are you sure you want to uninstall application "%s"': 'Tem certeza que deseja apagar a aplicação "%s"?',
'Are you sure you want to uninstall application "%s"?': 'Tem certeza que deseja apagar a aplicação "%s"?',
'Are you sure you want to upgrade web2py now?': 'Tem certeza que deseja atualizar o web2py agora?',
'arguments': 'argumentos',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'ATENÇÃO o login requer uma conexão segura (HTTPS) ou executar de localhost.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATENÇÃO OS TESTES NÃO THREAD SAFE, NÃO EFETUE MÚLTIPLOS TESTES AO MESMO TEMPO.',
'ATTENTION: you cannot edit the running application!': 'ATENÇÃO: Não pode modificar a aplicação em execução!',
'Autocomplete Python Code': 'Autocompletar Código Python',
'Available databases and tables': 'Bancos de dados e tabelas disponíveis',
'back': 'voltar',
'browse': 'buscar',
'cache': 'cache',
'cache, errors and sessions cleaned': 'cache, erros e sessões eliminadas',
'can be a git repo': 'can be a git repo',
'Cannot be empty': 'Não pode ser vazio',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Não é possível compilar: Existem erros em sua aplicação. Depure, corrija os errros e tente novamente',
'Cannot compile: there are errors in your app:': 'Não é possível compilar: Existem erros em sua aplicação',
'cannot create file': 'Não é possível criar o arquivo',
'cannot upload file "%(filename)s"': 'não é possível fazer upload do arquivo "%(filename)s"',
'Change admin password': 'mudar senha de administrador',
'change editor settings': 'mudar definições do editor',
'Change Password': 'Trocar Senha',
'check all': 'marcar todos',
'Check for upgrades': 'checar por atualizações',
'Check to delete': 'Marque para apagar',
'Checking for upgrades...': 'Buscando atualizações...',
'Clean': 'limpar',
'click here for online examples': 'clique para ver exemplos online',
'click here for the administrative interface': 'Clique aqui para acessar a interface administrativa',
'Click row to expand traceback': 'Clique em uma coluna para expandir o log do erro',
'click to check for upgrades': 'clique aqui para checar por atualizações',
'click to open': 'clique para abrir',
'Client IP': 'IP do cliente',
'code': 'código',
'collapse/expand all': 'collapse/expand all',
'collapse/expand all': 'colapsar/expandir tudo',
'commit (mercurial)': 'commit (mercurial)',
'Compile': 'compilar',
'compiled application removed': 'aplicação compilada removida',
'Controllers': 'Controladores',
'controllers': 'controladores',
'Count': 'Contagem',
'Create': 'criar',
'create file with filename:': 'criar um arquivo com o nome:',
'Create new application using the Wizard': 'Criar nova aplicação utilizando o assistente',
'create new application:': 'nome da nova aplicação:',
'Create new simple application': 'Crie uma nova aplicação',
'Create/Upload': 'Create/Upload',
'created by': 'criado por',
'crontab': 'crontab',
'Current request': 'Requisição atual',
'Current response': 'Resposta atual',
'Current session': 'Sessão atual',
'currently running': 'Executando',
'currently saved or': 'Atualmente salvo ou',
'customize me!': 'Modifique-me',
@@ -210,23 +99,59 @@
'database': 'banco de dados',
'database %s select': 'Seleção no banco de dados %s',
'database administration': 'administração de banco de dados',
'Date and Time': 'Data e Hora',
'db': 'db',
'Debug': 'Debug',
'defines tables': 'define as tabelas',
'Delete': 'Apague',
'delete': 'apagar',
'delete all checked': 'apagar marcados',
'delete plugin': 'apagar plugin',
'Delete this file (you will be asked to confirm deletion)': 'Delete this file (you will be asked to confirm deletion)',
'Delete:': 'Apague:',
'Deploy': 'publicar',
'Deploy on Google App Engine': 'Publicar no Google App Engine',
'Deploy to OpenShift': 'Deploy to OpenShift',
'Description': 'Descrição',
'design': 'modificar',
'DESIGN': 'Projeto',
'Design for': 'Projeto de',
'Detailed traceback description': 'Detailed traceback description',
'direction: ltr': 'direção: ltr',
'Disable': 'Disable',
'docs': 'docs',
'done!': 'feito!',
'download layouts': 'download layouts',
'Download layouts from repository': 'Download layouts from repository',
'download plugins': 'download plugins',
'Download plugins from repository': 'Download plugins from repository',
'E-mail': 'E-mail',
'EDIT': 'EDITAR',
'Edit': 'editar',
'Edit application': 'Editar aplicação',
'edit controller': 'editar controlador',
'Edit current record': 'Editar o registro atual',
'Edit Profile': 'Editar Perfil',
'edit views:': 'editar visões:',
'Editing %s': 'A Editar %s',
'Editing file': 'Editando arquivo',
'Editing file "%s"': 'Editando arquivo "%s"',
'Editing Language file': 'Editando arquivo de linguagem',
'Enterprise Web Framework': 'Framework web empresarial',
'Error': 'Erro',
'Error logs for "%(app)s"': 'Logs de erro para "%(app)s"',
'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket',
'Errors': 'erros',
'Exception instance attributes': 'Atributos da instancia de excessão',
'Exit Fullscreen': 'Sair de Ecrã Inteiro',
'Expand Abbreviation (html files only)': 'Expandir Abreviação (só para ficheiros html)',
'export as csv file': 'exportar como arquivo CSV',
'exposes': 'expõe',
'extends': 'estende',
'failed to reload module': 'Falha ao recarregar o módulo',
'failed to reload module because:': 'falha ao recarregar o módulo por:',
'File': 'Arquivo',
'file "%(filename)s" created': 'arquivo "%(filename)s" criado',
'file "%(filename)s" deleted': 'arquivo "%(filename)s" apagado',
'file "%(filename)s" uploaded': 'arquivo "%(filename)s" enviado',
@@ -236,84 +161,217 @@
'file does not exist': 'arquivo não existe',
'file saved on %(time)s': 'arquivo salvo em %(time)s',
'file saved on %s': 'arquivo salvo em %s',
'filter': 'filter',
'filter': 'filtro',
'Find Next': 'Localizar Seguinte',
'Find Previous': 'Localizar Anterior',
'First name': 'Nome',
'Frames': 'Frames',
'Functions with no doctests will result in [passed] tests.': 'Funções sem doctests resultarão em testes [aceitos].',
'graph model': 'graph model',
'Group ID': 'ID do Grupo',
'Hello World': 'Olá Mundo',
'Help': 'ajuda',
'Hide/Show Translated strings': '',
'htmledit': 'htmledit',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Se o relatório acima contém um número de ticket, isso indica uma falha no controlador em execução, antes de tantar executar os doctests. Isto acontece geralmente por erro de endentação ou erro fora do código da função.\r\nO titulo em verde indica que os testes (se definidos) passaram. Neste caso os testes não são mostrados.',
'Import/Export': 'Importar/Exportar',
'includes': 'inclui',
'insert new': 'inserir novo',
'insert new %s': 'inserir novo %s',
'inspect attributes': 'inspect attributes',
'inspect attributes': 'inspecionar atributos',
'Install': 'instalar',
'Installed applications': 'Aplicações instaladas',
'internal error': 'erro interno',
'Internal State': 'Estado Interno',
'Invalid action': 'Ação inválida',
'Invalid email': 'E-mail inválido',
'invalid password': 'senha inválida',
'Invalid Query': 'Consulta inválida',
'invalid request': 'solicitação inválida',
'invalid ticket': 'ticket inválido',
'Keyboard shortcuts': 'Atalhos de teclado',
'language file "%(filename)s" created/updated': 'arquivo de linguagem "%(filename)s" criado/atualizado',
'Language files (static strings) updated': 'Arquivos de linguagem (textos estáticos) atualizados',
'languages': 'linguagens',
'Languages': 'Linguagens',
'languages updated': 'linguagens atualizadas',
'Last name': 'Sobrenome',
'Last saved on:': 'Salvo em:',
'License for': 'Licença para',
'loading...': 'carregando...',
'locals': 'locals',
'Login': 'Entrar',
'login': 'inicio de sessão',
'Login to the Administrative Interface': 'Entrar na interface adminitrativa',
'Logout': 'finalizar sessão',
'Lost Password': 'Senha perdida',
'Manage': 'Manage',
'manage': 'gerenciar',
'merge': 'juntar',
'Models': 'Modelos',
'models': 'modelos',
'Modules': 'Módulos',
'modules': 'módulos',
'Name': 'Nome',
'new application "%s" created': 'nova aplicação "%s" criada',
'New application wizard': 'Assistente para novas aplicações ',
'new plugin installed': 'novo plugin instalado',
'New Record': 'Novo registro',
'new record inserted': 'novo registro inserido',
'New simple application': 'Nova aplicação básica',
'next 100 rows': 'próximos 100 registros',
'NO': 'NÃO',
'No databases in this application': 'Não existem bancos de dados nesta aplicação',
'no match': 'não encontrado',
'no package selected': 'nenhum pacote selecionado',
'online designer': 'online designer',
'or alternatively': 'or alternatively',
'Or Get from URL:': 'Ou Obtenha do URL:',
'or import from csv file': 'ou importar de um arquivo CSV',
'or provide app url:': 'ou forneça a url de uma aplicação:',
'or provide application url:': 'ou forneça a url de uma aplicação:',
'Origin': 'Origem',
'Original/Translation': 'Original/Tradução',
'Overwrite installed app': 'sobrescrever aplicação instalada',
'Pack all': 'criar pacote',
'Pack compiled': 'criar pacote compilado',
'Pack custom': 'Pack custom',
'pack plugin': 'empacotar plugin',
'PAM authenticated user, cannot change password here': 'usuario autenticado por PAM, não pode alterar a senha por aqui',
'Password': 'Senha',
'password changed': 'senha alterada',
'Peeking at file': 'Visualizando arquivo',
'plugin "%(plugin)s" deleted': 'plugin "%(plugin)s" eliminado',
'Plugin "%s" in application': 'Plugin "%s" na aplicação',
'plugins': 'plugins',
'Plugins': 'Plugins',
'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'Este site utiliza',
'previous 100 rows': '100 registros anteriores',
'Private files': 'Private files',
'private files': 'private files',
'Query:': 'Consulta:',
'Rapid Search': 'Rapid Search',
'record': 'registro',
'record does not exist': 'o registro não existe',
'record id': 'id do registro',
'Record ID': 'ID do Registro',
'Register': 'Registrar-se',
'Registration key': 'Chave de registro',
'Reload routes': 'Reload routes',
'Remove compiled': 'eliminar compilados',
'Replace': 'Substituir',
'Replace All': 'Substituir Tudo',
'request': 'request',
'Resolve Conflict file': 'Arquivo de resolução de conflito',
'response': 'response',
'restore': 'restaurar',
'revert': 'reverter',
'Role': 'Papel',
'Rows in table': 'Registros na tabela',
'Rows selected': 'Registros selecionados',
'rules are not defined': 'rules are not defined',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Run tests in this file (to run all files, you may also use the button labelled 'test')",
'Running on %s': 'A correr em %s',
'Save': 'Save',
'save': 'salvar',
'Save file:': 'Gravar ficheiro:',
'Save file: %s': 'Gravar ficheiro: %s',
'Save via Ajax': 'Gravar via Ajax',
'Saved file hash:': 'Hash do arquivo salvo:',
'selected': 'selecionado(s)',
'session': 'session',
'session expired': 'sessão expirada',
'shell': 'Terminal',
'Site': 'site',
'some files could not be removed': 'alguns arquicos não puderam ser removidos',
'Start searching': 'Start searching',
'Start wizard': 'iniciar assistente',
'state': 'estado',
'Static': 'Static',
'static': 'estáticos',
'Static files': 'Arquivos estáticos',
'Submit': 'Submit',
'submit': 'enviar',
'Sure you want to delete this object?': 'Tem certeza que deseja apaagr este objeto?',
'table': 'tabela',
'Table name': 'Nome da tabela',
'test': 'testar',
'Testing application': 'Testando a aplicação',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': 'A "consulta" é uma condição como "db.tabela.campo1==\'valor\'". Algo como "db.tabela1.campo1==db.tabela2.campo2" resulta em um JOIN SQL.',
'the application logic, each URL path is mapped in one exposed function in the controller': 'A lógica da aplicação, cada URL é mapeada para uma função exposta pelo controlador',
'The application logic, each URL path is mapped in one exposed function in the controller': 'The application logic, each URL path is mapped in one exposed function in the controller',
'the data representation, define database tables and sets': 'A representação dos dadps, define tabelas e estruturas de dados',
'The data representation, define database tables and sets': 'The data representation, define database tables and sets',
'The presentations layer, views are also known as templates': 'The presentations layer, views are also known as templates',
'the presentations layer, views are also known as templates': 'A camada de apresentação, As visões também são chamadas de templates',
'There are no controllers': 'Não existem controllers',
'There are no models': 'Não existem modelos',
'There are no modules': 'Não existem módulos',
'There are no plugins': 'There are no plugins',
'There are no private files': '',
'There are no static files': 'Não existem arquicos estáticos',
'There are no translators, only default language is supported': 'Não há traduções, somente a linguagem padrão é suportada',
'There are no views': 'Não existem visões',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'these files are served without processing, your images go here': 'Estes arquivos são servidos sem processamento, suas imagens ficam aqui',
'This is the %(filename)s template': 'Este é o template %(filename)s',
'Ticket': 'Ticket',
'Ticket ID': 'Ticket ID',
'Timestamp': 'Data Atual',
'TM': 'MR',
'to previous version.': 'para a versão anterior.',
'To create a plugin, name a file/folder plugin_[name]': 'Para criar um plugin, nomeio um arquivo/pasta como plugin_[nome]',
'toggle breakpoint': 'toggle breakpoint',
'Toggle comment': 'Toggle comment',
'Toggle Fullscreen': 'Toggle Fullscreen',
'Traceback': 'Traceback',
'translation strings for the application': 'textos traduzidos para a aplicação',
'Translation strings for the application': 'Translation strings for the application',
'try': 'tente',
'try something like': 'tente algo como',
'Try the mobile interface': 'Try the mobile interface',
'Unable to check for upgrades': 'Não é possível checar as atualizações',
'unable to create application "%s"': 'não é possível criar a aplicação "%s"',
'unable to delete file "%(filename)s"': 'não é possível criar o arquico "%(filename)s"',
'unable to delete file plugin "%(plugin)s"': 'não é possível criar o plugin "%(plugin)s"',
'Unable to download': 'Não é possível efetuar o download',
'Unable to download app': 'Não é possível baixar a aplicação',
'Unable to download app because:': 'Não é possível baixar a aplicação porque:',
'Unable to download because': 'Não é possível baixar porque',
'unable to parse csv file': 'não é possível analisar o arquivo CSV',
'unable to uninstall "%s"': 'não é possível instalar "%s"',
'unable to upgrade because "%s"': 'não é possível atualizar porque "%s"',
'uncheck all': 'desmarcar todos',
'Uninstall': 'desinstalar',
'update': 'atualizar',
'update all languages': 'atualizar todas as linguagens',
'Update:': 'Atualizar:',
'upgrade web2py now': 'atualize o web2py agora',
'upload': 'upload',
'Upload': 'Upload',
'Upload & install packed application': 'Faça upload e instale uma aplicação empacotada',
'Upload a package:': 'Faça upload de um pacote:',
'Upload and install packed application': 'Upload and install packed application',
'upload application:': 'Fazer upload de uma aplicação:',
'Upload existing application': 'Faça upload de uma aplicação existente',
'upload file:': 'Enviar arquivo:',
'upload plugin file:': 'Enviar arquivo de plugin:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Use (...)&(...) para AND, (...)|(...) para OR, y ~(...) para NOT, para criar consultas mais complexas.',
'Use an url:': 'Use uma url:',
'User ID': 'ID do Usuario',
'variables': 'variáveis',
'Version': 'Versão',
'versioning': 'versionamento',
'Versioning': 'Versioning',
'view': 'visão',
'Views': 'Visões',
'views': 'visões',
'web2py Recent Tweets': 'Tweets Recentes de @web2py',
'Web Framework': 'Web Framework',
'web2py is up to date': 'web2py está atualizado',
'web2py Recent Tweets': 'Tweets Recentes de @web2py',
'web2py upgraded; please restart it': 'web2py atualizado; favor reiniciar',
'Welcome to web2py': 'Bem-vindo ao web2py',
'YES': 'SIM',
}
+1 -1
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!=': '!=',
'!langcode!': 'ro',
+6 -6
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'ru',
'!langname!': 'Русский',
@@ -92,7 +92,7 @@
'Database': 'База данных',
'database': 'база данных',
'database %s select': 'Выбор базы данных %s ',
'database administration': 'администраторирование базы данных',
'database administration': 'администрирование базы данных',
'Date and Time': 'Дата и время',
'db': 'бд',
'DB Model': 'Модель БД',
@@ -134,7 +134,7 @@
'Editing Language file': 'Правка языкового файла',
'Editing Plural Forms File': 'Editing Plural Forms File',
'Enterprise Web Framework': 'Enterprise Web Framework',
'Error logs for "%(app)s"': 'Журнал ошибок для "%(app)"',
'Error logs for "%(app)s"': 'Журнал ошибок для "%(app)s"',
'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket',
'Errors': 'Ошибка',
@@ -185,8 +185,8 @@
'Invalid Query': 'Неверный запрос',
'invalid request': 'неверный запрос',
'invalid ticket': 'неверный тикет',
'Key bindings': 'Связываник клавиш',
'Key bindings for ZenConding Plugin': 'Связывание клавиш для плагина ZenConding',
'Key bindings': 'Комбинации клавиш',
'Key bindings for ZenConding Plugin': 'Комбинации клавиш для плагина ZenConding',
'language file "%(filename)s" created/updated': 'Языковой файл "%(filename)s" создан/обновлен',
'Language files (static strings) updated': 'Языковые файлы (статичные строки) обновлены',
'languages': 'языки',
@@ -204,7 +204,7 @@
'Login to the Administrative Interface': 'Вход в интерфейс администратора',
'Logout': 'выход',
'Lost Password': 'Забыли пароль',
'lost password?': 'Пароль утерен?',
'lost password?': 'Пароль утерян?',
'Main Menu': 'Главное меню',
'Match Pair': 'Найти пару',
'Menu Model': 'Модель меню',
+1 -1
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'sl',
'!langname!': 'Slovenski',
+212
View File
@@ -0,0 +1,212 @@
# -*- coding: utf-8 -*-
{
'!langcode!': 'sr-cr',
'!langname!': 'Српски (Ћирилица)',
'%Y-%m-%d': '%d-%m-%Y',
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
'(requires internet access)': '(захтијева приступ интернету)',
'(something like "it-it")': '(нешто као "it-it")',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(датотека **gluon/contrib/plural_rules/%s.py** није пронађена)',
'About': 'Информације',
'About application': 'О апликацији',
'Additional code for your application': 'Додатни код за апликацију',
'admin disabled because unable to access password file': 'администрација онемогућена јер не могу приступити датотеци са лозинком',
'Admin language': 'Језик администратора',
'administrative interface': 'административни интерфејс',
'Administrator Password:': 'Лозинка администратора:',
'and rename it:': 'и преименуј у:',
'Application name:': 'Назив апликације:',
'are not used': 'није кориштено',
'are not used yet': 'није још кориштено',
'Are you sure you want to delete this object?': 'Да ли сте сигурни да желите обрисати?',
'arguments': 'arguments',
'at char %s': 'код слова %s',
'at line %s': 'на линији %s',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'back': 'назад',
'Basics': 'Основе',
'Begin': 'Почетак',
'cache, errors and sessions cleaned': 'кеш, грешке и сесије су обрисани',
'can be a git repo': 'може бити git repo',
'cannot upload file "%(filename)s"': 'не мофу отпремити датотеку "%(filename)s"',
'Change admin password': 'Промијени лзинку администратора',
'check all': 'check all',
'Check for upgrades': 'Провјери могућност надоградње',
'Checking for upgrades...': 'Провјеравам могућност надоградње...',
'Clean': 'Прочисти',
'Click row to expand traceback': 'Click row to expand traceback',
'code': 'код',
'collapse/expand all': 'сакрити/приказати све',
'Compile': 'Компајлирај',
'Controllers': 'Контролери',
'controllers': 'контролери',
'Count': 'Count',
'Create': 'Креирај',
'create file with filename:': 'Креирај датотеку под називом:',
'Create rules': 'Креирај правила',
'created by': 'израдио',
'crontab': 'crontab',
'currently running': 'тренутно покренут',
'currently saved or': 'тренутно сачувано или',
'database administration': 'администрација базе података',
'Debug': 'Debug',
'defines tables': 'дефинише табеле',
'delete': 'обриши',
'Delete': 'Обриши',
'delete all checked': 'delete all checked',
'Delete this file (you will be asked to confirm deletion)': 'Обриши ову даатотеку (бићете упитани за потврду брисања)',
'Deploy': 'Постави',
'Deploy on Google App Engine': 'Постави на Google App Engine',
'Deploy to OpenShift': 'Постави на OpenShift',
'Detailed traceback description': 'Detailed traceback description',
'direction: ltr': 'direction: ltr',
'Disable': 'Искључи',
'docs': 'документација',
'download layouts': 'преузми layouts',
'download plugins': 'преузми plugins',
'Edit': 'Уређивање',
'edit all': 'уреди све',
'Edit application': 'Уреди апликацију',
'edit controller': 'уреди контролер',
'edit views:': 'уреди views:',
'Editing file "%s"': 'Уређивање датотеке "%s"',
'Editing Language file': 'Уређивање језичке датотеке',
'Error': 'Грешка',
'Error logs for "%(app)s"': 'Преглед грешака за "%(app)s"',
'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket',
'Errors': 'Грешке',
'Exception instance attributes': 'Exception instance attributes',
'Expand Abbreviation': 'Expand Abbreviation',
'exposes': 'exposes',
'exposes:': 'exposes:',
'extends': 'проширује',
'failed to compile file because:': 'нисам могао да компајлирам због:',
'File': 'Датотека',
'file does not exist': 'датотека не постоји',
'file saved on %s': 'датотека сачувана на %s',
'filter': 'филтер',
'Find Next': 'Пронађи сљедећи',
'Find Previous': 'Пронађи претходни',
'Frames': 'Frames',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'Generate': 'Generate',
'Get from URL:': 'Преузми са странице:',
'Git Pull': 'Git Pull',
'Git Push': 'Git Push',
'Go to Matching Pair': 'Go to Matching Pair',
'go!': 'крени!',
'Help': 'Помоћ',
'Hide/Show Translated strings': 'Сакрити/Приказати преведене ријечи',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.',
'includes': 'укључује',
'inspect attributes': 'inspect attributes',
'Install': 'Инсталирај',
'Installed applications': 'Инсталиране апликације',
'invalid password.': 'погрешна лозинка.',
'Key bindings': 'Пречице',
'Key bindings for ZenCoding Plugin': 'Пречице за ZenCoding Plugin',
'Language files (static strings) updated': 'Језичке датотеке су ажуриране',
'languages': 'језици',
'Languages': 'Језици',
'Last saved on:': 'Посљедња измјена:',
'License for': 'Лиценца за',
'loading...': 'преузимам...',
'locals': 'locals',
'Login': 'Пријава',
'Login to the Administrative Interface': 'Пријава за административни интерфејс',
'Logout': 'Излаз',
'Match Pair': 'Match Pair',
'Merge Lines': 'Споји линије',
'models': 'models',
'Models': 'Models',
'Modules': 'Modules',
'modules': 'modules',
'New Application Wizard': 'Чаробњак за нове апликације',
'New application wizard': 'Чаробњак за нове апликације',
'New simple application': 'Нова једноставна апликација',
'Next Edit Point': 'Next Edit Point',
'No ticket_storage.txt found under /private folder': 'No ticket_storage.txt found under /private folder',
'online designer': 'онлајн дизајнер',
'Original/Translation': 'Оргинал/Превод',
'Overwrite installed app': 'Пребриши постојећу апликацију',
'Pack all': 'Запакуј све',
'Peeking at file': 'Peeking at file',
'Plugins': 'Plugins',
'plugins': 'plugins',
'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'Омогућио',
'Previous Edit Point': 'Previous Edit Point',
'Private files': 'Private files',
'private files': 'private files',
'Project Progress': 'Напредак пројекта',
'Reload routes': 'Обнови преусмјерења',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Замијени',
'Replace All': 'Замијени све',
'request': 'request',
'response': 'response',
'restart': 'restart',
'restore': 'restore',
'revert': 'revert',
'rules are not defined': 'правила нису дефинисана',
'rules:': 'правила:',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Run tests in this file (to run all files, you may also use the button labelled 'test')",
'Running on %s': 'Покренути на %s',
'Save': 'Сачувај',
'Save via Ajax': 'сачувај via Ajax',
'Saved file hash:': 'Сачувано као хаш:',
'session': 'сесија',
'session expired': 'сесија истекла',
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell',
'Site': 'Сајт',
'skip to generate': 'skip to generate',
'Start a new app': 'Покрени нову апликацију',
'Start searching': 'Покрени претрагу',
'Start wizard': 'Покрени чаробњака',
'static': 'static',
'Static files': 'Static files',
'Step': 'Корак',
'Submit': 'Прихвати',
'successful': 'успјешан',
'test': 'тест',
'Testing application': 'Тестирање апликације',
'The application logic, each URL path is mapped in one exposed function in the controller': 'The application logic, each URL path is mapped in one exposed function in the controller',
'The data representation, define database tables and sets': 'The data representation, define database tables and sets',
'The presentations layer, views are also known as templates': 'The presentations layer, views are also known as templates',
'There are no models': 'There are no models',
'There are no plugins': 'There are no plugins',
'There are no private files': 'There are no private files',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'Ticket ID': 'Ticket ID',
'Ticket Missing': 'Ticket nedostaje',
'to previous version.': 'на претходну верзију.',
'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]',
'toggle breakpoint': 'toggle breakpoint',
'Toggle Fullscreen': 'Toggle Fullscreen',
'Traceback': 'Traceback',
'Translation strings for the application': 'Ријечи у апликацији које треба превести',
'Try the mobile interface': 'Пробај мобилни интерфејс',
'try view': 'try view',
'uncheck all': 'uncheck all',
'Uninstall': 'Деинсталирај',
'update': 'ажурирај',
'update all languages': 'ажурирај све језике',
'upload': 'Отпреми',
'Upload a package:': 'Преузми пакет:',
'Upload and install packed application': 'Преузми и инсталирај запаковану апликацију',
'upload file:': 'преузми датотеку:',
'upload plugin file:': 'преузми плагин датотеку:',
'variables': 'variables',
'Version': 'Верзија',
'Version %s.%s.%s (%s) %s': 'Верзија %s.%s.%s (%s) %s',
'Versioning': 'Versioning',
'views': 'views',
'Views': 'Views',
'Web Framework': 'Web Framework',
'web2py is up to date': 'web2py је ажуран',
'web2py Recent Tweets': 'web2py Recent Tweets',
'Wrap with Abbreviation': 'Wrap with Abbreviation',
}
+212
View File
@@ -0,0 +1,212 @@
# -*- coding: utf-8 -*-
{
'!langcode!': 'sr-lt',
'!langname!': 'Srpski (Latinica)',
'%Y-%m-%d': '%d-%m-%Y',
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
'(requires internet access)': '(zahtijeva pristup internetu)',
'(something like "it-it")': '(nešto kao "it-it")',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(datoteka **gluon/contrib/plural_rules/%s.py** nije pronađena)',
'About': 'Informacije',
'About application': 'O aplikaciji',
'Additional code for your application': 'Dodatni kod za aplikaciju',
'admin disabled because unable to access password file': 'administracija onemogućena jer ne mogu pristupiti datoteci sa lozinkom',
'Admin language': 'Jezik administratora',
'administrative interface': 'administrativni interfejs',
'Administrator Password:': 'Lozinka administratora:',
'and rename it:': 'i preimenuj u:',
'Application name:': 'Naziv aplikacije:',
'are not used': 'nije korišteno',
'are not used yet': 'nije još korišteno',
'Are you sure you want to delete this object?': 'Da li ste sigurni da želite obrisati?',
'arguments': 'arguments',
'at char %s': 'kod slova %s',
'at line %s': 'na liniji %s',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.',
'back': 'nazad',
'Basics': 'Osnove',
'Begin': 'Početak',
'cache, errors and sessions cleaned': 'keš, greške i sesije su obrisani',
'can be a git repo': 'može biti git repo',
'cannot upload file "%(filename)s"': 'ne mogu otpremiti datoteku "%(filename)s"',
'Change admin password': 'Promijeni lozinku administratora',
'check all': 'check all',
'Check for upgrades': 'Provjeri mogućnost nadogradnje',
'Checking for upgrades...': 'Provjeravam mogućnost nadogradnje...',
'Clean': 'Pročisti',
'Click row to expand traceback': 'Click row to expand traceback',
'code': 'kod',
'collapse/expand all': 'sakriti/prikazati sve',
'Compile': 'Kompajliraj',
'Controllers': 'Kontroleri',
'controllers': 'kontroleri',
'Count': 'Count',
'Create': 'Kreiraj',
'create file with filename:': 'Kreiraj datoteku pod nazivom:',
'Create rules': 'Kreiraj pravila',
'created by': 'izradio',
'crontab': 'crontab',
'currently running': 'trenutno pokrenut',
'currently saved or': 'trenutno sačuvano ili',
'database administration': 'administracija baze podataka',
'Debug': 'Debug',
'defines tables': 'definiše tabele',
'delete': 'obriši',
'Delete': 'Obriši',
'delete all checked': 'delete all checked',
'Delete this file (you will be asked to confirm deletion)': 'Obriši ovu datoteku (bićete upitani za potvrdu brisanja)',
'Deploy': 'Postavi',
'Deploy on Google App Engine': 'Postavi na Google App Engine',
'Deploy to OpenShift': 'Postavi na OpenShift',
'Detailed traceback description': 'Detailed traceback description',
'direction: ltr': 'direction: ltr',
'Disable': 'Isključi',
'docs': 'dokumentacija',
'download layouts': 'preuzmi layouts',
'download plugins': 'preuzmi plugins',
'Edit': 'Uređivanje',
'edit all': 'uredi sve',
'Edit application': 'Uredi aplikaciju',
'edit controller': 'uredi controller',
'edit views:': 'uredi views:',
'Editing file "%s"': 'Uređivanje datoteke "%s"',
'Editing Language file': 'Uređivanje jezičke datoteke',
'Error': 'Greška',
'Error logs for "%(app)s"': 'Pregled grešaka za "%(app)s"',
'Error snapshot': 'Error snapshot',
'Error ticket': 'Error ticket',
'Errors': 'Greške',
'Exception instance attributes': 'Exception instance attributes',
'Expand Abbreviation': 'Expand Abbreviation',
'exposes': 'exposes',
'exposes:': 'exposes:',
'extends': 'proširuje',
'failed to compile file because:': 'nisam mogao da kompajliram zbog:',
'File': 'Datoteka',
'file does not exist': 'datoteka ne postoji',
'file saved on %s': 'datoteka sačuvana na %s',
'filter': 'filter',
'Find Next': 'Pronađi sljedeći',
'Find Previous': 'Pronađi prethodni',
'Frames': 'Frames',
'Functions with no doctests will result in [passed] tests.': 'Functions with no doctests will result in [passed] tests.',
'Generate': 'Generate',
'Get from URL:': 'Preuzmi sa stranice:',
'Git Pull': 'Git Pull',
'Git Push': 'Git Push',
'Go to Matching Pair': 'Go to Matching Pair',
'go!': 'kreni!',
'Help': 'Pomoć',
'Hide/Show Translated strings': 'Sakriti/Prikazati prevedene riječi',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.',
'includes': 'uključuje',
'inspect attributes': 'inspect attributes',
'Install': 'Instaliraj',
'Installed applications': 'Instalirane aplikacije',
'invalid password.': 'pogrešna lozinka.',
'Key bindings': 'Prečice',
'Key bindings for ZenCoding Plugin': 'Prečice za for ZenCoding Plugin',
'Language files (static strings) updated': 'Jezičke datoteke su ažurirane',
'languages': 'jezici',
'Languages': 'Jezici',
'Last saved on:': 'Posljednja izmjena:',
'License for': 'Licenca za',
'loading...': 'preuzimam...',
'locals': 'locals',
'Login': 'Prijava',
'Login to the Administrative Interface': 'Prijava za administrativni interfejs',
'Logout': 'Izlaz',
'Match Pair': 'Match Pair',
'Merge Lines': 'Spoji linije',
'models': 'models',
'Models': 'Models',
'Modules': 'Modules',
'modules': 'modules',
'New Application Wizard': 'Čarobnjak za nove aplikacije',
'New application wizard': 'Čarobnjak za nove aplikacije',
'New simple application': 'Nova jednostavna aplikacija',
'Next Edit Point': 'Next Edit Point',
'No ticket_storage.txt found under /private folder': 'No ticket_storage.txt found under /private folder',
'online designer': 'onlajn dizajner',
'Original/Translation': 'Original/Prevod',
'Overwrite installed app': 'Prebriši postojeću aplikaciju',
'Pack all': 'Zapakuj sve',
'Peeking at file': 'Peeking at file',
'Plugins': 'Plugins',
'plugins': 'plugins',
'Plural-Forms:': 'Plural-Forms:',
'Powered by': 'Omogućio',
'Previous Edit Point': 'Previous Edit Point',
'Private files': 'Private files',
'private files': 'private files',
'Project Progress': 'Napredak projekta',
'Reload routes': 'Obnovi preusmjerenja',
'Removed Breakpoint on %s at line %s': 'Removed Breakpoint on %s at line %s',
'Replace': 'Zamijeni',
'Replace All': 'Zamijeni sve',
'request': 'request',
'response': 'response',
'restart': 'restart',
'restore': 'restore',
'revert': 'revert',
'rules are not defined': 'pravila nisu definisana',
'rules:': 'pravila:',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Run tests in this file (to run all files, you may also use the button labelled 'test')",
'Running on %s': 'Pokrenuto na %s',
'Save': 'Sačuvaj',
'Save via Ajax': 'Sačuvaj via Ajax',
'Saved file hash:': 'Sačuvano kao haš:',
'session': 'sesija',
'session expired': 'sesija istekla',
'Set Breakpoint on %s at line %s: %s': 'Set Breakpoint on %s at line %s: %s',
'shell': 'shell',
'Site': 'Sajt',
'skip to generate': 'skip to generate',
'Start a new app': 'Pokreni novu aplikaciju',
'Start searching': 'Pokreni pretragu',
'Start wizard': 'Pokreni čarobnjaka',
'static': 'static',
'Static files': 'Static files',
'Step': 'Korak',
'Submit': 'Prihvati',
'successful': 'uspješan',
'test': 'test',
'Testing application': 'Testing application',
'The application logic, each URL path is mapped in one exposed function in the controller': 'The application logic, each URL path is mapped in one exposed function in the controller',
'The data representation, define database tables and sets': 'The data representation, define database tables and sets',
'The presentations layer, views are also known as templates': 'The presentations layer, views are also known as templates',
'There are no models': 'There are no models',
'There are no plugins': 'There are no plugins',
'There are no private files': 'There are no private files',
'These files are not served, they are only available from within your app': 'These files are not served, they are only available from within your app',
'These files are served without processing, your images go here': 'These files are served without processing, your images go here',
'Ticket ID': 'Ticket ID',
'Ticket Missing': 'Ticket nedostaje',
'to previous version.': 'na prethodnu verziju.',
'To create a plugin, name a file/folder plugin_[name]': 'To create a plugin, name a file/folder plugin_[name]',
'toggle breakpoint': 'toggle breakpoint',
'Toggle Fullscreen': 'Toggle Fullscreen',
'Traceback': 'Traceback',
'Translation strings for the application': 'Riječi u aplikaciji koje treba prevesti',
'Try the mobile interface': 'Probaj mobilni interfejs',
'try view': 'try view',
'uncheck all': 'uncheck all',
'Uninstall': 'Deinstaliraj',
'update': 'ažuriraj',
'update all languages': 'ažuriraj sve jezike',
'upload': 'Otpremi',
'Upload a package:': 'Preuzmi paket:',
'Upload and install packed application': 'Preuzmi i instaliraj zapakovanu aplikaciju',
'upload file:': 'preuzmi datoteku:',
'upload plugin file:': 'preuzmi plugin datoteku:',
'variables': 'variables',
'Version': 'Verzija',
'Version %s.%s.%s (%s) %s': 'Verzija %s.%s.%s (%s) %s',
'Versioning': 'Versioning',
'views': 'views',
'Views': 'Views',
'Web Framework': 'Web Framework',
'web2py is up to date': 'web2py je ažuran',
'web2py Recent Tweets': 'web2py Recent Tweets',
'Wrap with Abbreviation': 'Wrap with Abbreviation',
}
+426
View File
@@ -0,0 +1,426 @@
# coding: utf-8
{
'!langcode!': 'tr',
'!langname!': 'Türkçe',
'"update" is an optional expression like "field1=\'newvalue\'". You cannot update or delete the results of a JOIN': '"güncelleme" ("update") "field1 = \'yenideğer\'" gibi seçeneğe bağlı bir ifadedir. JOIN sonuçlarını silemez veya silemezsiniz.',
'%s %%{row} deleted': '%s %%{row} silindi',
'%s %%{row} updated': '%s %%{row} güncellendi',
'%Y-%m-%d': '%d-%m-%Y',
'%Y-%m-%d %H:%M:%S': '%d-%m-%Y %H:%M:%S',
'(requires internet access)': '(Internet erişimi gerekir)',
'(requires internet access, experimental)': '(internet erişimi gerekir, deneysel)',
'(something like "it-it")': '("it-it" şeklinde birşeyler) ',
'1: Setting Parameters': '1: Parametrelerin Yapılandırılması',
'@markmin\x01An error occured, please [[reload %s]] the page': '@markmin\x01Bir hata oluştu, lütfen sayfayı [[reload %s]]',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "'%s' uygulaması için[[NEWLINE]]Mercurial Sürüm Kontrol Sistemi Arayüzü",
'@markmin\x01Searching: **%s** %%{file}': '@markmin\x01Aranıyor: **%s** %%{file}',
'A new version of web2py is available: %s': "web2py'nin yeni sürümü mevcut: %s ",
'A new version of web2py is available: Version 1.68.2 (2009-10-21 09:59:29)\n': "web2py'nin yeni sürümü mevcut: Sürüm 1.68.2 (2009-10-21 09:59:29)\r\n",
'About': 'Hakkında',
'About application': 'Uygulama hakkında',
'Add breakpoint': 'Kesme noktası ekle',
'additional code for your application': 'uygulamanız için fazladan kod',
'Additional code for your application': 'Uygulamanız için fazladan kod',
'Admin design page': 'Yönetici tasarım sayfası',
'admin disabled because no admin password': 'yönetici parolası olmadığından admin etkinsiz',
'admin disabled because not supported on google app engine': 'Google App Motoru tafaından desteklenmediğinden admin etkinsizleştirildi',
'admin disabled because unable to access password file': 'parola dosyasına erişielemdiğinden admin etkinsizleştirildi',
'Admin is disabled because insecure channel': 'güvenzis kanal olduğundan admin etkinsizleştirildi',
'Admin language': 'Admin dilleri',
'Admin versioning page': 'Yönetici sürümleme sayfası',
'administrative interface': 'yönetsel arayüz',
'Administrator Password:': 'Yönetici Parolası:',
'and rename it (required):': 've yeniden adlandır (gerekli):',
'and rename it:': 'yeniden adlandır:',
'appadmin': 'appadmin',
'appadmin is disabled because insecure channel': 'güvenzis kanal olduğundan admin etkinsizleştirildi',
'Application': 'Uygulama',
'application "%s" uninstalled': '"%s" uygulaması kaldırıldı',
'application %(appname)s installed with md5sum: %(digest)s': '%(appname)s uygulaması md5sum %(digest)s ile kuruldu',
'application compiled': 'uygulama derlendi',
'application is compiled and cannot be designed': 'uygulama derlenmiş ve tasarlanamaz',
'Application name:': 'Uygulama adı:',
'are not used': 'kullanılamıyor',
'are not used yet': 'şimdilik kullanılamıyor',
'Are you sure you want to delete file "%s"?': '«%s» dosyasını silmek istediğinize emin misiniz?',
'Are you sure you want to delete plugin "%s"?': '"%s" eklentisini kaldırmak istediğinizden emin misiniz?',
'Are you sure you want to delete this object?': 'Bu nesneyi silmek istediğinizden emin misiniz?',
'Are you sure you want to uninstall application "%s"?': '«%s» uygulamasını kaldırmak istediğinizden emin misiniz?',
'Are you sure you want to upgrade web2py now?': "web2py'yi güncellemek istediğinizden emin misiniz?",
'arguments': 'argümanlar',
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': 'UYARI: Giriş günceli bağlantı (HTTPS) gerektirmekte veya yerel makinada çalışılmalıdır.',
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'UYARI: ÇOKLU TEST GÜVENLİ DEĞİL. BİRDEN ÇOK TESTİ AYNI ANDA YAPMAYIN.',
'ATTENTION: you cannot edit the running application!': 'UYARI: çalışan uygulamayı düzenleyemezsiniz!',
'Autocomplete Python Code': 'Python Kodlarını Otomatik Tamamla',
'Available databases and tables': 'Kullanılabilir veritabanları ve tablolar',
'back': 'geri',
'Back to wizard': 'Sihirbaza geri dön',
'Basics': 'Temeller',
'Begin': 'Başla',
'breakpoint': 'kesme noktası',
'Breakpoints': 'Kesme Noktaları',
'breakpoints': 'kesme noktaları',
'cache': 'zula',
'cache, errors and sessions cleaned': 'zula, hatalar ve oturumlar temizlendi',
'can be a git repo': 'git deposu olabilir',
'Cancel': 'Vazgeç',
'Cannot be empty': 'Boş olamaz',
'Cannot compile: there are errors in your app. Debug it, correct errors and try again.': 'Derlenemiyor: uygulamanızda hata(lar) var. Hataları düzeltin ve tekrar deneyin.',
'Cannot compile: there are errors in your app:': 'Derlenemiyor: uygulamanızda hata(lar) var:',
'cannot create file': 'dosya oluşturulamıyor',
'cannot upload file "%(filename)s"': '"%(filename)s" dosyalarını yükleyemiyor',
'Change admin password': 'admin parolasını değiştir',
'change editor settings': 'düzenleyici ayarlarını değiştir',
'check all': 'tümünü kontrol et',
'Check for upgrades': 'Güncellemeleri kontrol et',
'Check to delete': 'Silmek için kontrok et',
'Checking for upgrades...': 'Güncellemeler denetleniyor ... ',
'Clean': 'Temizle',
'Click row to expand traceback': 'Takibi genişletmek için satır üzerine tıkla',
'click to check for upgrades': 'güncellemeleri denetlemek için tıklayın',
'code': 'kod',
'collapse/expand all': 'sıkıştır/tümünü aç',
'Comment:': 'Yorum:',
'Commit': 'Öneri',
'Commit form': 'Tarafından öneri',
'Compile': 'Derle',
'compiled application removed': 'derlenmiş uygulama kaldırıldı',
'Condition': 'Durum',
'Controllers': 'Denetçiler',
'controllers': 'denetçiler',
'Count': 'Sayı',
'Create': 'Oluştur',
'create file with filename:': 'dosya adı ile dosya oluştur:',
'create new application:': 'yeni uygulama oluştur:',
'Create new simple application': 'Yeni basit uygulama oluştur',
'Create/Upload': 'Oluştur/Yükle',
'created by': 'yazan:',
'crontab': 'krontab',
'Current request': 'Şimdiki istek',
'Current response': 'Şimdiki yanıt',
'Current session': 'Şimdiki oturum',
'currently running': 'şimdiki çalışan',
'currently saved or': 'şimdiki kaydedilen veya',
'data uploaded': 'veri yüklendi',
'database': 'veritabı',
'database %s select': '%s veritabanı seçildi',
'Database administration': 'Veritabanı yönetimi',
'database administration': 'veritabı yönetimi',
'Date and Time': 'Tarih ve Zaman',
'db': 'db',
'Debug': 'Hata Ayıkla',
'defines tables': 'tablolar tanımlı',
'Delete': 'Sil',
'delete': 'sil',
'delete all checked': 'tüm kontrol edilenleri sil',
'delete plugin': ' eklentiyi sil',
'Delete this file (you will be asked to confirm deletion)': 'Bu dosyayı sil (silmek için onay istenecek)',
'Delete:': 'Sil:',
'deleted after first hit': 'ilk vuruşta silinir',
'Deploy': 'Yayımla',
'Deploy on Google App Engine': 'Google App Motorunda Yayınla',
'Deploy to OpenShift': "OpenShift'e Yayınla ",
'Deployment form': 'Yayınlama formu',
'design': 'tadarla',
'Detailed traceback description': 'Ayrıntılı nedenin bulma tanımı',
'direction: ltr': 'yön: ltr',
'Disable': 'Devre Dışı',
'docs': 'dokümanlar',
'done!': 'bitti!',
'Download .w2p': '.w2p İndir',
'download layouts': 'düzenleri indir',
'download plugins': 'eklentileri indir',
'EDIT': 'DÜZENLE',
'Edit': 'Düzenle',
'edit all': 'tümünü düzenle',
'Edit application': 'Uygulamayı düzenle',
'edit controller': 'denetçiyi düzenle',
'edit controller:': 'denetçiyi düzenle:',
'Edit current record': 'Şimdiki kaydı düzenle',
'edit views:': 'görünümleri düzenle:',
'Editing %s': '%s Düzenleniyor',
'Editing file': 'Dosya düzenleniyor',
'Editing file "%s"': '"%s" dosyası düzenleniyor ',
'Editing Language file': 'Dil dosyası düzenleniyor',
'Enable': 'Etkinleştir',
'enter a valid email address': 'geçerli e-posta adresi girin',
'enter a value': 'bir değer girin',
'enter only letters, numbers, and underscore': 'sadece harf, sayı ve alt çizgi giriniz',
'Enterprise Web Framework': 'Enterprise Web Çatısı',
'Error': 'Hata',
'Error logs for "%(app)s"': '"%(app)s" uygulaması için hata kayıtları',
'Error snapshot': 'Hata resmi',
'Error ticket': 'Hata bileti',
'Errors': 'Hatalar',
'Exception instance attributes': 'Hata durumu özellikleri',
'Exit Fullscreen': 'Tam Ekrandan Çık',
'Expand Abbreviation': 'Kısıtlamayı',
'export as csv file': 'CSV olarak dışa ver',
'exposes': 'sergileniyor',
'exposes:': 'sergile:',
'extends': 'genişlet',
'failed to reload module': 'modül yüklenemedi',
'failed to reload module because:': 'modü yüklenemedi çünkü:',
'File': 'Dosya',
'file "%(filename)s" created': '"%(filename)s" dosyaları oluşturuldu',
'file "%(filename)s" deleted': '"%(filename)s" dosyaları silindi',
'file "%(filename)s" uploaded': '"%(filename)s" dosyaları yüklendi',
'file "%s" of %s restored': '"%s" dosyasının %s kısmı geri alındı',
'file changed on disk': 'dosya disk üzerinde değişti',
'file does not exist': 'dosya bulunamıyor',
'file not found': 'dosya bulanamadı',
'file saved on %(time)s': 'dosyası %(time)s zamanında kaydedildi',
'file saved on %s': 'dosyası kaydedildi: %s',
'Filename': 'Dosya adı',
'filter': 'filtre',
'Find Next': 'Sonrakini Bul',
'Find Previous': 'Öncekini Bul',
'Frames': 'Çerçeveler',
'Functions with no doctests will result in [passed] tests.': '[passed] testlerdeki işlevlerde doctest yok',
'GAE Email': 'GAE E-postası',
'GAE Password': 'GAE Parolası',
'Generate': 'Oluştur',
'Git Pull': 'Git Çek',
'Git Push': 'Git İtele',
'Globals##debug': 'Geneller',
'go!': 'git!',
'Google App Engine Deployment Interface': 'Google App Motoru Yayınlama Arayüzü',
'Google Application Id': 'Google Uygulama Id',
'Goto': 'Git',
'graph model': 'grafik modeli',
'Help': 'Yardım',
'Hide/Show Translated strings': 'Çevrilmiş cümleleri Gizle/Görüntüle',
'Hits': 'Vuruşlar',
'Home': 'Anasayfa',
'honored only if the expression evaluates to true': 'sadece deyim doğru sonucunu verirse',
'htmledit': 'html dğzenleyici',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Doküman testi yapılmadan önce, eğer yukarıdaki rapor bir bilet numarası içeriyorsa bu denetleyici çalıştırılırken bir hata oluşturğunu gösterir. Bu genellikle girinti/çıkıntı (indentation) hatası veya işlev dışındaki bir hatadan kaynaklanır.\nYeşil başlık geçilen tüm testleri (eğer tanımlanmışsa) gösterir. Bu durumda test sonuçları görüntülenmez.',
'Import/Export': 'İçe/Dışa Aktarıcı',
'includes': 'içerir',
'index': 'indeks',
'insert new': 'yeni ekle',
'insert new %s': '%s yeni ekle',
'inspect attributes': 'özellikleri denetleyin',
'Install': 'Kurucu',
'Installed applications': 'Kurulu uygulamalar',
'internal error': 'dahili hata',
'Internal State': 'Dahili Durum',
'Invalid action': 'Geçersiz eylem',
'invalid expression': 'geçersiz ifade',
'invalid password': 'Parola geçersiz',
'invalid password.': 'geçersiz parola.',
'Invalid Query': 'Geçersiz Sorgu',
'invalid request': 'geçersiz istek',
'invalid ticket': 'geçersiz bilet',
'Key bindings': 'Anahtarlar',
'Key bindings for ZenCoding Plugin': 'ZenCoding Eklentisi için anahtarlar',
'language file "%(filename)s" created/updated': '"%(filename)s" dil dosyası/dosyaları güncellendi',
'Language files (static strings) updated': 'Dil dosyası (statik cümleler) güncellendi',
'languages': 'diller',
'Languages': 'Diller',
'Last saved on:': 'Son kaydedilme:',
'License for': 'için lisanslanmış',
'Line Nr': 'Satır Nr',
'Line number': 'Satır numarası',
'lists by exception': 'istisnaya göre sırala',
'lists by ticket': 'bilete göre sırala',
'loading...': 'yükleniyor ...',
'locals': 'yereller',
'Locals##debug': 'Yereller',
'Login': 'Giriş',
'login': 'giriş',
'Login to the Administrative Interface': 'Yönetsel Arayüze Giriş\t',
'Logout': 'Çıkış',
'Manage': 'Yönet',
'merge': 'birleştir',
'Models': 'Modeller',
'models': 'modeller',
'Modules': 'Modüller',
'modules': 'modüller',
'new application "%s" created': 'yeni uygulama "%s" oluşturuldu',
'New Application Wizard': 'Yeni Uygulama Sihirbazı',
'New application wizard': 'Yeni uygulama sihirbazı',
'new plugin installed': 'yeni eklenti kuruldu',
'New Record': 'Yeni Kayıt',
'new record inserted': 'yeni kayıt eklendi',
'New simple application': 'Yeni basit uygulama',
'next 100 rows': 'sonraki 100 satır',
'NO': 'HAYIR',
'No databases in this application': 'Bu uygulamada veritabanı yok',
'No Interaction yet': 'Henüz etkileşim yok',
'no match': 'eşlenen yok',
'no package selected': 'hiç paket seçilmemiş',
'No ticket_storage.txt found under /private folder': '/private dizininde ticket_storage.txt dosyası bulunamadı',
'Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.': 'Not: Eğer github hata kodu 128 durumunu bildiren bir ileti alırsanız, OpenShift hesabınızı ait ssh anahtarının doğru yapılandırıldığından emin olun.',
'online designer': 'çevirimiçi tasarlayıcı',
'Open new app in new window': 'Yeni pencerede yeni uygualama aç',
'OpenShift Deployment Interface': 'OpenShift Yayınlama Arayüzü',
'or alternatively': 'veya seçenek olarak',
'Or Get from URL:': 'Veya şu URL den alın:',
'or import from csv file': 'veya CSV dsoyasından içerin',
'or provide app url:': "veya uygulama URL'si verin:",
'or provide application url:': "veya uygulama URL'si verin:",
'Original/Translation': 'Orjinal / Çeviri',
'Overwrite installed app': 'Kurulu uygulama üzerine yaz',
'Pack all': 'Tümünü paketle',
'Pack compiled': 'Derlenenleri paketle',
'Pack custom': 'Tercihli paketle',
'pack plugin': 'eklentiyi paketle',
'PAM authenticated user, cannot change password here': 'PAM onaylı kullanıcı, parola buradan değiştirilemiyor',
'password changed': 'parola değiştirilidi',
'Path to appcfg.py': 'appcfg.py dosyasının patikası',
'Path to local openshift repo root.': 'Yerel openshift repo kökünün patikası.',
'Peeking at file': 'Dosya gözetleniyor',
'Please': 'Lütfen',
'plugin "%(plugin)s" deleted': '"%(plugin)s" eklentisi silindi',
'Plugin "%s" in application': '"%s" uygulamasında eklenti',
'plugins': 'eklentiler',
'Plugins': 'Eklentiler',
'Plural-Forms:': 'Çoğul-Kipler:',
'Powered by': 'Yazılım Temeli:',
'previous 100 rows': 'önceki 100 satır',
'Private files': 'Özel dosyalar',
'private files': 'özel dosyalar',
'Project Progress': 'Proje İlerlemesi',
'pygraphviz library not found': 'pygraphviz kütüphanesi yok',
'Query:': 'Sorgu: ',
'Rapid Search': 'Hızlı Arama',
'record': 'kayıt',
'record does not exist': 'kayıt bulunamıyor',
'record id': 'kayıt id',
'refresh': 'yeniden yükle',
'Reload routes': 'Yönelendirmeyi yeniden yükle',
'Remove compiled': 'Derlemeyi kaldır',
'Removed Breakpoint on %s at line %s': ' %s üzerindeki kesme noktası %s satırında değiştrildi.',
'Replace': 'Değiştir',
'Replace All': 'Tümünü değiştir',
'request': 'istek',
'requires python-git, but not installed': 'python-git gerekyior, fakat kurulu değil',
'Resolve Conflict file': 'Dosyadaki çakışmayı çöz',
'response': 'tepki',
'restart': 'yeniden başla',
'restore': 'geri al',
'revert': 'geri al',
'Rows in table': 'Tablosundaki satırlar',
'Rows selected': 'Seçilen satırlar',
"Run tests in this file (to run all files, you may also use the button labelled 'test')": "Bu dosyadaki testleri çalıştırır (tüm dosyaları çalıştırmak için, 'test' etiketli düğmeyi kullanabilirsiniz)",
'Running on %s': '%s üzerinde çalışıyor',
'Save': 'Kaydet',
'save': 'kaydet',
'Save file:': 'Dosyayı kaydet:',
'Save file: %s': 'Dosyayı farklı kaydet: %s',
'Save via Ajax': 'Ajax üzerinden kaydet',
'Saved file hash:': 'Kaydedilen dosyanın parmak izi:',
'Select Files to Package': 'Paketlenecek Dosyaları Seç',
'selected': 'seçildi',
'session': 'oturum',
'session expired': 'oturum zamanaşımına uğradı',
'Set Breakpoint on %s at line %s: %s': "%s'nin %s satırındaki kesme noktasını: %s yap",
'shell': 'kabuk',
'Site': 'Site',
'skip to generate': 'oluşturmak için atla',
'some files could not be removed': 'bazı dosyalar kaldırılamadı',
'source : filesystem': 'kaynak : dosyasistemi',
'Start a new app': 'Yeni uygualama başla',
'Start searching': 'Aramaya başla',
'Start wizard': 'Başlatma sihirbazı',
'state': 'durum',
'static': 'statik',
'Static': 'Statik',
'Static files': 'Statik dosyalar',
'Step': 'Basamak',
'Submit': 'Gönder',
'submit': 'gönder',
'successful': 'başarılı',
'Sure you want to delete this object?': 'Bu nesneyi silmek istediğinizden emin misiniz? ',
'switch to : db': 'geç : db',
'table': 'tablo',
'Temporary': 'Geçici',
'test': 'test',
'Testing application': 'Uygulama test ediliyor',
'The "query" is a condition like "db.table1.field1==\'value\'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.': '"sorgulama" "db.table1.field1==\'değer\'" şeklinde bir durumu ifade eder. SQL birleştirmede (JOIN) "db.table1.field1==db.table2.field2" şeklindedir.',
'the application logic, each URL path is mapped in one exposed function in the controller': 'uygulama mantığı: her URL denetleyicideki bir işleve eşlenir',
'The application logic, each URL path is mapped in one exposed function in the controller': 'Uygulama mantığı: her URL denetleyicideki bir işleve eşlenir',
'the data representation, define database tables and sets': 'veri gösterimi, veritabanı tablolarını ve setlerini tanımla',
'The data representation, define database tables and sets': 'Veri gösterimi, veritabanı tablolarını ve setlerini tanımla',
'The presentations layer, views are also known as templates': 'Sunum katmanı, görünümler şablon olarakda biliniyor.',
'the presentations layer, views are also known as templates': 'sunum katmanı, görünümler şablon olarakda biliniyor.',
'There are no controllers': 'Denetçiler yok',
'There are no models': 'Modeller yok',
'There are no modules': 'Modüller yok',
'There are no plugins': 'Eklentiler yok',
'There are no private files': 'Özel dosyalar yok',
'There are no static files': 'Statik dosyalar yok',
'There are no translators, only default language is supported': 'Çeviriler, sadeceön tanmlı dil destekleniyor.',
'There are no views': 'Görünümler yok',
'These files are not served, they are only available from within your app': 'Bu dosyalar servis yapılmıyor, bunlar sadece uygulamanız içerisinden erişilebilir.',
'These files are served without processing, your images go here': 'Bu dosyalarda işlem yapılmadan kaydedildi, resimler buraya gidiyor:',
'these files are served without processing, your images go here': 'bu dosyalarda işlem yapılmadan kaydedildi, resimler buraya gidiyor:',
'This is the %(filename)s template': 'Bu şablonlar %(filename)s: ',
"This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.": "Bu sayfa uygulamanızı OpenShif uygulama reposuna koyar. Uygulamanızın web2py iskeleti ile oluşturulduğunuz ve web2py dosya sisteminizdeki ropoya erişilebileceği varsayılmıştır. Bu işlev web2py'nin çalıştığı ortamda GitPython'e ihtiyaç duyar.",
'This page can upload your application to the Google App Engine computing cloud. Mind that you must first create indexes locally and this is done by installing the Google appserver and running the app locally with it once, or there will be errors when selecting records. Attention: deployment may take long time, depending on the network speed. Attention: it will overwrite your app.yaml. DO NOT SUBMIT TWICE.': 'Bu sayfa uygulamanızı Google App Motoru bilişim bulutuna yükleyecektir. İndeksleri yerel olarak oluştırmanız gerektiğini aklınızda tutun, Google uygulama sunucusunu yerel olarak kurup çalıştırın, aksi halde bazı kayıtlarda hatalar olacaktır. Uyarı: yayınlama ağ hızınıza bağlı olarak uzun zaman alabilir. Uyarı: bu sizin app.yaml dosyasını yeniden yazar. LÜTFEN BİRDEN FAZLA GÖNDERMEYİN.',
'this page to see if a breakpoint was hit and debug interaction is required.': 'bu sayfayı, kesme noktasına geldiğini görmek için ve hata ayıklama etkileşmesi gerekiyor..',
'Ticket': 'Bilet',
'Ticket ID': 'Bile ID\'si',
'TM': 'TM',
'to previous version.': 'önceki sürüme.',
'To create a plugin, name a file/folder plugin_[name]': 'Eklenti oluşturmak için dosyayı dosya/klasör plugin_[isim] şeklinde isimlendir. ',
'To emulate a breakpoint programatically, write:': 'Program ile kesme noktasını öykünmek için, yazın:',
'to use the debugger!': 'hata ayıklayıcısını kullanmak için!',
'toggle breakpoint': 'kesme noktasını değiştir',
'Toggle Fullscreen': 'Tam Ekrana Geç',
'Traceback': 'Nedenin bul',
'translation strings for the application': 'uygulama için çeviri cümleleri',
'Translation strings for the application': 'Uygulama için çeviri cümleleri',
'try': 'dene',
'try something like': 'gibi birşey dene',
'Try the mobile interface': 'Mobil arayüzü dene',
'try view': 'görünümü dene',
'Unable to check for upgrades': 'Güncellemeler denetlenemiyor',
'unable to create application "%s"': '"%s" uygulaması oluşturulamıyor',
'unable to delete file "%(filename)s"': '"%(filename)s" dosylaları silinemiyor',
'unable to delete file plugin "%(plugin)s"': '"%(plugin)s" eklenti dosyasyaları silenemiyor',
'Unable to download': 'İndirilemiyor',
'Unable to download app': 'Uygulamanız indirilemiyor',
'Unable to download app because:': 'Uygulamanız indirilemiyor çünkü:',
'Unable to download because': 'İndirilemiyor çünkü:',
'unable to parse csv file': "impossible d'analyser les fichiers CSV",
'unable to uninstall "%s"': 'kladıramıyor çünkü "%s"',
'unable to upgrade because "%s"': 'güncelleyemiyor çünkü "%s"',
'uncheck all': 'tümünü kladır',
'Uninstall': 'Kaldır',
'update': 'güncelle',
'update all languages': 'tüm delleri yükle',
'Update:': 'Güncelle:',
'upgrade now': 'şimdi güncelle',
'upgrade web2py now': "web2py'yi güncelle",
'upload': 'yükle',
'Upload': 'Yükle',
'Upload & install packed application': 'Paketlenmiş uygulamayı yükle ve kur',
'Upload a package:': 'Paket yükle:',
'Upload and install packed application': 'Paketlenmiş uygulamayı yükle ve kur',
'upload application:': 'uygulamayı yükle:',
'Upload existing application': 'Var olan uygulamayı yükle',
'upload file:': 'dosyayı yükle:',
'upload plugin file:': 'eklenti dosyasını yükle:',
'Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.': 'Karmaşık sorgularda Ve (AND) için (...)&(...) kullanın, Veya (OR) için (...)|(...) kullanın ve DEĞİL (NOT) için ~(...) kullanın. ',
'Use an url:': "Url'yi kullan:",
'user': 'kullanıcı',
'variables': 'değişkenler',
'Version': 'Sürüm',
'versioning': 'sürümleme',
'Versioning': 'Sürümleme',
'view': 'görüntü',
'Views': 'Görüntüler',
'views': 'görüntüler',
'Web Framework': 'Web Çatısı',
'web2py apps to deploy': 'Yayınlanacak web2py uygulaması',
'web2py is up to date': 'web2py güncel',
'web2py online debugger': 'çevirimiçi web2py hata ayıklayıcı',
'web2py Recent Tweets': 'web2py Son Twitler',
'web2py upgraded; please restart it': 'web2py güncellendi, lütfen yeniden başlatın',
'WSGI reference name': 'WSGI referans ismi',
'YES': 'EVET',
'You can also set and remove breakpoint in the edit window, using the Toggle Breakpoint button': '"kesme noktaları" düğmesini kullanarak düzenleme penceresine geçebilir ve kesme nokatalarını hem ekeleyebilir hemde kaldırabilirsiniz',
'You need to set up and reach a': 'Gelinceye kadar kurmalısınız',
}
+47 -7
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'uk',
'!langname!': 'Українська',
@@ -8,12 +8,16 @@
'%s': '%s',
'%s %%{row} deleted': 'Вилучено %s %%{рядок}',
'%s %%{row} updated': 'Вилучено %s %%{рядок}',
'%s Recent Tweets': '%s останніх твітів',
'%s Recent Tweets': '%s %%{останній} %%{твіт}',
'%s students registered': '%s студентів зареєстровано',
'%Y-%m-%d': '%Y/%m/%d',
'%Y-%m-%d %H:%M:%S': '%Y/%m/%d %H:%M:%S',
'(requires internet access)': '(потрібно мати доступ в інтернет)',
'(requires internet access, experimental)': '(потрібно мати доступ в інтернет, експериментально)',
'(something like "it-it")': '(щось схоже на "uk-ua")',
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(не існує файлу **gluon/contrib/plural_rules/%s.py**)',
'@markmin\x01An error occured, please [[reload %s]] the page': 'Сталась помилка, будь-ласка [[переватажте %s]] сторінку',
"@markmin\x01Mercurial Version Control System Interface[[NEWLINE]]for application '%s'": "Інтерфейс системи контролю версій Mercurial[[NEWLINE]]для додатку '%s'",
'@markmin\x01Searching: **%s** %%{file}': 'Знайдено: **%s** %%{файл}',
'Abort': 'Припинити',
'About': 'Про',
@@ -33,10 +37,12 @@
'App does not exist or your are not authorized': 'Додаток не існує, або ви не авторизовані',
'appadmin': 'Aдм.панель',
'appadmin is disabled because insecure channel': "адмін.панель відключено через використання ненадійного каналу зв'язку",
'Application': 'Додаток (Application)',
'application "%s" uninstalled': 'додаток "%s" вилучено',
'application %(appname)s installed with md5sum: %(digest)s': 'додаток %(appname)s встановлено з md5sum: %(digest)s',
'Application cannot be generated in demo mode': 'В демо-режимі генерувати додатки не можна',
'application compiled': 'додаток скомпільовано',
'Application exists already': 'Додаток вже існує',
'application is compiled and cannot be designed': 'додаток скомпільований. налаштування змінювати не можна',
'Application name:': 'Назва додатку:',
'are not used': 'не використовуються',
@@ -52,6 +58,7 @@
'ATTENTION: Login requires a secure (HTTPS) connection or running on localhost.': "УВАГА: Вхід потребує надійного (HTTPS) з'єднання або запуску на локальному комп'ютері.",
'ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.': 'ОБЕРЕЖНО: ТЕСТУВАННЯ НЕ Є ПОТОКО-БЕЗПЕЧНИМ, ТОЖ НЕ ЗАПУСКАЙТЕ ДЕКІЛЬКА ТЕСТІВ ОДНОЧАСНО.',
'ATTENTION: you cannot edit the running application!': 'УВАГА: Ви не можете редагувати додаток, який зараз виконуєте!',
'Autocomplete Python Code': 'Автозавершення коду на Python',
'Available databases and tables': 'Доступні бази даних та таблиці',
'back': '<< назад',
'bad_resource': 'поганий_ресурс',
@@ -72,6 +79,7 @@
'cannot create file': 'не можу створити файл',
'cannot upload file "%(filename)s"': 'не можу завантажити файл "%(filename)s"',
'Change admin password': 'Змінити пароль адміністратора',
'change editor settings': 'змінити налаштування редактора',
'check all': 'відмітити всі',
'Check for upgrades': 'Перевірити оновлення',
'Check to delete': 'Помітити на вилучення',
@@ -86,7 +94,9 @@
'Code listing': 'Лістинг',
'collapse/expand all': 'згорнути/розгорнути все',
'Command': 'Команда',
'Comment:': 'Пояснення:',
'Commit': 'Комміт',
'Commit form': 'Commit form',
'Compile': 'Компілювати',
'compiled application removed': 'скомпільований додаток вилучено',
'Condition': 'Умова',
@@ -100,6 +110,7 @@
'create file with filename:': 'створити файл з назвою:',
'create plural-form': 'створити форму множини',
'Create rules': 'Створити правила',
'Create/Upload': 'Створити/Завантажити',
'created by': 'Автор:',
'Created On': 'Створено в',
'crontab': 'таблиця cron',
@@ -147,8 +158,10 @@
'edit all': 'редагувати всі',
'Edit application': 'Налаштування додатку',
'edit controller': 'редагувати контролер',
'edit controller:': 'редагувати контролер:',
'Edit current record': 'Редагувати поточний запис',
'edit views:': 'редагувати відображення (views):',
'Editing %s': 'Редагується %s',
'Editing file "%s"': 'Редагується файл "%s"',
'Editing Language file': 'Редагується файл перекладу',
'Editing Plural Forms File': 'Редагується файл форм множини',
@@ -159,9 +172,11 @@
'Error snapshot': 'Розгорнутий знімок стану (Error snapshot)',
'Error ticket': 'Позначка (ticket) про помилку',
'Errors': 'Помилки',
'Errors in form, please check it out.': 'Помилка у формі, будь-ласка перевірте її.',
'Exception %(extype)s: %(exvalue)s': 'Виключення %(extype)s: %(exvalue)s',
'Exception %s': 'Виключення %s',
'Exception instance attributes': 'Атрибути примірника класу Exception (виключення)',
'Exit Fullscreen': 'Вийти з повноекранного режиму',
'Expand Abbreviation': 'Розгорнути абревіатуру',
'export as csv file': 'експортувати як файл csv',
'exposes': 'обслуговує',
@@ -182,6 +197,8 @@
'file saved on %s': 'файл збережено в %s',
'Filename': "Ім'я файлу",
'filter': 'фільтр',
'Find Next': 'Шукати наступний',
'Find Previous': 'Шукати попередній',
'Frames': 'Стек викликів',
'Functions with no doctests will result in [passed] tests.': 'Функції, в яких відсутні док-тести відносяться до функцій, які успішно пройшли тести.',
'GAE Email': 'Ел.пошта GAE',
@@ -197,6 +214,7 @@
'Google App Engine Deployment Interface': 'Інтерфейс розгортання Google App Engine',
'Google Application Id': 'Ідентифікатор Google Application',
'Goto': 'Перейти до',
'graph model': 'графова модель',
'Help': 'Допомога',
'Hide/Show Translated strings': 'Сховати/показати ВЖЕ ПЕРЕКЛАДЕНІ рядки',
'Hits': 'Спрацьовувань',
@@ -204,7 +222,7 @@
'honored only if the expression evaluates to true': 'точка зупинки активується тільки за істинності умови',
'If start the downgrade, be patient, it may take a while to rollback': 'Запустивши повернення на попередню версію, будьте терплячими, це може зайняти трохи часу',
'If start the upgrade, be patient, it may take a while to download': 'Запустивши оновлення, будьте терплячими, потрібен час для завантаження необхідних даних',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\nA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Якщо в наданому вище звіті присутня позначка про помилку (ticket number), то це вказує на збій у виконанні контролера ще до початку запуску док-тестів. Це, зазвичай, сигналізує про помилку вирівнювання тексту програми (indention error) або помилку за межами функції (error outside function code). Зелений заголовок сигналізує, що всі тести (з наявних) пройшли успішно. В цьому випадку результат тестів показано не буде.',
'If the report above contains a ticket number it indicates a failure in executing the controller, before any attempt to execute the doctests. This is usually due to an indentation error or an error outside function code.\n\t\tA green title indicates that all tests (if defined) passed. In this case test results are not shown.': 'Якщо в наданому вище звіті присутня позначка про помилку (ticket number), то це вказує на збій у виконанні контролера ще до початку запуску док-тестів. Це, зазвичай, сигналізує про помилку вирівнювання тексту програми (indention error) або помилку за межами функції (error outside function code).\n\t\tЗелений заголовок сигналізує, що всі тести (з наявних) пройшли успішно. В цьому випадку результат тестів показано не буде.',
'Import/Export': 'Імпорт/Експорт',
'In development, use the default Rocket webserver that is currently supported by this debugger.': 'Під час розробки , використовуйте вбудований веб-сервер Rocket, він найкраще налаштований на спільну роботу з інтерактивним ладначем.',
'includes': 'включає',
@@ -241,6 +259,8 @@
'License for': 'Ліцензія додатку',
'Line number': '№ рядка',
'LineNo': '№ рядка',
'lists by exception': 'список виключень (exceptions)',
'lists by ticket': 'список позначок (tickets)',
'loading...': 'завантаження...',
'locals': 'локальні',
'Locals##debug': 'Локальні змінні',
@@ -249,6 +269,7 @@
'Login to the Administrative Interface': 'Вхід в адміністративний інтерфейс',
'Logout': 'Вихід',
'Main Menu': 'Основне меню',
'Manage': 'Керувати',
'Manage Admin Users/Students': 'Адміністратор керування користувачами/студентами',
'Manage Students': 'Керувати студентами',
'Match Pair': 'Знайти пару',
@@ -278,6 +299,7 @@
'No databases in this application': 'Даний додаток не використовує бази даних',
'No Interaction yet': 'Ладнач не активовано',
'no match': 'співпадань нема',
'no package selected': 'пакет не вибрано',
'no permission to uninstall "%s"': 'нема прав на вилучення (uninstall) "%s"',
'No ticket_storage.txt found under /private folder': 'В каталозі /private відсутній файл ticket_storage.txt',
'Not Authorized': 'Не дозволено',
@@ -286,11 +308,14 @@
'online designer': 'дизайнер БД',
'OpenShift Deployment Interface': 'OpenShift: Інтерфейс розгортання',
'OpenShift Output': 'Вивід OpenShift',
'or alternatively': 'або альтернативно',
'Or Get from URL:': 'Або Отримати з мережі (ч/з URL):',
'or import from csv file': 'або імпортувати через csv-файл',
'Original/Translation': 'Оригінал/переклад',
'Overwrite installed app': 'Перезаписати встановлений додаток',
'Pack all': 'Запак.все',
'Pack compiled': 'Запак.компл',
'Pack all': 'Пакувати все',
'Pack compiled': 'Пакувати зкомпільоване',
'Pack custom': 'Пакувати вибране',
'pack plugin': 'запакувати втулку',
'PAM authenticated user, cannot change password here': 'Ввімкнена система ідентифікації користувачів PAM. Для зміни паролю скористайтесь командами вашої ОС ',
'password changed': 'пароль змінено',
@@ -318,13 +343,17 @@
'Query:': 'Запит:',
'RAM Cache Keys': 'Ключ ОЗП-кешу (RAM Cache)',
'Ram Cleared': "Кеш в пам'яті очищено",
'Rapid Search': 'Миттєвий пошук',
'record': 'запис',
'record does not exist': 'запису не існує',
'record id': 'Ід.запису',
'refresh': 'оновіть',
'reload': 'перевантажити',
'Reload routes': 'Перезавантажити маршрути',
'Remove compiled': 'Вилуч.компл',
'Removed Breakpoint on %s at line %s': 'Вилучено точку зупинки у %s в рядку %s',
'Replace': 'Замінити',
'Replace All': 'Замінити все',
'request': 'запит',
'requires python-git, but not installed': 'Для розгортання необхідний пакет python-git, але він не встановлений',
'resolve': "розв'язати",
@@ -345,6 +374,8 @@
'Running on %s': 'Запущено на %s',
'runonce': 'одноразово',
'Save': 'Зберегти',
'Save file:': 'Зберегти файл:',
'Save file: %s': 'Зберегти файл: %s',
'Save via Ajax': 'зберегти через Ajax',
'Saved file hash:': 'Хеш збереженого файлу:',
'search': 'пошук',
@@ -362,8 +393,10 @@
'some files could not be removed': 'деякі файли не можна вилучити',
'Sorry, could not find mercurial installed': 'Не вдалось виявити встановлену систему контролю версій Mercurial',
'Start a new app': 'Створюється новий додаток',
'Start searching': 'Розпочати пошук',
'Start wizard': 'Активувати майстра',
'state': 'стан',
'Static': 'Статичні',
'static': 'статичні',
'Static files': 'Статичні файли',
'Step': 'Крок',
@@ -372,6 +405,7 @@
'submit': 'застосувати',
'Submit': 'Застосувати',
'successful': 'успішно',
'switch to : db': 'перемкнути на : БД',
'table': 'таблиця',
'tags': 'мітки (tags)',
'Temporary': 'Тимчасово',
@@ -387,6 +421,7 @@
'There are no models': 'Моделей, наразі, нема',
'There are no modules': 'Модулів поки що нема',
'There are no plugins': 'Жодної втулки, наразі, не встановлено',
'There are no private files': 'Приватних файлів поки що нема',
'There are no static files': 'Статичних файлів, наразі, нема',
'There are no translators': 'Перекладів нема',
'There are no translators, only default language is supported': 'Перекладів нема, підтримується тільки мова оригіналу',
@@ -405,6 +440,7 @@
'ticket': 'позначка',
'Ticket': 'Позначка (Ticket)',
'Ticket ID': 'Ід.позначки (Ticket ID)',
'Ticket Missing': 'Позначка (ticket) відсутня',
'tickets': 'позначки (tickets)',
'Time in Cache (h:m:s)': 'Час в кеші (г:хв:сек)',
'to previous version.': 'до попередньої версії.',
@@ -412,9 +448,11 @@
'To emulate a breakpoint programatically, write:': 'Для встановлення точки зупинки програмним чином напишіть:',
'to use the debugger!': 'щоб активувати ладнач!',
'toggle breakpoint': '+/- точку зупинки',
'Toggle Fullscreen': 'Перемкнути на весь екран',
'Traceback': 'Стек викликів (Traceback)',
'Translation strings for the application': 'Пари рядків <оригінал>:<переклад> для вибраної мови',
'try something like': 'спробуйте щось схоже на',
'Try the mobile interface': 'Спробуйте мобільний інтерфейс',
'try view': 'дивитись результат',
'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'наберіть тут будь-які команди ладнача PDB і натисніть клавішу [Return] ([Enter]), щоб запустити їх на виконання.',
'Type python statement in here and hit Return (Enter) to execute it.': 'Наберіть тут будь-які вирази Python і натисніть клавішу [Return] ([Enter]), щоб запустити їх на виконання.',
@@ -442,8 +480,10 @@
'Update:': 'Поновити:',
'Upgrade': 'Оновити',
'upgrade now': 'оновитись зараз',
'upgrade now to %s': 'оновити зараз до %s',
'upgrade_web2py': 'оновити web2py',
'upload': 'завантажити',
'Upload': 'Завантажити',
'Upload a package:': 'Завантажити пакет:',
'Upload and install packed application': 'Завантажити та встановити запакований додаток',
'upload file:': 'завантажити файл:',
@@ -460,7 +500,7 @@
'Views': 'Відображення (Views)',
'views': 'відображення',
'WARNING:': 'ПОПЕРЕДЖЕННЯ:',
'Web Framework': 'Web Framework',
'Web Framework': 'Веб-каркас (Web Framework)',
'web2py apps to deploy': 'Готові до розгортання додатки web2py',
'web2py Debugger': 'Ладнач web2py',
'web2py downgrade': 'повернення на попередню версію web2py',
@@ -477,5 +517,5 @@
'you must specify a name for the uploaded application': "ви повинні вказати ім'я додатка, перед ти, як завантажити його",
'You need to set up and reach a': 'Треба встановити та досягнути',
'Your application will be blocked until you click an action button (next, step, continue, etc.)': 'Ваш додаток буде заблоковано, поки ви не клацнете по одній з кнопок керування ("наступний", "крок", "продовжити", та ін.)',
'Your can inspect variables using the console bellow': 'Ви можете досліджувати змінні, використовуючи інтерактивну консоль',
'You can inspect variables using the console bellow': 'Ви можете досліджувати змінні, використовуючи інтерактивну консоль',
}
+1 -1
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'zh-tw',
'!langname!': '台灣中文',
+1 -1
View File
@@ -1,4 +1,4 @@
# coding: utf8
# -*- coding: utf-8 -*-
{
'!langcode!': 'zh-cn',
'!langname!': '中文',
+8 -38
View File
@@ -1,46 +1,13 @@
EXPIRATION = 60 * 60 # logout after 60 minutes of inactivity
CHECK_VERSION = True
WEB2PY_URL = 'http://web2py.com'
WEB2PY_VERSION_URL = WEB2PY_URL+'/examples/default/version'
WEB2PY_VERSION_URL = WEB2PY_URL + '/examples/default/version'
###########################################################################
# Preferences for EditArea
# the user-interface feature that allows you to edit files in your web
# browser.
## Default editor
TEXT_EDITOR = 'ace' or 'edit_area' or 'amy'
## Editor Color scheme (only for ace)
TEXT_EDITOR_THEME = (
"chrome", "clouds", "clouds_midnight", "cobalt", "crimson_editor", "dawn",
"dreamweaver", "eclipse", "idle_fingers", "kr_theme", "merbivore",
"merbivore_soft", "monokai", "mono_industrial", "pastel_on_dark",
"solarized_dark", "solarized_light", "textmate", "tomorrow",
"tomorrow_night", "tomorrow_night_blue", "tomorrow_night_bright",
"tomorrow_night_eighties", "twilight", "vibrant_ink")[0]
## Editor Keyboard bindings (only for ace)
TEXT_EDITOR_KEYBINDING = '' #'emacs' or 'vi'
### edit_area
# The default font size, measured in 'points'. The value must be an integer > 0
FONT_SIZE = 10
# Displays the editor in full screen mode. The value must be 'true' or 'false'
FULL_SCREEN = 'false'
# Display a check box under the editor to allow the user to switch
# between the editor and a simple
# HTML text area. The value must be 'true' or 'false'
ALLOW_TOGGLE = 'true'
# Replaces tab characters with space characters.
# The value can be 'false' (meaning that tabs are not replaced),
# or an integer > 0 that specifies the number of spaces to replace a tab with.
REPLACE_TAB_BY_SPACES = 4
# Toggle on/off the code editor instead of textarea on startup
DISPLAY = "onload" or "later"
# if demo mode is True then admin works readonly and does not require login
DEMO_MODE = False
@@ -57,9 +24,9 @@ GAE_APPCFG = os.path.abspath(os.path.join('/usr/local/bin/appcfg.py'))
# To use web2py as a teaching tool, set MULTI_USER_MODE to True
MULTI_USER_MODE = False
EMAIL_SERVER = 'localhost'
EMAIL_SENDER = 'professor@example.com'
EMAIL_LOGIN = None
EMAIL_SERVER = 'localhost'
EMAIL_SENDER = 'professor@example.com'
EMAIL_LOGIN = None
# configurable twitterbox, set to None/False to suppress
TWITTER_HASH = "web2py"
@@ -77,4 +44,7 @@ PLUGINS_APP = 'http://web2py.com/plugins'
if 'adminLanguage' in request.cookies and not (request.cookies['adminLanguage'] is None):
T.force(request.cookies['adminLanguage'].value)
#set static_version
from gluon.settings import global_settings
response.static_version = global_settings.web2py_version.split('-')[0]
response.static_version_urls = True
-2
View File
@@ -28,5 +28,3 @@ from gluon.languages import findT, update_all_languages
from gluon.myregex import *
from gluon.restricted import *
from gluon.compileapp import compile_application, remove_compiled_application
+47 -22
View File
@@ -1,4 +1,6 @@
import base64, os, time
import base64
import os
import time
from gluon import portalocker
from gluon.admin import apath
from gluon.fileutils import read_file
@@ -6,6 +8,7 @@ from gluon.fileutils import read_file
# ## make sure administrator is on localhost or https
# ###########################################################
http_host = request.env.http_host.split(':')[0]
if request.env.web2py_runtime_gae:
@@ -16,7 +19,7 @@ if request.env.web2py_runtime_gae:
else:
is_gae = False
if request.env.http_x_forwarded_for or request.is_https:
if request.is_https:
session.secure()
elif not request.is_local and not DEMO_MODE:
raise HTTP(200, T('Admin is disabled because insecure channel'))
@@ -24,7 +27,8 @@ elif not request.is_local and not DEMO_MODE:
try:
_config = {}
port = int(request.env.server_port or 0)
restricted(read_file(apath('../parameters_%i.py' % port, request)), _config)
restricted(
read_file(apath('../parameters_%i.py' % port, request)), _config)
if not 'password' in _config or not _config['password']:
raise HTTP(200, T('admin disabled because no admin password'))
@@ -38,19 +42,20 @@ except IOError:
raise HTTP(200,
T('admin disabled because not supported on google app engine'))
else:
raise HTTP(200, T('admin disabled because unable to access password file'))
raise HTTP(
200, T('admin disabled because unable to access password file'))
def verify_password(password):
session.pam_user = None
if DEMO_MODE:
return True
elif not 'password' in _config:
elif not _config.get('password'):
return False
elif _config['password'].startswith('pam_user:'):
session.pam_user = _config['password'][9:].strip()
import gluon.contrib.pam
return gluon.contrib.pam.authenticate(session.pam_user,password)
return gluon.contrib.pam.authenticate(session.pam_user, password)
else:
return _config['password'] == CRYPT()(password)[0]
@@ -63,6 +68,7 @@ deny_file = os.path.join(request.folder, 'private', 'hosts.deny')
allowed_number_of_attempts = 5
expiration_failed_logins = 3600
def read_hosts_deny():
import datetime
hosts = {}
@@ -75,7 +81,7 @@ def read_hosts_deny():
continue
fields = line.strip().split()
if len(fields) > 2:
hosts[fields[0].strip()] = ( # ip
hosts[fields[0].strip()] = ( # ip
int(fields[1].strip()), # n attemps
int(fields[2].strip()) # last attempts
)
@@ -83,28 +89,30 @@ def read_hosts_deny():
f.close()
return hosts
def write_hosts_deny(denied_hosts):
f = open(deny_file, 'w')
portalocker.lock(f, portalocker.LOCK_EX)
for key, val in denied_hosts.items():
if time.time()-val[1] < expiration_failed_logins:
if time.time() - val[1] < expiration_failed_logins:
line = '%s %s %s\n' % (key, val[0], val[1])
f.write(line)
portalocker.unlock(f)
f.close()
def login_record(success=True):
denied_hosts = read_hosts_deny()
val = (0,0)
val = (0, 0)
if success and request.client in denied_hosts:
del denied_hosts[request.client]
elif not success and not request.is_local:
val = denied_hosts.get(request.client,(0,0))
if time.time()-val[1]<expiration_failed_logins \
val = denied_hosts.get(request.client, (0, 0))
if time.time() - val[1] < expiration_failed_logins \
and val[0] >= allowed_number_of_attempts:
return val[0] # locked out
time.sleep(2**val[0])
val = (val[0]+1,int(time.time()))
return val[0] # locked out
time.sleep(2 ** val[0])
val = (val[0] + 1, int(time.time()))
denied_hosts[request.client] = val
write_hosts_deny(denied_hosts)
return val[0]
@@ -123,17 +131,36 @@ if session.authorized:
else:
session.last_time = t0
if request.vars.is_mobile in ('true', 'false', 'auto'):
session.is_mobile = request.vars.is_mobile or 'auto'
if request.controller == 'default' and request.function == 'index':
if not request.vars.is_mobile:
session.is_mobile = 'auto'
if not session.is_mobile:
session.is_mobile = 'auto'
if session.is_mobile == 'true':
is_mobile = True
elif session.is_mobile == 'false':
is_mobile = False
else:
is_mobile = request.user_agent().get('is_mobile',False)
if DEMO_MODE:
session.authorized = True
session.forget()
if request.controller == "webservices":
basic = request.env.http_authorization
if not basic or not basic[:6].lower() == 'basic ':
raise HTTP(401,"Wrong credentials")
raise HTTP(401, "Wrong credentials")
(username, password) = base64.b64decode(basic[6:]).split(':')
if not verify_password(password) or MULTI_USER_MODE:
time.sleep(10)
raise HTTP(403,"Not authorized")
raise HTTP(403, "Not authorized")
elif not session.authorized and not \
(request.controller == 'default' and \
request.function in ('index','user')):
(request.controller + '/' + request.function in
('default/index', 'default/user', 'plugin_jqmobile/index', 'plugin_jqmobile/about')):
if request.env.query_string:
query_string = '?' + request.env.query_string
@@ -150,8 +177,6 @@ elif session.authorized and \
request.function == 'index':
redirect(URL(request.application, 'default', 'site'))
if request.controller=='appadmin' and DEMO_MODE:
if request.controller == 'appadmin' and DEMO_MODE:
session.flash = 'Appadmin disabled in demo mode'
redirect(URL('default','sites'))
redirect(URL('default', 'sites'))
+16 -14
View File
@@ -2,37 +2,39 @@
import os
def A_button(*a,**b):
def A_button(*a, **b):
b['_data-role'] = 'button'
b['_data-inline'] = 'true'
return A(*a,**b)
return A(*a, **b)
def button(href, label):
if request.user_agent().is_mobile:
if is_mobile:
ret = A_button(SPAN(label), _href=href)
else:
ret = A(SPAN(label),_class='button',_href=href)
ret = A(SPAN(label), _class='button btn', _href=href)
return ret
def button_enable(href, app):
if os.path.exists(os.path.join(apath(app,r=request),'DISABLED')):
label = SPAN(T('Enable'),_style='color:red')
if os.path.exists(os.path.join(apath(app, r=request), 'DISABLED')):
label = SPAN(T('Enable'), _style='color:red')
else:
label = SPAN(T('Disable'),_style='color:green')
id = 'enable_'+app
return A(label,_class='button',_id=id,callback=href,target=id)
label = SPAN(T('Disable'), _style='color:green')
id = 'enable_' + app
return A(label, _class='button btn', _id=id, callback=href, target=id)
def sp_button(href, label):
if request.user_agent().is_mobile:
if request.user_agent().get('is_mobile'):
ret = A_button(SPAN(label), _href=href)
else:
ret = A(SPAN(label),_class='button special',_href=href)
ret = A(SPAN(label), _class='button special btn btn-inverse', _href=href)
return ret
def helpicon():
return IMG(_src=URL('static', 'images/help.png'), _alt='help')
def searchbox(elementid):
return TAG[''](LABEL(IMG(_id="search_start",_src=URL('static', 'images/search.png'), _alt=T('filter')), _class='icon', _for=elementid), ' ', INPUT(_id=elementid, _type='text', _size=12))
return SPAN(LABEL(IMG(_id="search_start", _src=URL('static', 'images/search.png'), _alt=T('filter')),
_class='icon', _for=elementid), ' ',
INPUT(_id=elementid, _type='text', _size=12, _class="input-medium"),
_class="searchbox")
+14 -12
View File
@@ -4,37 +4,39 @@
if MULTI_USER_MODE:
db = DAL('sqlite://storage.sqlite') # if not, use SQLite or other DB
from gluon.tools import *
auth = Auth(globals(),db) # authentication/authorization
crud = Crud(globals(),db) # for CRUD helpers using auth
service = Service(globals()) # for json, xml, jsonrpc, xmlrpc, amfrpc
auth = Auth(
globals(), db) # authentication/authorization
crud = Crud(
globals(), db) # for CRUD helpers using auth
service = Service(
globals()) # for json, xml, jsonrpc, xmlrpc, amfrpc
plugins = PluginManager()
mail = auth.settings.mailer
mail.settings.server = EMAIL_SERVER
mail.settings.sender = EMAIL_SENDER
mail.settings.login = EMAIL_LOGIN
mail.settings.login = EMAIL_LOGIN
auth.settings.extra_fields['auth_user'] = \
[Field('is_manager','boolean',default=False,writable=False)]
[Field('is_manager', 'boolean', default=False, writable=False)]
auth.define_tables() # creates all needed tables
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = True
auth.settings.reset_password_requires_verification = True
db.define_table('app',Field('name'),Field('owner',db.auth_user))
db.define_table('app', Field('name'), Field('owner', db.auth_user))
if not session.authorized and MULTI_USER_MODE:
if auth.user and not request.function=='user':
if auth.user and not request.function == 'user':
session.authorized = True
elif not request.function=='user':
redirect(URL('default','user/login'))
elif not request.function == 'user':
redirect(URL('default', 'user/login'))
def is_manager():
if not MULTI_USER_MODE:
return True
elif auth.user and (auth.user.id==1 or auth.user.is_manager):
elif auth.user and (auth.user.id == 1 or auth.user.is_manager):
return True
else:
return False
+14 -15
View File
@@ -7,31 +7,30 @@ _c = request.controller
_f = request.function
response.title = '%s %s' % (_f, '/'.join(request.args))
response.subtitle = 'admin'
response.menu = [(T('Site'), _f == 'site', URL(_a,'default','site'))]
response.menu = [(T('Site'), _f == 'site', URL(_a, 'default', 'site'))]
if request.vars.app or request.args:
_t = request.vars.app or request.args[0]
response.menu.append((T('Edit'), _c == 'default' and _f == 'design',
URL(_a,'default','design',args=_t)))
URL(_a, 'default', 'design', args=_t)))
response.menu.append((T('About'), _c == 'default' and _f == 'about',
URL(_a,'default','about',args=_t,)))
URL(_a, 'default', 'about', args=_t,)))
response.menu.append((T('Errors'), _c == 'default' and _f == 'errors',
URL(_a,'default','errors',args=_t)))
URL(_a, 'default', 'errors', args=_t)))
response.menu.append((T('Versioning'),
_c == 'mercurial' and _f == 'commit',
URL(_a,'mercurial','commit',args=_t)))
URL(_a, 'mercurial', 'commit', args=_t)))
if os.path.exists('applications/examples'):
response.menu.append(
(T('Help'), False, URL('examples', 'default', 'documentation')))
else:
response.menu.append((T('Help'), False, 'http://web2py.com/examples/default/documentation'))
if not session.authorized:
response.menu = [(T('Login'), True, URL('site'))]
else:
response.menu.append((T('Logout'), False,
URL(_a,'default',f='logout')))
response.menu.append((T('Debug'), False,
URL(_a, 'debug','interact')))
if os.path.exists('applications/examples'):
response.menu.append((T('Help'), False, URL('examples','default','index')))
else:
response.menu.append((T('Help'), False, 'http://web2py.com/examples'))
URL(_a, 'default', f='logout')))
response.menu.append((T('Debug'), False,
URL(_a, 'debug', 'interact')))
@@ -1,6 +1,4 @@
response.files.append(URL('static','plugin_multiselect/jquery.dimensions.js'))
response.files.append(URL('static','plugin_multiselect/jquery.multiselect.js'))
response.files.append(URL('static','plugin_multiselect/jquery.multiselect.css'))
response.files.append(URL('static','plugin_multiselect/start.js'))
response.files.append(
URL('static', 'plugin_multiselect/jquery.multi-select.js'))
response.files.append(URL('static', 'plugin_multiselect/multi-select.css'))
response.files.append(URL('static', 'plugin_multiselect/start.js'))
@@ -0,0 +1,16 @@
response.files.append(URL('static','plugin_statebutton/js/bootstrap-switch.js'))
response.files.append(URL('static','plugin_statebutton/css/bootstrap-switch.css'))
def stateWidget(field, value, data={'on-label':'Enabled', 'off-label':'Disabled', 'on':"primary", 'off':"default" }):
try:
fieldName = str(field).split('.')[1]
except:
fieldName = field
div = DIV(INPUT( _type='checkbox', _name='%s' % fieldName, _checked= 'checked' if value == 'true' else None, _value='true'),
_class='make-bootstrap-switch',
data=data)
script = SCRIPT("""
jQuery(".make-bootstrap-switch input[name='%s']").parent().bootstrapSwitch();
""" % fieldName)
return DIV(div, script)
-1
View File
@@ -1,2 +1 @@
+10
View File
@@ -0,0 +1,10 @@
[DEFAULT]
[editor]
theme = web2py
editor = default
closetag = true
[editor_sessions]
welcome = welcome/models/db.py,welcome/controllers/default.py,welcome/views/default/index.html
-116
View File
@@ -1,116 +0,0 @@
2011.08.02, Version 0.2.0
* Split view (Julian Viereck)
- split editor area horizontally or vertivally to show two files at the same
time
* Code Folding (Julian Viereck)
- Unstructured code folding
- Will be the basis for language aware folding
* Mode behaviours (Chris Spencer)
- Adds mode specific hooks which allow transformations of entered text
- Autoclosing of braces, paranthesis and quotation marks in C style modes
- Autoclosing of angular brackets in XML style modes
* New language modes
- Clojure (Carin Meier)
- C# (Rob Conery)
- Groovy (Ben Tilford)
- Scala (Ben Tilford)
- JSON
- OCaml (Sergi Mansilla)
- Perl (Panagiotis Astithas)
- SCSS/SASS (Andreas Madsen)
- SVG
- Textile (Kelley van Evert)
- SCAD (Jacob Hansson)
* Live syntax checks
- Lint for Css using CSS Lint <http://csslint.net/>
- CoffeeScript
* New Themes
- Crimson Editor (iebuggy)
- Merbivore (Michael Schwartz)
- Merbivore soft (Michael Schwartz)
- Solarized dark/light <http://ethanschoonover.com/solarized> (David Alan
Hjelle)
- Vibrant Ink (Michael Schwartz)
* Small Features/Enhancements
- Lots of render performance optimizations (Harutyun Amirjanyan)
- Improved Ruby highlighting (Chris Wanstrath, Trent Ogren)
- Improved PHP highlighting (Thomas Hruska)
- Improved CSS highlighting (Sean Kellogg)
- Clicks which cause the editor to be focused don't reset the selection
- Make padding text layer specific so that print margin and active line
highlight are not affected (Irakli Gozalishvili)
- Added setFontSize method
- Improved vi keybindings (Trent Ogren)
- When unfocused make cursor transparent instead of removing it (Harutyun
Amirjanyan)
- Support for matching groups in tokenizer with arrays of tokens (Chris
Spencer)
* Bug fixes
- Add support for the new OSX scroll bars
- Properly highlight JavaScript regexp literals
- Proper handling of unicode characters in JavaScript identifiers
- Fix remove lines command on last line (Harutyun Amirjanyan)
- Fix scroll wheel sluggishness in Safari
- Make keyboard infrastructure route keys like []^$ the right way (Julian
Viereck)
2011.02.14, Version 0.1.6
* Floating Anchors
- An Anchor is a floating pointer in the document.
- Whenever text is inserted or deleted before the cursor, the position of
the cursor is updated
- Usesd for the cursor and selection
- Basis for bookmarks, multiple cursors and snippets in the future
* Extensive support for Cocoa style keybindings on the Mac <https://github.com/ajaxorg/ace/issues/closed#issue/116/comment/767803>
* New commands:
- center selection in viewport
- remove to end/start of line
- split line
- transpose letters
* Refator markers
- Custom code can be used to render markers
- Markers can be in front or behind the text
- Markers are now stored in the session (was in the renderer)
* Lots of IE8 fixes including copy, cut and selections
* Unit tests can also be run in the browser
<https://github.com/ajaxorg/ace/blob/master/lib/ace/test/tests.html>
* Soft wrap can adapt to the width of the editor (Mike Ratcliffe, Joe Cheng)
* Add minimal node server server.js to run the Ace demo in Chrome
* The top level editor.html demo has been renamed to index.html
* Bug fixes
- Fixed gotoLine to consider wrapped lines when calculating where to scroll to (James Allen)
- Fixed isues when the editor was scrolled in the web page (Eric Allam)
- Highlighting of Python string literals
- Syntax rule for PHP comments
2011.02.08, Version 0.1.5
* Add Coffeescript Mode (Satoshi Murakami)
* Fix word wrap bug (Julian Viereck)
* Fix packaged version of the Eclipse mode
* Loading of workers is more robust
* Fix "click selection"
* Allow tokizing empty lines (Daniel Krech)
* Make PageUp/Down behavior more consistent with native OS (Joe Cheng)
2011.02.04, Version 0.1.4
* Add C/C++ mode contributed by Gastón Kleiman
* Fix exception in key input
2011.02.04, Version 0.1.3
* Let the packaged version play nice with requireJS
* Add Ruby mode contributed by Shlomo Zalman Heigh
* Add Java mode contributed by Tom Tasche
* Fix annotation bug
* Changing a document added a new empty line at the end
-476
View File
@@ -1,476 +0,0 @@
Licensed under the tri-license MPL/LGPL/GPL.
MOZILLA PUBLIC LICENSE
Version 1.1
---------------
1. Definitions.
1.0.1. "Commercial Use" means distribution or otherwise making the
Covered Code available to a third party.
1.1. "Contributor" means each entity that creates or contributes to
the creation of Modifications.
1.2. "Contributor Version" means the combination of the Original
Code, prior Modifications used by a Contributor, and the Modifications
made by that particular Contributor.
1.3. "Covered Code" means the Original Code or Modifications or the
combination of the Original Code and Modifications, in each case
including portions thereof.
1.4. "Electronic Distribution Mechanism" means a mechanism generally
accepted in the software development community for the electronic
transfer of data.
1.5. "Executable" means Covered Code in any form other than Source
Code.
1.6. "Initial Developer" means the individual or entity identified
as the Initial Developer in the Source Code notice required by Exhibit
A.
1.7. "Larger Work" means a work which combines Covered Code or
portions thereof with code not governed by the terms of this License.
1.8. "License" means this document.
1.8.1. "Licensable" means having the right to grant, to the maximum
extent possible, whether at the time of the initial grant or
subsequently acquired, any and all of the rights conveyed herein.
1.9. "Modifications" means any addition to or deletion from the
substance or structure of either the Original Code or any previous
Modifications. When Covered Code is released as a series of files, a
Modification is:
A. Any addition to or deletion from the contents of a file
containing Original Code or previous Modifications.
B. Any new file that contains any part of the Original Code or
previous Modifications.
1.10. "Original Code" means Source Code of computer software code
which is described in the Source Code notice required by Exhibit A as
Original Code, and which, at the time of its release under this
License is not already Covered Code governed by this License.
1.10.1. "Patent Claims" means any patent claim(s), now owned or
hereafter acquired, including without limitation, method, process,
and apparatus claims, in any patent Licensable by grantor.
1.11. "Source Code" means the preferred form of the Covered Code for
making modifications to it, including all modules it contains, plus
any associated interface definition files, scripts used to control
compilation and installation of an Executable, or source code
differential comparisons against either the Original Code or another
well known, available Covered Code of the Contributor's choice. The
Source Code can be in a compressed or archival form, provided the
appropriate decompression or de-archiving software is widely available
for no charge.
1.12. "You" (or "Your") means an individual or a legal entity
exercising rights under, and complying with all of the terms of, this
License or a future version of this License issued under Section 6.1.
For legal entities, "You" includes any entity which controls, is
controlled by, or is under common control with You. For purposes of
this definition, "control" means (a) the power, direct or indirect,
to cause the direction or management of such entity, whether by
contract or otherwise, or (b) ownership of more than fifty percent
(50%) of the outstanding shares or beneficial ownership of such
entity.
2. Source Code License.
2.1. The Initial Developer Grant.
The Initial Developer hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:
(a) under intellectual property rights (other than patent or
trademark) Licensable by Initial Developer to use, reproduce,
modify, display, perform, sublicense and distribute the Original
Code (or portions thereof) with or without Modifications, and/or
as part of a Larger Work; and
(b) under Patents Claims infringed by the making, using or
selling of Original Code, to make, have made, use, practice,
sell, and offer for sale, and/or otherwise dispose of the
Original Code (or portions thereof).
(c) the licenses granted in this Section 2.1(a) and (b) are
effective on the date Initial Developer first distributes
Original Code under the terms of this License.
(d) Notwithstanding Section 2.1(b) above, no patent license is
granted: 1) for code that You delete from the Original Code; 2)
separate from the Original Code; or 3) for infringements caused
by: i) the modification of the Original Code or ii) the
combination of the Original Code with other software or devices.
2.2. Contributor Grant.
Subject to third party intellectual property claims, each Contributor
hereby grants You a world-wide, royalty-free, non-exclusive license
(a) under intellectual property rights (other than patent or
trademark) Licensable by Contributor, to use, reproduce, modify,
display, perform, sublicense and distribute the Modifications
created by such Contributor (or portions thereof) either on an
unmodified basis, with other Modifications, as Covered Code
and/or as part of a Larger Work; and
(b) under Patent Claims infringed by the making, using, or
selling of Modifications made by that Contributor either alone
and/or in combination with its Contributor Version (or portions
of such combination), to make, use, sell, offer for sale, have
made, and/or otherwise dispose of: 1) Modifications made by that
Contributor (or portions thereof); and 2) the combination of
Modifications made by that Contributor with its Contributor
Version (or portions of such combination).
(c) the licenses granted in Sections 2.2(a) and 2.2(b) are
effective on the date Contributor first makes Commercial Use of
the Covered Code.
(d) Notwithstanding Section 2.2(b) above, no patent license is
granted: 1) for any code that Contributor has deleted from the
Contributor Version; 2) separate from the Contributor Version;
3) for infringements caused by: i) third party modifications of
Contributor Version or ii) the combination of Modifications made
by that Contributor with other software (except as part of the
Contributor Version) or other devices; or 4) under Patent Claims
infringed by Covered Code in the absence of Modifications made by
that Contributor.
3. Distribution Obligations.
3.1. Application of License.
The Modifications which You create or to which You contribute are
governed by the terms of this License, including without limitation
Section 2.2. The Source Code version of Covered Code may be
distributed only under the terms of this License or a future version
of this License released under Section 6.1, and You must include a
copy of this License with every copy of the Source Code You
distribute. You may not offer or impose any terms on any Source Code
version that alters or restricts the applicable version of this
License or the recipients' rights hereunder. However, You may include
an additional document offering the additional rights described in
Section 3.5.
3.2. Availability of Source Code.
Any Modification which You create or to which You contribute must be
made available in Source Code form under the terms of this License
either on the same media as an Executable version or via an accepted
Electronic Distribution Mechanism to anyone to whom you made an
Executable version available; and if made available via Electronic
Distribution Mechanism, must remain available for at least twelve (12)
months after the date it initially became available, or at least six
(6) months after a subsequent version of that particular Modification
has been made available to such recipients. You are responsible for
ensuring that the Source Code version remains available even if the
Electronic Distribution Mechanism is maintained by a third party.
3.3. Description of Modifications.
You must cause all Covered Code to which You contribute to contain a
file documenting the changes You made to create that Covered Code and
the date of any change. You must include a prominent statement that
the Modification is derived, directly or indirectly, from Original
Code provided by the Initial Developer and including the name of the
Initial Developer in (a) the Source Code, and (b) in any notice in an
Executable version or related documentation in which You describe the
origin or ownership of the Covered Code.
3.4. Intellectual Property Matters
(a) Third Party Claims.
If Contributor has knowledge that a license under a third party's
intellectual property rights is required to exercise the rights
granted by such Contributor under Sections 2.1 or 2.2,
Contributor must include a text file with the Source Code
distribution titled "LEGAL" which describes the claim and the
party making the claim in sufficient detail that a recipient will
know whom to contact. If Contributor obtains such knowledge after
the Modification is made available as described in Section 3.2,
Contributor shall promptly modify the LEGAL file in all copies
Contributor makes available thereafter and shall take other steps
(such as notifying appropriate mailing lists or newsgroups)
reasonably calculated to inform those who received the Covered
Code that new knowledge has been obtained.
(b) Contributor APIs.
If Contributor's Modifications include an application programming
interface and Contributor has knowledge of patent licenses which
are reasonably necessary to implement that API, Contributor must
also include this information in the LEGAL file.
(c) Representations.
Contributor represents that, except as disclosed pursuant to
Section 3.4(a) above, Contributor believes that Contributor's
Modifications are Contributor's original creation(s) and/or
Contributor has sufficient rights to grant the rights conveyed by
this License.
3.5. Required Notices.
You must duplicate the notice in Exhibit A in each file of the Source
Code. If it is not possible to put such notice in a particular Source
Code file due to its structure, then You must include such notice in a
location (such as a relevant directory) where a user would be likely
to look for such a notice. If You created one or more Modification(s)
You may add your name as a Contributor to the notice described in
Exhibit A. You must also duplicate this License in any documentation
for the Source Code where You describe recipients' rights or ownership
rights relating to Covered Code. You may choose to offer, and to
charge a fee for, warranty, support, indemnity or liability
obligations to one or more recipients of Covered Code. However, You
may do so only on Your own behalf, and not on behalf of the Initial
Developer or any Contributor. You must make it absolutely clear than
any such warranty, support, indemnity or liability obligation is
offered by You alone, and You hereby agree to indemnify the Initial
Developer and every Contributor for any liability incurred by the
Initial Developer or such Contributor as a result of warranty,
support, indemnity or liability terms You offer.
3.6. Distribution of Executable Versions.
You may distribute Covered Code in Executable form only if the
requirements of Section 3.1-3.5 have been met for that Covered Code,
and if You include a notice stating that the Source Code version of
the Covered Code is available under the terms of this License,
including a description of how and where You have fulfilled the
obligations of Section 3.2. The notice must be conspicuously included
in any notice in an Executable version, related documentation or
collateral in which You describe recipients' rights relating to the
Covered Code. You may distribute the Executable version of Covered
Code or ownership rights under a license of Your choice, which may
contain terms different from this License, provided that You are in
compliance with the terms of this License and that the license for the
Executable version does not attempt to limit or alter the recipient's
rights in the Source Code version from the rights set forth in this
License. If You distribute the Executable version under a different
license You must make it absolutely clear that any terms which differ
from this License are offered by You alone, not by the Initial
Developer or any Contributor. You hereby agree to indemnify the
Initial Developer and every Contributor for any liability incurred by
the Initial Developer or such Contributor as a result of any such
terms You offer.
3.7. Larger Works.
You may create a Larger Work by combining Covered Code with other code
not governed by the terms of this License and distribute the Larger
Work as a single product. In such a case, You must make sure the
requirements of this License are fulfilled for the Covered Code.
4. Inability to Comply Due to Statute or Regulation.
If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Code due to
statute, judicial order, or regulation then You must: (a) comply with
the terms of this License to the maximum extent possible; and (b)
describe the limitations and the code they affect. Such description
must be included in the LEGAL file described in Section 3.4 and must
be included with all distributions of the Source Code. Except to the
extent prohibited by statute or regulation, such description must be
sufficiently detailed for a recipient of ordinary skill to be able to
understand it.
5. Application of this License.
This License applies to code to which the Initial Developer has
attached the notice in Exhibit A and to related Covered Code.
6. Versions of the License.
6.1. New Versions.
Netscape Communications Corporation ("Netscape") may publish revised
and/or new versions of the License from time to time. Each version
will be given a distinguishing version number.
6.2. Effect of New Versions.
Once Covered Code has been published under a particular version of the
License, You may always continue to use it under the terms of that
version. You may also choose to use such Covered Code under the terms
of any subsequent version of the License published by Netscape. No one
other than Netscape has the right to modify the terms applicable to
Covered Code created under this License.
6.3. Derivative Works.
If You create or use a modified version of this License (which you may
only do in order to apply it to code which is not already Covered Code
governed by this License), You must (a) rename Your license so that
the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
"MPL", "NPL" or any confusingly similar phrase do not appear in your
license (except to note that your license differs from this License)
and (b) otherwise make it clear that Your version of the license
contains terms which differ from the Mozilla Public License and
Netscape Public License. (Filling in the name of the Initial
Developer, Original Code or Contributor in the notice described in
Exhibit A shall not of themselves be deemed to be modifications of
this License.)
7. DISCLAIMER OF WARRANTY.
COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
8. TERMINATION.
8.1. This License and the rights granted hereunder will terminate
automatically if You fail to comply with terms herein and fail to cure
such breach within 30 days of becoming aware of the breach. All
sublicenses to the Covered Code which are properly granted shall
survive any termination of this License. Provisions which, by their
nature, must remain in effect beyond the termination of this License
shall survive.
8.2. If You initiate litigation by asserting a patent infringement
claim (excluding declatory judgment actions) against Initial Developer
or a Contributor (the Initial Developer or Contributor against whom
You file such action is referred to as "Participant") alleging that:
(a) such Participant's Contributor Version directly or indirectly
infringes any patent, then any and all rights granted by such
Participant to You under Sections 2.1 and/or 2.2 of this License
shall, upon 60 days notice from Participant terminate prospectively,
unless if within 60 days after receipt of notice You either: (i)
agree in writing to pay Participant a mutually agreeable reasonable
royalty for Your past and future use of Modifications made by such
Participant, or (ii) withdraw Your litigation claim with respect to
the Contributor Version against such Participant. If within 60 days
of notice, a reasonable royalty and payment arrangement are not
mutually agreed upon in writing by the parties or the litigation claim
is not withdrawn, the rights granted by Participant to You under
Sections 2.1 and/or 2.2 automatically terminate at the expiration of
the 60 day notice period specified above.
(b) any software, hardware, or device, other than such Participant's
Contributor Version, directly or indirectly infringes any patent, then
any rights granted to You by such Participant under Sections 2.1(b)
and 2.2(b) are revoked effective as of the date You first made, used,
sold, distributed, or had made, Modifications made by that
Participant.
8.3. If You assert a patent infringement claim against Participant
alleging that such Participant's Contributor Version directly or
indirectly infringes any patent where such claim is resolved (such as
by license or settlement) prior to the initiation of patent
infringement litigation, then the reasonable value of the licenses
granted by such Participant under Sections 2.1 or 2.2 shall be taken
into account in determining the amount or value of any payment or
license.
8.4. In the event of termination under Sections 8.1 or 8.2 above,
all end user license agreements (excluding distributors and resellers)
which have been validly granted by You or any distributor hereunder
prior to termination shall survive termination.
9. LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
10. U.S. GOVERNMENT END USERS.
The Covered Code is a "commercial item," as that term is defined in
48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
software" and "commercial computer software documentation," as such
terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
all U.S. Government End Users acquire Covered Code with only those
rights set forth herein.
11. MISCELLANEOUS.
This License represents the complete agreement concerning subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. This License shall be governed by
California law provisions (except to the extent applicable law, if
any, provides otherwise), excluding its conflict-of-law provisions.
With respect to disputes in which at least one party is a citizen of,
or an entity chartered or registered to do business in the United
States of America, any litigation relating to this License shall be
subject to the jurisdiction of the Federal Courts of the Northern
District of California, with venue lying in Santa Clara County,
California, with the losing party responsible for costs, including
without limitation, court costs and reasonable attorneys' fees and
expenses. The application of the United Nations Convention on
Contracts for the International Sale of Goods is expressly excluded.
Any law or regulation which provides that the language of a contract
shall be construed against the drafter shall not apply to this
License.
12. RESPONSIBILITY FOR CLAIMS.
As between Initial Developer and the Contributors, each party is
responsible for claims and damages arising, directly or indirectly,
out of its utilization of rights under this License and You agree to
work with Initial Developer and Contributors to distribute such
responsibility on an equitable basis. Nothing herein is intended or
shall be deemed to constitute any admission of liability.
13. MULTIPLE-LICENSED CODE.
Initial Developer may designate portions of the Covered Code as
"Multiple-Licensed". "Multiple-Licensed" means that the Initial
Developer permits you to utilize portions of the Covered Code under
Your choice of the NPL or the alternative licenses, if any, specified
by the Initial Developer in the file described in Exhibit A.
EXHIBIT A -Mozilla Public License.
``The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.
The Original Code is ______________________________________.
The Initial Developer of the Original Code is ________________________.
Portions created by ______________________ are Copyright (C) ______
_______________________. All Rights Reserved.
Contributor(s): ______________________________________.
Alternatively, the contents of this file may be used under the terms
of the _____ license (the "[___] License"), in which case the
provisions of [______] License are applicable instead of those
above. If you wish to allow use of your version of this file only
under the terms of the [____] License and not to allow others to use
your version of this file under the MPL, indicate your decision by
deleting the provisions above and replace them with the notice and
other provisions required by the [___] License. If you do not delete
the provisions above, a recipient may use your version of this file
under either the MPL or the [___] License."
[NOTE: The text of this Exhibit A may differ slightly from the text of
the notices in the Source Code files of the Original Code. You should
use the text of this Exhibit A rather than the text found in the
Original Code Source Code for Your Modifications.]
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
-199
View File
@@ -1,199 +0,0 @@
Ace (Ajax.org Cloud9 Editor)
============================
Ace is a standalone code editor written in JavaScript. Our goal is to create a browser based editor that matches and extends the features, usability and performance of existing native editors such as TextMate, Vim or Eclipse. It can be easily embedded in any web page or JavaScript application. Ace is developed as the primary editor for [Cloud9 IDE](http://www.cloud9ide.com/) and the successor of the Mozilla Skywriter (Bespin) Project.
Features
--------
* Syntax highlighting
* Automatic indent and outdent
* An optional command line
* Handles huge documents (100,000 lines and more are no problem)
* Fully customizable key bindings including VI and Emacs modes
* Themes (TextMate themes can be imported)
* Search and replace with regular expressions
* Highlight matching parentheses
* Toggle between soft tabs and real tabs
* Displays hidden characters
* Drag and drop text using the mouse
* Line wrapping
* Unstructured / user code folding
* Live syntax checker (currently JavaScript/CoffeeScript)
Take Ace for a spin!
--------------------
Check out the Ace live [demo](http://ajaxorg.github.com/ace/) or get a [Cloud9 IDE account](http://run.cloud9ide.com) to experience Ace while editing one of your own GitHub projects.
If you want, you can use Ace as a textarea replacement thanks to the [Ace Bookmarklet](http://ajaxorg.github.com/ace/build/textarea/editor.html).
History
-------
Previously known as “Bespin” and “Skywriter” its now known as Ace (Ajax.org Cloud9 Editor)! Bespin and Ace started as two independent projects, both aiming to build a no-compromise code editor component for the web. Bespin started as part of Mozilla Labs and was based on the canvas tag, while Ace is the Editor component of the Cloud9 IDE and is using the DOM for rendering. After the release of Ace at JSConf.eu 2010 in Berlin the Skywriter team decided to merge Ace with a simplified version of Skywriter's plugin system and some of Skywriter's extensibility points. All these changes have been merged back to Ace. Both Ajax.org and Mozilla are actively developing and maintaining Ace.
Getting the code
----------------
Ace is a community project. We actively encourage and support contributions. The Ace source code is hosted on GitHub. It is released under the Mozilla tri-license (MPL/GPL/LGPL), the same license used by Firefox. This license is friendly to all kinds of projects, whether open source or not. Take charge of your editor and add your favorite language highlighting and keybindings!
```bash
git clone git://github.com/ajaxorg/ace.git
cd ace
git submodule update --init --recursive
```
Embedding Ace
-------------
Ace can be easily embedded into any existing web page. The Ace git repository ships with a pre-packaged version of Ace inside of the `build` directory. The same packaged files are also available as a separate [download](https://github.com/ajaxorg/ace/downloads). Simply copy the contents of the `src` subdirectory somewhere into your project and take a look at the included demos of how to use Ace.
The easiest version is simply:
```html
<div id="editor">some text</div>
<script src="src/ace.js" type="text/javascript" charset="utf-8"></script>
<script>
window.onload = function() {
var editor = ace.edit("editor");
};
</script>
```
With "editor" being the id of the DOM element, which should be converted to an editor. Note that this element must be explicitly sized and positioned `absolute` or `relative` for Ace to work. e.g.
```css
#editor {
position: absolute;
width: 500px;
height: 400px;
}
```
To change the theme simply include the Theme's JavaScript file
```html
<script src="src/theme-twilight.js" type="text/javascript" charset="utf-8"></script>
```
and configure the editor to use the theme:
```javascript
editor.setTheme("ace/theme/twilight");
```
By default the editor only supports plain text mode; many other languages are available as separate modules. After including the mode's JavaScript file:
```html
<script src="src/mode-javascript.js" type="text/javascript" charset="utf-8"></script>
```
Then the mode can be used like this:
```javascript
var JavaScriptMode = require("ace/mode/javascript").Mode;
editor.getSession().setMode(new JavaScriptMode());
```
Documentation
-------------
You find a lot more sample code in the [demo app](https://github.com/ajaxorg/ace/blob/master/demo/demo.js).
There is also some documentation on the [wiki page](https://github.com/ajaxorg/ace/wiki).
If you still need help, feel free to drop a mail on the [ace mailing list](http://groups.google.com/group/ace-discuss).
Running Ace
-----------
After the checkout Ace works out of the box. No build step is required. Open 'editor.html' in any browser except Google Chrome. Google Chrome doesn't allow XMLHTTPRequests from files loaded from disc (i.e. with a file:/// URL). To open Ace in Chrome simply start the bundled mini HTTP server:
```bash
./static.py
```
Or using Node.JS
```bash
npm install mime
./static.js
```
The editor can then be opened at http://localhost:8888/index.html.
Package Ace
-----------
To package Ace we use the dryice build tool developed by the Mozilla Skywriter team. Before you can build you need to make sure that the submodules are up to date.
```bash
git submodule update --init --recursive
```
Make sure you at least version 0.3.0 of dryice
```bash
npm install dryice
```
Afterwards Ace can be built by calling
```bash
./Makefile.dryice.js normal
```
The packaged Ace will be put in the 'build' folder.
To build the bookmarklet version execute
```bash
./Makefile.dryice.js bm
```
Running the Unit Tests
----------------------
The Ace unit tests run on node.js. Before the first run a couple of node modules have to be installed. The easiest way to do this is by using the node package manager (npm). In the Ace base directory simply call
```bash
npm link .
```
To run the tests call:
```bash
node lib/ace/test/all.js
```
You can also run the tests in your browser by serving:
http://localhost:8888/lib/ace/test/tests.html
This makes debugging failing tests way more easier.
Continuous Integration status
-----------------------------
This project is tested with [Travis CI](http://travis-ci.org)
[![Build Status](https://secure.travis-ci.org/ajaxorg/ace.png)](http://travis-ci.org/ajaxorg/ace)
Contributing
------------
Ace wouldn't be what it is without contributions! Feel free to fork and improve/enhance Ace any way you want. If you feel that the editor or the Ace community will benefit from your changes, please open a pull request. To protect the interests of the Ace contributors and users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is the simplest of agreements, requiring that the contributions you make to an ajax.org project are only those you're allowed to make. This helps us significantly reduce future legal risk for everyone involved. It is easy, helps everyone, takes ten minutes, and only needs to be completed once. There are two versions of the agreement:
1. [The Individual CLA](https://github.com/ajaxorg/ace/raw/master/doc/Contributor_License_Agreement-v2.pdf): use this version if you're working on an ajax.org in your spare time, or can clearly claim ownership of copyright in what you'll be submitting.
2. [The Corporate CLA](https://github.com/ajaxorg/ace/raw/master/doc/Corporate_Contributor_License_Agreement-v2.pdf): have your corporate lawyer review and submit this if your company is going to be contributing to ajax.org projects
If you want to contribute to an ajax.org project please print the CLA and fill it out and sign it. Then either send it by snail mail or fax to us or send it back scanned (or as a photo) by email.
Email: fabian.jakobs@web.de
Fax: +31 (0) 206388953
Address: Ajax.org B.V.
Keizersgracht 241
1016 EA, Amsterdam
the Netherlands
@@ -1 +0,0 @@
define("pilot/index",["require","exports","module","pilot/browser_focus","pilot/dom","pilot/event","pilot/event_emitter","pilot/fixoldbrowsers","pilot/keys","pilot/lang","pilot/oop","pilot/useragent","pilot/canon"],function(a,b,c){a("pilot/browser_focus"),a("pilot/dom"),a("pilot/event"),a("pilot/event_emitter"),a("pilot/fixoldbrowsers"),a("pilot/keys"),a("pilot/lang"),a("pilot/oop"),a("pilot/useragent"),a("pilot/canon")}),define("pilot/browser_focus",["require","exports","module","ace/lib/browser_focus"],function(a,b,c){console.warn("DEPRECATED: 'pilot/browser_focus' is deprecated. Use 'ace/lib/browser_focus' instead"),c.exports=a("ace/lib/browser_focus")}),define("pilot/dom",["require","exports","module","ace/lib/dom"],function(a,b,c){console.warn("DEPRECATED: 'pilot/dom' is deprecated. Use 'ace/lib/dom' instead"),c.exports=a("ace/lib/dom")}),define("pilot/event",["require","exports","module","ace/lib/event"],function(a,b,c){console.warn("DEPRECATED: 'pilot/event' is deprecated. Use 'ace/lib/event' instead"),c.exports=a("ace/lib/event")}),define("pilot/event_emitter",["require","exports","module","ace/lib/event_emitter"],function(a,b,c){console.warn("DEPRECATED: 'pilot/event_emitter' is deprecated. Use 'ace/lib/event_emitter' instead"),c.exports=a("ace/lib/event_emitter")}),define("pilot/fixoldbrowsers",["require","exports","module","ace/lib/fixoldbrowsers"],function(a,b,c){console.warn("DEPRECATED: 'pilot/fixoldbrowsers' is deprecated. Use 'ace/lib/fixoldbrowsers' instead"),c.exports=a("ace/lib/fixoldbrowsers")}),define("pilot/keys",["require","exports","module","ace/lib/keys"],function(a,b,c){console.warn("DEPRECATED: 'pilot/keys' is deprecated. Use 'ace/lib/keys' instead"),c.exports=a("ace/lib/keys")}),define("pilot/lang",["require","exports","module","ace/lib/lang"],function(a,b,c){console.warn("DEPRECATED: 'pilot/lang' is deprecated. Use 'ace/lib/lang' instead"),c.exports=a("ace/lib/lang")}),define("pilot/oop",["require","exports","module","ace/lib/oop"],function(a,b,c){console.warn("DEPRECATED: 'pilot/oop' is deprecated. Use 'ace/lib/oop' instead"),c.exports=a("ace/lib/oop")}),define("pilot/useragent",["require","exports","module","ace/lib/useragent"],function(a,b,c){console.warn("DEPRECATED: 'pilot/useragent' is deprecated. Use 'ace/lib/useragent' instead"),c.exports=a("ace/lib/useragent")}),define("pilot/canon",["require","exports","module"],function(a,b,c){console.warn("DEPRECATED: 'pilot/canon' is deprecated."),b.addCommand=function(){console.warn("DEPRECATED: 'canon.addCommand()' is deprecated. Use 'editor.commands.addCommand(command)' instead."),console.trace()},b.removeCommand=function(){console.warn("DEPRECATED: 'canon.removeCommand()' is deprecated. Use 'editor.commands.removeCommand(command)' instead."),console.trace()}})
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
define("ace/keyboard/keybinding/emacs",["require","exports","module","ace/keyboard/state_handler"],function(a,b,c){"use strict";var d=a("../state_handler").StateHandler,e=a("../state_handler").matchCharacterOnly,f={start:[{key:"ctrl-x",then:"c-x"},{regex:["(?:command-([0-9]*))*","(down|ctrl-n)"],exec:"golinedown",params:[{name:"times",match:1,type:"number",defaultValue:1}]},{regex:["(?:command-([0-9]*))*","(right|ctrl-f)"],exec:"gotoright",params:[{name:"times",match:1,type:"number",defaultValue:1}]},{regex:["(?:command-([0-9]*))*","(up|ctrl-p)"],exec:"golineup",params:[{name:"times",match:1,type:"number",defaultValue:1}]},{regex:["(?:command-([0-9]*))*","(left|ctrl-b)"],exec:"gotoleft",params:[{name:"times",match:1,type:"number",defaultValue:1}]},{comment:"This binding matches all printable characters except numbers as long as they are no numbers and print them n times.",regex:["(?:command-([0-9]*))","([^0-9]+)*"],match:e,exec:"inserttext",params:[{name:"times",match:1,type:"number",defaultValue:"1"},{name:"text",match:2}]},{comment:"This binding matches numbers as long as there is no meta_number in the buffer.",regex:["(command-[0-9]*)*","([0-9]+)"],match:e,disallowMatches:[1],exec:"inserttext",params:[{name:"text",match:2,type:"text"}]},{regex:["command-([0-9]*)","(command-[0-9]|[0-9])"],comment:"Stops execution if the regex /meta_[0-9]+/ matches to avoid resetting the buffer."}],"c-x":[{key:"ctrl-g",then:"start"},{key:"ctrl-s",exec:"save",then:"start"}]};b.Emacs=new d(f)}),define("ace/keyboard/state_handler",["require","exports","module"],function(a,b,c){function e(a){this.keymapping=this.$buildKeymappingRegex(a)}"use strict";var d=!1;e.prototype={$buildKeymappingRegex:function(a){for(var b in a)this.$buildBindingsRegex(a[b]);return a},$buildBindingsRegex:function(a){a.forEach(function(a){a.key?a.key=new RegExp("^"+a.key+"$"):Array.isArray(a.regex)?("key"in a||(a.key=new RegExp("^"+a.regex[1]+"$")),a.regex=new RegExp(a.regex.join("")+"$")):a.regex&&(a.regex=new RegExp(a.regex+"$"))})},$composeBuffer:function(a,b,c,d){if(a.state==null||a.buffer==null)a.state="start",a.buffer="";var e=[];b&1&&e.push("ctrl"),b&8&&e.push("command"),b&2&&e.push("option"),b&4&&e.push("shift"),c&&e.push(c);var f=e.join("-"),g=a.buffer+f;b!=2&&(a.buffer=g);var h={bufferToUse:g,symbolicName:f};return d&&(h.keyIdentifier=d.keyIdentifier),h},$find:function(a,b,c,e,f,g){var h={};return this.keymapping[a.state].some(function(i){var j;if(i.key&&!i.key.test(c))return!1;if(i.regex&&!(j=i.regex.exec(b)))return!1;if(i.match&&!i.match(b,e,f,c,g))return!1;if(i.disallowMatches)for(var k=0;k<i.disallowMatches.length;k++)if(!!j[i.disallowMatches[k]])return!1;if(i.exec){h.command=i.exec;if(i.params){var l;h.args={},i.params.forEach(function(a){a.match!=null&&j!=null?l=j[a.match]||a.defaultValue:l=a.defaultValue,a.type==="number"&&(l=parseInt(l)),h.args[a.name]=l})}a.buffer=""}return i.then&&(a.state=i.then,a.buffer=""),h.command==null&&(h.command="null"),d&&console.log("KeyboardStateMapper#find",i),!0}),h.command?h:(a.buffer="",!1)},handleKeyboard:function(a,b,c,e,f){if(b==0||c!=""&&c!=String.fromCharCode(0)){var g=this.$composeBuffer(a,b,c,f),h=g.bufferToUse,i=g.symbolicName,j=g.keyIdentifier;return g=this.$find(a,h,i,b,c,j),d&&console.log("KeyboardStateMapper#match",h,i,g),g}return null}},b.matchCharacterOnly=function(a,b,c,d){return b==0?!0:b==4&&c.length==1?!0:!1},b.StateHandler=e})
@@ -1 +0,0 @@
define("ace/keyboard/keybinding/vim",["require","exports","module","ace/keyboard/state_handler"],function(a,b,c){"use strict";var d=a("../state_handler").StateHandler,e=a("../state_handler").matchCharacterOnly,f=function(a,b,c){return{regex:["([0-9]*)",a],exec:b,params:[{name:"times",match:1,type:"number",defaultValue:1}],then:c}},g={start:[{key:"i",then:"insertMode"},{key:"d",then:"deleteMode"},{key:"a",exec:"gotoright",then:"insertMode"},{key:"shift-i",exec:"gotolinestart",then:"insertMode"},{key:"shift-a",exec:"gotolineend",then:"insertMode"},{key:"shift-c",exec:"removetolineend",then:"insertMode"},{key:"shift-r",exec:"overwrite",then:"replaceMode"},f("(k|up)","golineup"),f("(j|down)","golinedown"),f("(l|right)","gotoright"),f("(h|left)","gotoleft"),{key:"shift-g",exec:"gotoend"},f("b","gotowordleft"),f("e","gotowordright"),f("x","del"),f("shift-x","backspace"),f("shift-d","removetolineend"),f("u","undo"),{comment:"Catch some keyboard input to stop it here",match:e}],insertMode:[{key:"esc",then:"start"}],replaceMode:[{key:"esc",exec:"overwrite",then:"start"}],deleteMode:[{key:"d",exec:"removeline",then:"start"}]};b.Vim=new d(g)}),define("ace/keyboard/state_handler",["require","exports","module"],function(a,b,c){function e(a){this.keymapping=this.$buildKeymappingRegex(a)}"use strict";var d=!1;e.prototype={$buildKeymappingRegex:function(a){for(var b in a)this.$buildBindingsRegex(a[b]);return a},$buildBindingsRegex:function(a){a.forEach(function(a){a.key?a.key=new RegExp("^"+a.key+"$"):Array.isArray(a.regex)?("key"in a||(a.key=new RegExp("^"+a.regex[1]+"$")),a.regex=new RegExp(a.regex.join("")+"$")):a.regex&&(a.regex=new RegExp(a.regex+"$"))})},$composeBuffer:function(a,b,c,d){if(a.state==null||a.buffer==null)a.state="start",a.buffer="";var e=[];b&1&&e.push("ctrl"),b&8&&e.push("command"),b&2&&e.push("option"),b&4&&e.push("shift"),c&&e.push(c);var f=e.join("-"),g=a.buffer+f;b!=2&&(a.buffer=g);var h={bufferToUse:g,symbolicName:f};return d&&(h.keyIdentifier=d.keyIdentifier),h},$find:function(a,b,c,e,f,g){var h={};return this.keymapping[a.state].some(function(i){var j;if(i.key&&!i.key.test(c))return!1;if(i.regex&&!(j=i.regex.exec(b)))return!1;if(i.match&&!i.match(b,e,f,c,g))return!1;if(i.disallowMatches)for(var k=0;k<i.disallowMatches.length;k++)if(!!j[i.disallowMatches[k]])return!1;if(i.exec){h.command=i.exec;if(i.params){var l;h.args={},i.params.forEach(function(a){a.match!=null&&j!=null?l=j[a.match]||a.defaultValue:l=a.defaultValue,a.type==="number"&&(l=parseInt(l)),h.args[a.name]=l})}a.buffer=""}return i.then&&(a.state=i.then,a.buffer=""),h.command==null&&(h.command="null"),d&&console.log("KeyboardStateMapper#find",i),!0}),h.command?h:(a.buffer="",!1)},handleKeyboard:function(a,b,c,e,f){if(b==0||c!=""&&c!=String.fromCharCode(0)){var g=this.$composeBuffer(a,b,c,f),h=g.bufferToUse,i=g.symbolicName,j=g.keyIdentifier;return g=this.$find(a,h,i,b,c,j),d&&console.log("KeyboardStateMapper#match",h,i,g),g}return null}},b.matchCharacterOnly=function(a,b,c,d){return b==0?!0:b==4&&c.length==1?!0:!1},b.StateHandler=e})
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(a,b,c){b.cssClass="ace-chrome",b.cssText=".ace-chrome .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-chrome .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-chrome .ace_gutter { width: 50px; background: #e8e8e8; color: #333; overflow : hidden;}.ace-chrome .ace_gutter-layer { width: 100%; text-align: right;}.ace-chrome .ace_gutter-layer .ace_gutter-cell { padding-right: 6px;}.ace-chrome .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-chrome .ace_text-layer { cursor: text;}.ace-chrome .ace_cursor { border-left: 2px solid black;}.ace-chrome .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;} .ace-chrome .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-chrome .ace_line .ace_keyword { color: blue;}.ace-chrome .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-chrome .ace_line .ace_constant.ace_language { color: rgb(88, 92, 246);}.ace-chrome .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-chrome .ace_line .ace_invalid { background-color: rgb(153, 0, 0); color: white;}.ace-chrome .ace_line .ace_fold {}.ace-chrome .ace_line .ace_support.ace_function { color: rgb(60, 76, 114);}.ace-chrome .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-chrome .ace_line .ace_support.ace_type,.ace-chrome .ace_line .ace_support.ace_class { color: rgb(109, 121, 222);}.ace-chrome .ace_line .ace_keyword.ace_operator { color: rgb(104, 118, 135);}.ace-chrome .ace_line .ace_string { color: #1919a6;}.ace-chrome .ace_line .ace_comment { color: #236e24;}.ace-chrome .ace_line .ace_comment.ace_doc { color: #236e24;}.ace-chrome .ace_line .ace_comment.ace_doc.ace_tag { color: #236e24;}.ace-chrome .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 205);}.ace-chrome .ace_line .ace_variable { color: rgb(49, 132, 149);}.ace-chrome .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function { color: #0000A2;}.ace-chrome .ace_markup.ace_markupine { text-decoration:underline;}.ace-chrome .ace_markup.ace_heading { color: rgb(12, 7, 255);}.ace-chrome .ace_markup.ace_list { color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_meta.ace_tag { color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex { color: rgb(255, 0, 0)}.ace-chrome .ace_entity.ace_other.ace_attribute-name{ color: #994409;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/clouds",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-clouds",b.cssText=".ace-clouds .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-clouds .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-clouds .ace_gutter { background: #e8e8e8; color: #333;}.ace-clouds .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-clouds .ace_scroller { background-color: #FFFFFF;}.ace-clouds .ace_text-layer { cursor: text; color: #000000;}.ace-clouds .ace_cursor { border-left: 2px solid #000000;}.ace-clouds .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #000000;} .ace-clouds .ace_marker-layer .ace_selection { background: #BDD5FC;}.ace-clouds .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-clouds .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #BFBFBF;}.ace-clouds .ace_marker-layer .ace_active_line { background: #FFFBD1;}.ace-clouds .ace_marker-layer .ace_selected_word { border: 1px solid #BDD5FC;} .ace-clouds .ace_invisible { color: #BFBFBF;}.ace-clouds .ace_keyword { color:#AF956F;}.ace-clouds .ace_keyword.ace_operator { color:#484848;}.ace-clouds .ace_constant.ace_language { color:#39946A;}.ace-clouds .ace_constant.ace_numeric { color:#46A609;}.ace-clouds .ace_invalid { background-color:#FF002A;}.ace-clouds .ace_fold { background-color: #AF956F; border-color: #000000;}.ace-clouds .ace_support.ace_function { color:#C52727;}.ace-clouds .ace_string { color:#5D90CD;}.ace-clouds .ace_comment { color:#BCC8BA;}.ace-clouds .ace_entity.ace_other.ace_attribute-name { color:#606060;}.ace-clouds .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/clouds_midnight",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-clouds-midnight",b.cssText=".ace-clouds-midnight .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-clouds-midnight .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-clouds-midnight .ace_gutter { background: #e8e8e8; color: #333;}.ace-clouds-midnight .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-clouds-midnight .ace_scroller { background-color: #191919;}.ace-clouds-midnight .ace_text-layer { cursor: text; color: #929292;}.ace-clouds-midnight .ace_cursor { border-left: 2px solid #7DA5DC;}.ace-clouds-midnight .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #7DA5DC;} .ace-clouds-midnight .ace_marker-layer .ace_selection { background: #000000;}.ace-clouds-midnight .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-clouds-midnight .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #BFBFBF;}.ace-clouds-midnight .ace_marker-layer .ace_active_line { background: rgba(215, 215, 215, 0.031);}.ace-clouds-midnight .ace_marker-layer .ace_selected_word { border: 1px solid #000000;} .ace-clouds-midnight .ace_invisible { color: #BFBFBF;}.ace-clouds-midnight .ace_keyword { color:#927C5D;}.ace-clouds-midnight .ace_keyword.ace_operator { color:#4B4B4B;}.ace-clouds-midnight .ace_constant.ace_language { color:#39946A;}.ace-clouds-midnight .ace_constant.ace_numeric { color:#46A609;}.ace-clouds-midnight .ace_invalid { color:#FFFFFF;background-color:#E92E2E;}.ace-clouds-midnight .ace_fold { background-color: #927C5D; border-color: #929292;}.ace-clouds-midnight .ace_support.ace_function { color:#E92E2E;}.ace-clouds-midnight .ace_string { color:#5D90CD;}.ace-clouds-midnight .ace_comment { color:#3C403B;}.ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name { color:#606060;}.ace-clouds-midnight .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/cobalt",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-cobalt",b.cssText=".ace-cobalt .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-cobalt .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-cobalt .ace_gutter { background: #e8e8e8; color: #333;}.ace-cobalt .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-cobalt .ace_scroller { background-color: #002240;}.ace-cobalt .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-cobalt .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-cobalt .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;} .ace-cobalt .ace_marker-layer .ace_selection { background: rgba(179, 101, 57, 0.75);}.ace-cobalt .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-cobalt .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 255, 255, 0.15);}.ace-cobalt .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.35);}.ace-cobalt .ace_marker-layer .ace_selected_word { border: 1px solid rgba(179, 101, 57, 0.75);} .ace-cobalt .ace_invisible { color: rgba(255, 255, 255, 0.15);}.ace-cobalt .ace_keyword { color:#FF9D00;}.ace-cobalt .ace_constant { color:#FF628C;}.ace-cobalt .ace_invalid { color:#F8F8F8;background-color:#800F00;}.ace-cobalt .ace_support { color:#80FFBB;}.ace-cobalt .ace_fold { background-color: #FF9D00; border-color: #FFFFFF;}.ace-cobalt .ace_support.ace_function { color:#FFB054;}.ace-cobalt .ace_string.ace_regexp { color:#80FFC2;}.ace-cobalt .ace_comment { font-style:italic;color:#0088FF;}.ace-cobalt .ace_variable { color:#CCCCCC;}.ace-cobalt .ace_variable.ace_language { color:#FF80E1;}.ace-cobalt .ace_meta.ace_tag { color:#9EFFFF;}.ace-cobalt .ace_markup.ace_underline { text-decoration:underline;}.ace-cobalt .ace_markup.ace_heading { color:#C8E4FD;background-color:#001221;}.ace-cobalt .ace_markup.ace_list { background-color:#130D26;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/crimson_editor",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssText=".ace-crimson-editor .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-crimson-editor .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-crimson-editor .ace_gutter { width: 50px; background: #e8e8e8; color: #333; overflow : hidden;}.ace-crimson-editor .ace_gutter-layer { width: 100%; text-align: right;}.ace-crimson-editor .ace_gutter-layer .ace_gutter-cell { padding-right: 6px;}.ace-crimson-editor .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-crimson-editor .ace_text-layer { cursor: text; color: rgb(64, 64, 64);}.ace-crimson-editor .ace_cursor { border-left: 2px solid black;}.ace-crimson-editor .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;}.ace-crimson-editor .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-crimson-editor .ace_line .ace_identifier { color: black;}.ace-crimson-editor .ace_line .ace_keyword { color: blue;}.ace-crimson-editor .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-crimson-editor .ace_line .ace_constant.ace_language { color: rgb(255, 156, 0);}.ace-crimson-editor .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-crimson-editor .ace_line .ace_invalid { text-decoration: line-through; color: rgb(224, 0, 0);}.ace-crimson-editor .ace_line .ace_fold {}.ace-crimson-editor .ace_line .ace_support.ace_function { color: rgb(192, 0, 0);}.ace-crimson-editor .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-crimson-editor .ace_line .ace_support.ace_type,.ace-crimson-editor .ace_line .ace_support.ace_class { color: rgb(109, 121, 222);}.ace-crimson-editor .ace_line .ace_keyword.ace_operator { color: rgb(49, 132, 149);}.ace-crimson-editor .ace_line .ace_string { color: rgb(128, 0, 128);}.ace-crimson-editor .ace_line .ace_comment { color: rgb(76, 136, 107);}.ace-crimson-editor .ace_line .ace_comment.ace_doc { color: rgb(0, 102, 255);}.ace-crimson-editor .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(128, 159, 191);}.ace-crimson-editor .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 64);}.ace-crimson-editor .ace_line .ace_variable { color: rgb(0, 64, 128);}.ace-crimson-editor .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-crimson-editor .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-crimson-editor .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-crimson-editor .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-crimson-editor .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-crimson-editor .ace_marker-layer .ace_active_line { background: rgb(232, 242, 254);}.ace-crimson-editor .ace_meta.ace_tag { color:rgb(28, 2, 255);}.ace-crimson-editor .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-crimson-editor .ace_string.ace_regex { color: rgb(192, 0, 192);}",b.cssClass="ace-crimson-editor";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-dawn",b.cssText=".ace-dawn .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-dawn .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-dawn .ace_gutter { background: #e8e8e8; color: #333;}.ace-dawn .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-dawn .ace_scroller { background-color: #F9F9F9;}.ace-dawn .ace_text-layer { cursor: text; color: #080808;}.ace-dawn .ace_cursor { border-left: 2px solid #000000;}.ace-dawn .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #000000;} .ace-dawn .ace_marker-layer .ace_selection { background: rgba(39, 95, 255, 0.30);}.ace-dawn .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-dawn .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(75, 75, 126, 0.50);}.ace-dawn .ace_marker-layer .ace_active_line { background: rgba(36, 99, 180, 0.12);}.ace-dawn .ace_marker-layer .ace_selected_word { border: 1px solid rgba(39, 95, 255, 0.30);} .ace-dawn .ace_invisible { color: rgba(75, 75, 126, 0.50);}.ace-dawn .ace_keyword { color:#794938;}.ace-dawn .ace_constant { color:#811F24;}.ace-dawn .ace_invalid.ace_illegal { text-decoration:underline;font-style:italic;color:#F8F8F8;background-color:#B52A1D;}.ace-dawn .ace_invalid.ace_deprecated { text-decoration:underline;font-style:italic;color:#B52A1D;}.ace-dawn .ace_support { color:#691C97;}.ace-dawn .ace_fold { background-color: #794938; border-color: #080808;}.ace-dawn .ace_support.ace_function { color:#693A17;}.ace-dawn .ace_string { color:#0B6125;}.ace-dawn .ace_string.ace_regexp { color:#CF5628;}.ace-dawn .ace_comment { font-style:italic;color:#5A525F;}.ace-dawn .ace_variable { color:#234A97;}.ace-dawn .ace_markup.ace_underline { text-decoration:underline;}.ace-dawn .ace_markup.ace_heading { color:#19356D;}.ace-dawn .ace_markup.ace_list { color:#693A17;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/dreamweaver",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-tm",b.cssText=".ace-tm .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tm .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tm .ace_gutter { background: #e8e8e8; color: #333;}.ace-tm .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tm .ace_fold { background-color: #00F;}.ace-tm .ace_text-layer { cursor: text;}.ace-tm .ace_cursor { border-left: 2px solid black;}.ace-tm .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;} .ace-tm .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-tm .ace_line .ace_keyword { color: blue;}.ace-tm .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-tm .ace_line .ace_constant.ace_language { color: rgb(88, 92, 246);}.ace-tm .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-tm .ace_line .ace_invalid { background-color: rgb(153, 0, 0); color: white;}.ace-tm .ace_line .ace_support.ace_function { color: rgb(60, 76, 114);}.ace-tm .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-tm .ace_line .ace_support.ace_type,.ace-tm .ace_line .ace_support.ace_class { color: #009;}.ace-tm .ace_line .ace_support.ace_php_tag { color: #f00;}.ace-tm .ace_line .ace_keyword.ace_operator { color: rgb(104, 118, 135);}.ace-tm .ace_line .ace_string { color: #00F;}.ace-tm .ace_line .ace_comment { color: rgb(76, 136, 107);}.ace-tm .ace_line .ace_comment.ace_doc { color: rgb(0, 102, 255);}.ace-tm .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(128, 159, 191);}.ace-tm .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 205);}.ace-tm .ace_line .ace_variable { color: #06F}.ace-tm .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function { color: #00F;}.ace-tm .ace_markup.ace_markupine { text-decoration:underline;}.ace-tm .ace_markup.ace_heading { color: rgb(12, 7, 255);}.ace-tm .ace_markup.ace_list { color:rgb(185, 6, 144);}.ace-tm .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-tm .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_meta.ace_tag { color:#009;}.ace-tm .ace_meta.ace_tag.ace_anchor { color:#060;}.ace-tm .ace_meta.ace_tag.ace_form { color:#F90;}.ace-tm .ace_meta.ace_tag.ace_image { color:#909;}.ace-tm .ace_meta.ace_tag.ace_script { color:#900;}.ace-tm .ace_meta.ace_tag.ace_style { color:#909;}.ace-tm .ace_meta.ace_tag.ace_table { color:#099;}.ace-tm .ace_string.ace_regex { color: rgb(255, 0, 0)}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/eclipse",["require","exports","module","ace/lib/dom"],function(a,b,c){"use strict",b.isDark=!1,b.cssText=".ace-eclipse .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-eclipse .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-eclipse .ace_gutter { background: rgb(227, 227, 227); border-right: 1px solid rgb(159, 159, 159); color: rgb(136, 136, 136);}.ace-eclipse .ace_print_margin { width: 1px; background: #b1b4ba;}.ace-eclipse .ace_fold { background-color: rgb(60, 76, 114);}.ace-eclipse .ace_text-layer { cursor: text;}.ace-eclipse .ace_cursor { border-left: 1px solid black;}.ace-eclipse .ace_line .ace_keyword, .ace-eclipse .ace_line .ace_variable { color: rgb(127, 0, 85);}.ace-eclipse .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-eclipse .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-eclipse .ace_line .ace_function { color: rgb(60, 76, 114);}.ace-eclipse .ace_line .ace_string { color: rgb(42, 0, 255);}.ace-eclipse .ace_line .ace_comment { color: rgb(63, 127, 95);}.ace-eclipse .ace_line .ace_comment.ace_doc { color: rgb(63, 95, 191);}.ace-eclipse .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(127, 159, 191);}.ace-eclipse .ace_line .ace_constant.ace_numeric {}.ace-eclipse .ace_line .ace_tag { color: rgb(63, 127, 127);}.ace-eclipse .ace_line .ace_type { color: rgb(127, 0, 127);}.ace-eclipse .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-eclipse .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-eclipse .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-eclipse .ace_line .ace_meta.ace_tag { color:rgb(63, 127, 127);}.ace-eclipse .ace_entity.ace_other.ace_attribute-name { color:rgb(127, 0, 127);}.ace-eclipse .ace_marker-layer .ace_active_line { background: rgb(232, 242, 254);}",b.cssClass="ace-eclipse";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/idle_fingers",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-idle-fingers",b.cssText=".ace-idle-fingers .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-idle-fingers .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-idle-fingers .ace_gutter { background: #e8e8e8; color: #333;}.ace-idle-fingers .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-idle-fingers .ace_scroller { background-color: #323232;}.ace-idle-fingers .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-idle-fingers .ace_cursor { border-left: 2px solid #91FF00;}.ace-idle-fingers .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #91FF00;} .ace-idle-fingers .ace_marker-layer .ace_selection { background: rgba(90, 100, 126, 0.88);}.ace-idle-fingers .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-idle-fingers .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-idle-fingers .ace_marker-layer .ace_active_line { background: #353637;}.ace-idle-fingers .ace_marker-layer .ace_selected_word { border: 1px solid rgba(90, 100, 126, 0.88);} .ace-idle-fingers .ace_invisible { color: #404040;}.ace-idle-fingers .ace_keyword { color:#CC7833;}.ace-idle-fingers .ace_constant { color:#6C99BB;}.ace-idle-fingers .ace_invalid { color:#FFFFFF;background-color:#FF0000;}.ace-idle-fingers .ace_fold { background-color: #CC7833; border-color: #FFFFFF;}.ace-idle-fingers .ace_support.ace_function { color:#B83426;}.ace-idle-fingers .ace_string { color:#A5C261;}.ace-idle-fingers .ace_string.ace_regexp { color:#CCCC33;}.ace-idle-fingers .ace_comment { font-style:italic;color:#BC9458;}.ace-idle-fingers .ace_meta.ace_tag { color:#FFE5BB;}.ace-idle-fingers .ace_entity.ace_name { color:#FFC66D;}.ace-idle-fingers .ace_markup.ace_underline { text-decoration:underline;}.ace-idle-fingers .ace_collab.ace_user1 { color:#323232;background-color:#FFF980; }";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/kr_theme",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-kr-theme",b.cssText=".ace-kr-theme .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-kr-theme .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-kr-theme .ace_gutter { background: #e8e8e8; color: #333;}.ace-kr-theme .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-kr-theme .ace_scroller { background-color: #0B0A09;}.ace-kr-theme .ace_text-layer { cursor: text; color: #FCFFE0;}.ace-kr-theme .ace_cursor { border-left: 2px solid #FF9900;}.ace-kr-theme .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FF9900;} .ace-kr-theme .ace_marker-layer .ace_selection { background: rgba(170, 0, 255, 0.45);}.ace-kr-theme .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-kr-theme .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 177, 111, 0.32);}.ace-kr-theme .ace_marker-layer .ace_active_line { background: #38403D;}.ace-kr-theme .ace_marker-layer .ace_selected_word { border: 1px solid rgba(170, 0, 255, 0.45);} .ace-kr-theme .ace_invisible { color: rgba(255, 177, 111, 0.32);}.ace-kr-theme .ace_keyword { color:#949C8B;}.ace-kr-theme .ace_constant { color:rgba(210, 117, 24, 0.76);}.ace-kr-theme .ace_invalid { color:#F8F8F8;background-color:#A41300;}.ace-kr-theme .ace_support { color:#9FC28A;}.ace-kr-theme .ace_fold { background-color: #949C8B; border-color: #FCFFE0;}.ace-kr-theme .ace_support.ace_function { color:#85873A;}.ace-kr-theme .ace_string.ace_regexp { color:rgba(125, 255, 192, 0.65);}.ace-kr-theme .ace_comment { font-style:italic;color:#706D5B;}.ace-kr-theme .ace_variable { color:#D1A796;}.ace-kr-theme .ace_variable.ace_language { color:#FF80E1;}.ace-kr-theme .ace_meta.ace_tag { color:#BABD9C;}.ace-kr-theme .ace_markup.ace_underline { text-decoration:underline;}.ace-kr-theme .ace_markup.ace_list { background-color:#0F0040;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/merbivore",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-merbivore",b.cssText=".ace-merbivore .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-merbivore .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-merbivore .ace_gutter { background: #e8e8e8; color: #333;}.ace-merbivore .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-merbivore .ace_scroller { background-color: #161616;}.ace-merbivore .ace_text-layer { cursor: text; color: #E6E1DC;}.ace-merbivore .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-merbivore .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;} .ace-merbivore .ace_marker-layer .ace_selection { background: #454545;}.ace-merbivore .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-merbivore .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-merbivore .ace_marker-layer .ace_active_line { background: #333435;}.ace-merbivore .ace_marker-layer .ace_selected_word { border: 1px solid #454545;} .ace-merbivore .ace_invisible { color: #404040;}.ace-merbivore .ace_keyword { color:#FC6F09;}.ace-merbivore .ace_constant { color:#1EDAFB;}.ace-merbivore .ace_constant.ace_language { color:#FDC251;}.ace-merbivore .ace_constant.ace_library { color:#8DFF0A;}.ace-merbivore .ace_constant.ace_numeric { color:#58C554;}.ace-merbivore .ace_invalid { color:#FFFFFF;background-color:#990000;}.ace-merbivore .ace_fold { background-color: #FC6F09; border-color: #E6E1DC;}.ace-merbivore .ace_support.ace_function { color:#FC6F09;}.ace-merbivore .ace_string { color:#8DFF0A;}.ace-merbivore .ace_comment { font-style:italic;color:#AD2EA4;}.ace-merbivore .ace_meta.ace_tag { color:#FC6F09;}.ace-merbivore .ace_entity.ace_other.ace_attribute-name { color:#FFFF89;}.ace-merbivore .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/merbivore_soft",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-merbivore-soft",b.cssText=".ace-merbivore-soft .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-merbivore-soft .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-merbivore-soft .ace_gutter { background: #e8e8e8; color: #333;}.ace-merbivore-soft .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-merbivore-soft .ace_scroller { background-color: #1C1C1C;}.ace-merbivore-soft .ace_text-layer { cursor: text; color: #E6E1DC;}.ace-merbivore-soft .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-merbivore-soft .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;} .ace-merbivore-soft .ace_marker-layer .ace_selection { background: #494949;}.ace-merbivore-soft .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-merbivore-soft .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-merbivore-soft .ace_marker-layer .ace_active_line { background: #333435;}.ace-merbivore-soft .ace_marker-layer .ace_selected_word { border: 1px solid #494949;} .ace-merbivore-soft .ace_invisible { color: #404040;}.ace-merbivore-soft .ace_keyword { color:#FC803A;}.ace-merbivore-soft .ace_constant { color:#68C1D8;}.ace-merbivore-soft .ace_constant.ace_language { color:#E1C582;}.ace-merbivore-soft .ace_constant.ace_library { color:#8EC65F;}.ace-merbivore-soft .ace_constant.ace_numeric { color:#7FC578;}.ace-merbivore-soft .ace_invalid { color:#FFFFFF;background-color:#FE3838;}.ace-merbivore-soft .ace_invalid.ace_deprecated { color:#FFFFFF;background-color:#FE3838;}.ace-merbivore-soft .ace_fold { background-color: #FC803A; border-color: #E6E1DC;}.ace-merbivore-soft .ace_string { color:#8EC65F;}.ace-merbivore-soft .ace_comment { font-style:italic;color:#AC4BB8;}.ace-merbivore-soft .ace_meta { font-style:italic;color:#AC4BB8;}.ace-merbivore-soft .ace_meta.ace_tag { color:#FC803A;}.ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name { color:#EAF1A3;}.ace-merbivore-soft .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/mono_industrial",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-mono-industrial",b.cssText=".ace-mono-industrial .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-mono-industrial .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-mono-industrial .ace_gutter { background: #e8e8e8; color: #333;}.ace-mono-industrial .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-mono-industrial .ace_scroller { background-color: #222C28;}.ace-mono-industrial .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-mono-industrial .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-mono-industrial .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;} .ace-mono-industrial .ace_marker-layer .ace_selection { background: rgba(145, 153, 148, 0.40);}.ace-mono-industrial .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-mono-industrial .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(102, 108, 104, 0.50);}.ace-mono-industrial .ace_marker-layer .ace_active_line { background: rgba(12, 13, 12, 0.25);}.ace-mono-industrial .ace_marker-layer .ace_selected_word { border: 1px solid rgba(145, 153, 148, 0.40);} .ace-mono-industrial .ace_invisible { color: rgba(102, 108, 104, 0.50);}.ace-mono-industrial .ace_keyword { color:#A39E64;}.ace-mono-industrial .ace_keyword.ace_operator { color:#A8B3AB;}.ace-mono-industrial .ace_constant { color:#E98800;}.ace-mono-industrial .ace_constant.ace_numeric { color:#E98800;}.ace-mono-industrial .ace_invalid { color:#FFFFFF;background-color:rgba(153, 0, 0, 0.68);}.ace-mono-industrial .ace_fold { background-color: #A8B3AB; border-color: #FFFFFF;}.ace-mono-industrial .ace_support.ace_function { color:#588E60;}.ace-mono-industrial .ace_comment { color:#666C68;background-color:#151C19;}.ace-mono-industrial .ace_variable.ace_language { color:#648BD2;}.ace-mono-industrial .ace_entity.ace_other.ace_attribute-name { color:#909993;}.ace-mono-industrial .ace_entity.ace_name { color:#5778B6;}.ace-mono-industrial .ace_entity.ace_name.ace_function { color:#A8B3AB;}.ace-mono-industrial .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-monokai",b.cssText=".ace-monokai .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-monokai .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-monokai .ace_gutter { background: #e8e8e8; color: #333;}.ace-monokai .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-monokai .ace_scroller { background-color: #272822;}.ace-monokai .ace_text-layer { cursor: text; color: #F8F8F2;}.ace-monokai .ace_cursor { border-left: 2px solid #F8F8F0;}.ace-monokai .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #F8F8F0;} .ace-monokai .ace_marker-layer .ace_selection { background: #49483E;}.ace-monokai .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-monokai .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #49483E;}.ace-monokai .ace_marker-layer .ace_active_line { background: #49483E;}.ace-monokai .ace_marker-layer .ace_selected_word { border: 1px solid #49483E;} .ace-monokai .ace_invisible { color: #49483E;}.ace-monokai .ace_keyword { color:#F92672;}.ace-monokai .ace_constant.ace_language { color:#AE81FF;}.ace-monokai .ace_constant.ace_numeric { color:#AE81FF;}.ace-monokai .ace_invalid { color:#F8F8F0;background-color:#F92672;}.ace-monokai .ace_invalid.ace_deprecated { color:#F8F8F0;background-color:#AE81FF;}.ace-monokai .ace_fold { background-color: #A6E22E; border-color: #F8F8F2;}.ace-monokai .ace_support.ace_function { color:#66D9EF;}.ace-monokai .ace_string { color:#E6DB74;}.ace-monokai .ace_comment { color:#75715E;}.ace-monokai .ace_entity.ace_other.ace_attribute-name { color:#A6E22E;}.ace-monokai .ace_entity.ace_name.ace_function { color:#A6E22E;}.ace-monokai .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/pastel_on_dark",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-pastel-on-dark",b.cssText=".ace-pastel-on-dark .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-pastel-on-dark .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-pastel-on-dark .ace_gutter { background: #e8e8e8; color: #333;}.ace-pastel-on-dark .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-pastel-on-dark .ace_scroller { background-color: #2C2828;}.ace-pastel-on-dark .ace_text-layer { cursor: text; color: #8F938F;}.ace-pastel-on-dark .ace_cursor { border-left: 2px solid #A7A7A7;}.ace-pastel-on-dark .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #A7A7A7;} .ace-pastel-on-dark .ace_marker-layer .ace_selection { background: rgba(221, 240, 255, 0.20);}.ace-pastel-on-dark .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-pastel-on-dark .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 255, 255, 0.25);}.ace-pastel-on-dark .ace_marker-layer .ace_active_line { background: rgba(255, 255, 255, 0.031);}.ace-pastel-on-dark .ace_marker-layer .ace_selected_word { border: 1px solid rgba(221, 240, 255, 0.20);} .ace-pastel-on-dark .ace_invisible { color: rgba(255, 255, 255, 0.25);}.ace-pastel-on-dark .ace_keyword { color:#757aD8;}.ace-pastel-on-dark .ace_keyword.ace_operator { color:#797878;}.ace-pastel-on-dark .ace_constant { color:#4FB7C5;}.ace-pastel-on-dark .ace_constant.ace_language { color:#DE8E30;}.ace-pastel-on-dark .ace_constant.ace_numeric { color:#CCCCCC;}.ace-pastel-on-dark .ace_invalid { color:#F8F8F8;background-color:rgba(86, 45, 86, 0.75);}.ace-pastel-on-dark .ace_invalid.ace_illegal { color:#F8F8F8;background-color:rgba(86, 45, 86, 0.75);}.ace-pastel-on-dark .ace_invalid.ace_deprecated { text-decoration:underline;font-style:italic;color:#D2A8A1;}.ace-pastel-on-dark .ace_fold { background-color: #757aD8; border-color: #8F938F;}.ace-pastel-on-dark .ace_support.ace_function { color:#AEB2F8;}.ace-pastel-on-dark .ace_string { color:#66A968;}.ace-pastel-on-dark .ace_string.ace_regexp { color:#E9C062;}.ace-pastel-on-dark .ace_comment { color:#A6C6FF;}.ace-pastel-on-dark .ace_variable { color:#BEBF55;}.ace-pastel-on-dark .ace_variable.ace_language { color:#C1C144;}.ace-pastel-on-dark .ace_xml_pe { color:#494949;}.ace-pastel-on-dark .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/solarized_dark",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-solarized-dark",b.cssText=".ace-solarized-dark .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-solarized-dark .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-solarized-dark .ace_gutter { background: #e8e8e8; color: #333;}.ace-solarized-dark .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-solarized-dark .ace_scroller { background-color: #002B36;}.ace-solarized-dark .ace_text-layer { cursor: text; color: #93A1A1;}.ace-solarized-dark .ace_cursor { border-left: 2px solid #D30102;}.ace-solarized-dark .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #D30102;} .ace-solarized-dark .ace_marker-layer .ace_selection { background: #073642;}.ace-solarized-dark .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-solarized-dark .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(147, 161, 161, 0.50);}.ace-solarized-dark .ace_marker-layer .ace_active_line { background: #073642;}.ace-solarized-dark .ace_marker-layer .ace_selected_word { border: 1px solid #073642;} .ace-solarized-dark .ace_invisible { color: rgba(147, 161, 161, 0.50);}.ace-solarized-dark .ace_keyword { color:#859900;}.ace-solarized-dark .ace_constant.ace_language { color:#B58900;}.ace-solarized-dark .ace_constant.ace_numeric { color:#D33682;}.ace-solarized-dark .ace_fold { background-color: #268BD2; border-color: #93A1A1;}.ace-solarized-dark .ace_support.ace_function { color:#268BD2;}.ace-solarized-dark .ace_string { color:#2AA198;}.ace-solarized-dark .ace_string.ace_regexp { color:#D30102;}.ace-solarized-dark .ace_comment { font-style:italic;color:#657B83;}.ace-solarized-dark .ace_variable.ace_language { color:#268BD2;}.ace-solarized-dark .ace_entity.ace_other.ace_attribute-name { color:#93A1A1;}.ace-solarized-dark .ace_entity.ace_name.ace_function { color:#268BD2;}.ace-solarized-dark .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-solarized-light",b.cssText=".ace-solarized-light .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-solarized-light .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-solarized-light .ace_gutter { background: #e8e8e8; color: #333;}.ace-solarized-light .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-solarized-light .ace_scroller { background-color: #FDF6E3;}.ace-solarized-light .ace_text-layer { cursor: text; color: #586E75;}.ace-solarized-light .ace_cursor { border-left: 2px solid #000000;}.ace-solarized-light .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #000000;} .ace-solarized-light .ace_marker-layer .ace_selection { background: #073642;}.ace-solarized-light .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-solarized-light .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(147, 161, 161, 0.50);}.ace-solarized-light .ace_marker-layer .ace_active_line { background: #EEE8D5;}.ace-solarized-light .ace_marker-layer .ace_selected_word { border: 1px solid #073642;} .ace-solarized-light .ace_invisible { color: rgba(147, 161, 161, 0.50);}.ace-solarized-light .ace_keyword { color:#859900;}.ace-solarized-light .ace_constant.ace_language { color:#B58900;}.ace-solarized-light .ace_constant.ace_numeric { color:#D33682;}.ace-solarized-light .ace_fold { background-color: #268BD2; border-color: #586E75;}.ace-solarized-light .ace_support.ace_function { color:#268BD2;}.ace-solarized-light .ace_string { color:#2AA198;}.ace-solarized-light .ace_string.ace_regexp { color:#D30102;}.ace-solarized-light .ace_comment { color:#93A1A1;}.ace-solarized-light .ace_variable.ace_language { color:#268BD2;}.ace-solarized-light .ace_entity.ace_other.ace_attribute-name { color:#93A1A1;}.ace-solarized-light .ace_entity.ace_name.ace_function { color:#268BD2;}.ace-solarized-light .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-tomorrow",b.cssText=".ace-tomorrow .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow .ace_scroller { background-color: #FFFFFF;}.ace-tomorrow .ace_text-layer { cursor: text; color: #4D4D4C;}.ace-tomorrow .ace_cursor { border-left: 2px solid #AEAFAD;}.ace-tomorrow .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #AEAFAD;} .ace-tomorrow .ace_marker-layer .ace_selection { background: #D6D6D6;}.ace-tomorrow .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #D1D1D1;}.ace-tomorrow .ace_marker-layer .ace_active_line { background: #EFEFEF;}.ace-tomorrow .ace_marker-layer .ace_selected_word { border: 1px solid #D6D6D6;} .ace-tomorrow .ace_invisible { color: #D1D1D1;}.ace-tomorrow .ace_keyword { color:#8959A8;}.ace-tomorrow .ace_keyword.ace_operator { color:#3E999F;}.ace-tomorrow .ace_constant.ace_language { color:#F5871F;}.ace-tomorrow .ace_constant.ace_numeric { color:#F5871F;}.ace-tomorrow .ace_invalid { color:#FFFFFF;background-color:#C82829;}.ace-tomorrow .ace_invalid.ace_deprecated { color:#FFFFFF;background-color:#8959A8;}.ace-tomorrow .ace_fold { background-color: #4271AE; border-color: #4D4D4C;}.ace-tomorrow .ace_support.ace_function { color:#4271AE;}.ace-tomorrow .ace_string { color:#718C00;}.ace-tomorrow .ace_string.ace_regexp { color:#C82829;}.ace-tomorrow .ace_comment { color:#8E908C;}.ace-tomorrow .ace_variable { color:#C82829;}.ace-tomorrow .ace_meta.ace_tag { color:#C82829;}.ace-tomorrow .ace_entity.ace_other.ace_attribute-name { color:#C82829;}.ace-tomorrow .ace_entity.ace_name.ace_function { color:#4271AE;}.ace-tomorrow .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow .ace_markup.ace_heading { color:#718C00;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/tomorrow_night",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night",b.cssText=".ace-tomorrow-night .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night .ace_scroller { background-color: #1D1F21;}.ace-tomorrow-night .ace_text-layer { cursor: text; color: #C5C8C6;}.ace-tomorrow-night .ace_cursor { border-left: 2px solid #AEAFAD;}.ace-tomorrow-night .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #AEAFAD;} .ace-tomorrow-night .ace_marker-layer .ace_selection { background: #373B41;}.ace-tomorrow-night .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #4B4E55;}.ace-tomorrow-night .ace_marker-layer .ace_active_line { background: #282A2E;}.ace-tomorrow-night .ace_marker-layer .ace_selected_word { border: 1px solid #373B41;} .ace-tomorrow-night .ace_invisible { color: #4B4E55;}.ace-tomorrow-night .ace_keyword { color:#B294BB;}.ace-tomorrow-night .ace_keyword.ace_operator { color:#8ABEB7;}.ace-tomorrow-night .ace_constant.ace_language { color:#DE935F;}.ace-tomorrow-night .ace_constant.ace_numeric { color:#DE935F;}.ace-tomorrow-night .ace_invalid { color:#CED2CF;background-color:#DF5F5F;}.ace-tomorrow-night .ace_invalid.ace_deprecated { color:#CED2CF;background-color:#B798BF;}.ace-tomorrow-night .ace_fold { background-color: #81A2BE; border-color: #C5C8C6;}.ace-tomorrow-night .ace_support.ace_function { color:#81A2BE;}.ace-tomorrow-night .ace_string { color:#B5BD68;}.ace-tomorrow-night .ace_string.ace_regexp { color:#CC6666;}.ace-tomorrow-night .ace_comment { color:#969896;}.ace-tomorrow-night .ace_variable { color:#CC6666;}.ace-tomorrow-night .ace_meta.ace_tag { color:#CC6666;}.ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name { color:#CC6666;}.ace-tomorrow-night .ace_entity.ace_name.ace_function { color:#81A2BE;}.ace-tomorrow-night .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night .ace_markup.ace_heading { color:#B5BD68;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/tomorrow_night_blue",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night-blue",b.cssText=".ace-tomorrow-night-blue .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night-blue .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night-blue .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night-blue .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night-blue .ace_scroller { background-color: #002451;}.ace-tomorrow-night-blue .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-tomorrow-night-blue .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-tomorrow-night-blue .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;} .ace-tomorrow-night-blue .ace_marker-layer .ace_selection { background: #003F8E;}.ace-tomorrow-night-blue .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night-blue .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404F7D;}.ace-tomorrow-night-blue .ace_marker-layer .ace_active_line { background: #00346E;}.ace-tomorrow-night-blue .ace_marker-layer .ace_selected_word { border: 1px solid #003F8E;} .ace-tomorrow-night-blue .ace_invisible { color: #404F7D;}.ace-tomorrow-night-blue .ace_keyword { color:#EBBBFF;}.ace-tomorrow-night-blue .ace_keyword.ace_operator { color:#99FFFF;}.ace-tomorrow-night-blue .ace_constant.ace_language { color:#FFC58F;}.ace-tomorrow-night-blue .ace_constant.ace_numeric { color:#FFC58F;}.ace-tomorrow-night-blue .ace_invalid { color:#FFFFFF;background-color:#F99DA5;}.ace-tomorrow-night-blue .ace_invalid.ace_deprecated { color:#FFFFFF;background-color:#EBBBFF;}.ace-tomorrow-night-blue .ace_fold { background-color: #BBDAFF; border-color: #FFFFFF;}.ace-tomorrow-night-blue .ace_support.ace_function { color:#BBDAFF;}.ace-tomorrow-night-blue .ace_string { color:#D1F1A9;}.ace-tomorrow-night-blue .ace_string.ace_regexp { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_comment { color:#7285B7;}.ace-tomorrow-night-blue .ace_variable { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_meta.ace_tag { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_entity.ace_other.ace_attribute-name { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_entity.ace_name.ace_function { color:#BBDAFF;}.ace-tomorrow-night-blue .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night-blue .ace_markup.ace_heading { color:#D1F1A9;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/tomorrow_night_bright",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night-bright",b.cssText=".ace-tomorrow-night-bright .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night-bright .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night-bright .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night-bright .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night-bright .ace_scroller { background-color: #000000;}.ace-tomorrow-night-bright .ace_text-layer { cursor: text; color: #DEDEDE;}.ace-tomorrow-night-bright .ace_cursor { border-left: 2px solid #9F9F9F;}.ace-tomorrow-night-bright .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #9F9F9F;} .ace-tomorrow-night-bright .ace_marker-layer .ace_selection { background: #424242;}.ace-tomorrow-night-bright .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night-bright .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #343434;}.ace-tomorrow-night-bright .ace_marker-layer .ace_active_line { background: #2A2A2A;}.ace-tomorrow-night-bright .ace_marker-layer .ace_selected_word { border: 1px solid #424242;} .ace-tomorrow-night-bright .ace_invisible { color: #343434;}.ace-tomorrow-night-bright .ace_keyword { color:#C397D8;}.ace-tomorrow-night-bright .ace_keyword.ace_operator { color:#70C0B1;}.ace-tomorrow-night-bright .ace_constant.ace_language { color:#E78C45;}.ace-tomorrow-night-bright .ace_constant.ace_numeric { color:#E78C45;}.ace-tomorrow-night-bright .ace_invalid { color:#CED2CF;background-color:#DF5F5F;}.ace-tomorrow-night-bright .ace_invalid.ace_deprecated { color:#CED2CF;background-color:#B798BF;}.ace-tomorrow-night-bright .ace_fold { background-color: #7AA6DA; border-color: #DEDEDE;}.ace-tomorrow-night-bright .ace_support.ace_function { color:#7AA6DA;}.ace-tomorrow-night-bright .ace_string { color:#B9CA4A;}.ace-tomorrow-night-bright .ace_string.ace_regexp { color:#D54E53;}.ace-tomorrow-night-bright .ace_comment { color:#969896;}.ace-tomorrow-night-bright .ace_variable { color:#D54E53;}.ace-tomorrow-night-bright .ace_meta.ace_tag { color:#D54E53;}.ace-tomorrow-night-bright .ace_entity.ace_other.ace_attribute-name { color:#D54E53;}.ace-tomorrow-night-bright .ace_entity.ace_name.ace_function { color:#7AA6DA;}.ace-tomorrow-night-bright .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night-bright .ace_markup.ace_heading { color:#B9CA4A;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/tomorrow_night_eighties",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night-eighties",b.cssText=".ace-tomorrow-night-eighties .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night-eighties .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night-eighties .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night-eighties .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night-eighties .ace_scroller { background-color: #2D2D2D;}.ace-tomorrow-night-eighties .ace_text-layer { cursor: text; color: #CCCCCC;}.ace-tomorrow-night-eighties .ace_cursor { border-left: 2px solid #CCCCCC;}.ace-tomorrow-night-eighties .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #CCCCCC;} .ace-tomorrow-night-eighties .ace_marker-layer .ace_selection { background: #515151;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night-eighties .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #6A6A6A;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_active_line { background: #393939;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selected_word { border: 1px solid #515151;} .ace-tomorrow-night-eighties .ace_invisible { color: #6A6A6A;}.ace-tomorrow-night-eighties .ace_keyword { color:#CC99CC;}.ace-tomorrow-night-eighties .ace_keyword.ace_operator { color:#66CCCC;}.ace-tomorrow-night-eighties .ace_constant.ace_language { color:#F99157;}.ace-tomorrow-night-eighties .ace_constant.ace_numeric { color:#F99157;}.ace-tomorrow-night-eighties .ace_invalid { color:#CDCDCD;background-color:#F2777A;}.ace-tomorrow-night-eighties .ace_invalid.ace_deprecated { color:#CDCDCD;background-color:#CC99CC;}.ace-tomorrow-night-eighties .ace_fold { background-color: #6699CC; border-color: #CCCCCC;}.ace-tomorrow-night-eighties .ace_support.ace_function { color:#6699CC;}.ace-tomorrow-night-eighties .ace_string { color:#99CC99;}.ace-tomorrow-night-eighties .ace_comment { color:#999999;}.ace-tomorrow-night-eighties .ace_variable { color:#F2777A;}.ace-tomorrow-night-eighties .ace_meta.ace_tag { color:#F2777A;}.ace-tomorrow-night-eighties .ace_entity.ace_other.ace_attribute-name { color:#F2777A;}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_function { color:#6699CC;}.ace-tomorrow-night-eighties .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night-eighties .ace_markup.ace_heading { color:#99CC99;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-twilight",b.cssText=".ace-twilight .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-twilight .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-twilight .ace_gutter { background: #e8e8e8; color: #333;}.ace-twilight .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-twilight .ace_scroller { background-color: #141414;}.ace-twilight .ace_text-layer { cursor: text; color: #F8F8F8;}.ace-twilight .ace_cursor { border-left: 2px solid #A7A7A7;}.ace-twilight .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #A7A7A7;} .ace-twilight .ace_marker-layer .ace_selection { background: rgba(221, 240, 255, 0.20);}.ace-twilight .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-twilight .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 255, 255, 0.25);}.ace-twilight .ace_marker-layer .ace_active_line { background: rgba(255, 255, 255, 0.031);}.ace-twilight .ace_marker-layer .ace_selected_word { border: 1px solid rgba(221, 240, 255, 0.20);} .ace-twilight .ace_invisible { color: rgba(255, 255, 255, 0.25);}.ace-twilight .ace_keyword { color:#CDA869;}.ace-twilight .ace_constant { color:#CF6A4C;}.ace-twilight .ace_invalid.ace_illegal { color:#F8F8F8;background-color:rgba(86, 45, 86, 0.75);}.ace-twilight .ace_invalid.ace_deprecated { text-decoration:underline;font-style:italic;color:#D2A8A1;}.ace-twilight .ace_support { color:#9B859D;}.ace-twilight .ace_fold { background-color: #AC885B; border-color: #F8F8F8;}.ace-twilight .ace_support.ace_function { color:#DAD085;}.ace-twilight .ace_string { color:#8F9D6A;}.ace-twilight .ace_string.ace_regexp { color:#E9C062;}.ace-twilight .ace_comment { font-style:italic;color:#5F5A60;}.ace-twilight .ace_variable { color:#7587A6;}.ace-twilight .ace_xml_pe { color:#494949;}.ace-twilight .ace_meta.ace_tag { color:#AC885B;}.ace-twilight .ace_entity.ace_name.ace_function { color:#AC885B;}.ace-twilight .ace_markup.ace_underline { text-decoration:underline;}.ace-twilight .ace_markup.ace_heading { color:#CF6A4C;}.ace-twilight .ace_markup.ace_list { color:#F9EE98;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -1 +0,0 @@
define("ace/theme/vibrant_ink",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-vibrant-ink",b.cssText=".ace-vibrant-ink .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-vibrant-ink .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-vibrant-ink .ace_gutter { background: #e8e8e8; color: #333;}.ace-vibrant-ink .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-vibrant-ink .ace_scroller { background-color: #0F0F0F;}.ace-vibrant-ink .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-vibrant-ink .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-vibrant-ink .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;} .ace-vibrant-ink .ace_marker-layer .ace_selection { background: #6699CC;}.ace-vibrant-ink .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-vibrant-ink .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-vibrant-ink .ace_marker-layer .ace_active_line { background: #333333;}.ace-vibrant-ink .ace_marker-layer .ace_selected_word { border: 1px solid #6699CC;} .ace-vibrant-ink .ace_invisible { color: #404040;}.ace-vibrant-ink .ace_keyword { color:#FF6600;}.ace-vibrant-ink .ace_constant { color:#339999;}.ace-vibrant-ink .ace_constant.ace_numeric { color:#99CC99;}.ace-vibrant-ink .ace_invalid { color:#CCFF33;background-color:#000000;}.ace-vibrant-ink .ace_invalid.ace_deprecated { color:#CCFF33;background-color:#000000;}.ace-vibrant-ink .ace_fold { background-color: #FFCC00; border-color: #FFFFFF;}.ace-vibrant-ink .ace_support.ace_function { color:#FFCC00;}.ace-vibrant-ink .ace_string { color:#66FF00;}.ace-vibrant-ink .ace_string.ace_regexp { color:#44B4CC;}.ace-vibrant-ink .ace_comment { color:#9933CC;}.ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name { font-style:italic;color:#99CC99;}.ace-vibrant-ink .ace_entity.ace_name.ace_function { color:#FFCC00;}.ace-vibrant-ink .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})
@@ -0,0 +1,183 @@
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
var noOptions = {};
var nonWS = /[^\s\u00a0]/;
var Pos = CodeMirror.Pos;
function firstNonWS(str) {
var found = str.search(nonWS);
return found == -1 ? 0 : found;
}
CodeMirror.commands.toggleComment = function(cm) {
var minLine = Infinity, ranges = cm.listSelections(), mode = null;
for (var i = ranges.length - 1; i >= 0; i--) {
var from = ranges[i].from(), to = ranges[i].to();
if (from.line >= minLine) continue;
if (to.line >= minLine) to = Pos(minLine, 0);
minLine = from.line;
if (mode == null) {
if (cm.uncomment(from, to)) mode = "un";
else { cm.lineComment(from, to); mode = "line"; }
} else if (mode == "un") {
cm.uncomment(from, to);
} else {
cm.lineComment(from, to);
}
}
};
CodeMirror.defineExtension("lineComment", function(from, to, options) {
if (!options) options = noOptions;
var self = this, mode = self.getModeAt(from);
var commentString = options.lineComment || mode.lineComment;
if (!commentString) {
if (options.blockCommentStart || mode.blockCommentStart) {
options.fullLines = true;
self.blockComment(from, to, options);
}
return;
}
var firstLine = self.getLine(from.line);
if (firstLine == null) return;
var end = Math.min(to.ch != 0 || to.line == from.line ? to.line + 1 : to.line, self.lastLine() + 1);
var pad = options.padding == null ? " " : options.padding;
var blankLines = options.commentBlankLines || from.line == to.line;
self.operation(function() {
if (options.indent) {
var baseString = firstLine.slice(0, firstNonWS(firstLine));
for (var i = from.line; i < end; ++i) {
var line = self.getLine(i), cut = baseString.length;
if (!blankLines && !nonWS.test(line)) continue;
if (line.slice(0, cut) != baseString) cut = firstNonWS(line);
self.replaceRange(baseString + commentString + pad, Pos(i, 0), Pos(i, cut));
}
} else {
for (var i = from.line; i < end; ++i) {
if (blankLines || nonWS.test(self.getLine(i)))
self.replaceRange(commentString + pad, Pos(i, 0));
}
}
});
});
CodeMirror.defineExtension("blockComment", function(from, to, options) {
if (!options) options = noOptions;
var self = this, mode = self.getModeAt(from);
var startString = options.blockCommentStart || mode.blockCommentStart;
var endString = options.blockCommentEnd || mode.blockCommentEnd;
if (!startString || !endString) {
if ((options.lineComment || mode.lineComment) && options.fullLines != false)
self.lineComment(from, to, options);
return;
}
var end = Math.min(to.line, self.lastLine());
if (end != from.line && to.ch == 0 && nonWS.test(self.getLine(end))) --end;
var pad = options.padding == null ? " " : options.padding;
if (from.line > end) return;
self.operation(function() {
if (options.fullLines != false) {
var lastLineHasText = nonWS.test(self.getLine(end));
self.replaceRange(pad + endString, Pos(end));
self.replaceRange(startString + pad, Pos(from.line, 0));
var lead = options.blockCommentLead || mode.blockCommentLead;
if (lead != null) for (var i = from.line + 1; i <= end; ++i)
if (i != end || lastLineHasText)
self.replaceRange(lead + pad, Pos(i, 0));
} else {
self.replaceRange(endString, to);
self.replaceRange(startString, from);
}
});
});
CodeMirror.defineExtension("uncomment", function(from, to, options) {
if (!options) options = noOptions;
var self = this, mode = self.getModeAt(from);
var end = Math.min(to.ch != 0 || to.line == from.line ? to.line : to.line - 1, self.lastLine()), start = Math.min(from.line, end);
// Try finding line comments
var lineString = options.lineComment || mode.lineComment, lines = [];
var pad = options.padding == null ? " " : options.padding, didSomething;
lineComment: {
if (!lineString) break lineComment;
for (var i = start; i <= end; ++i) {
var line = self.getLine(i);
var found = line.indexOf(lineString);
if (found > -1 && !/comment/.test(self.getTokenTypeAt(Pos(i, found + 1)))) found = -1;
if (found == -1 && (i != end || i == start) && nonWS.test(line)) break lineComment;
if (found > -1 && nonWS.test(line.slice(0, found))) break lineComment;
lines.push(line);
}
self.operation(function() {
for (var i = start; i <= end; ++i) {
var line = lines[i - start];
var pos = line.indexOf(lineString), endPos = pos + lineString.length;
if (pos < 0) continue;
if (line.slice(endPos, endPos + pad.length) == pad) endPos += pad.length;
didSomething = true;
self.replaceRange("", Pos(i, pos), Pos(i, endPos));
}
});
if (didSomething) return true;
}
// Try block comments
var startString = options.blockCommentStart || mode.blockCommentStart;
var endString = options.blockCommentEnd || mode.blockCommentEnd;
if (!startString || !endString) return false;
var lead = options.blockCommentLead || mode.blockCommentLead;
var startLine = self.getLine(start), endLine = end == start ? startLine : self.getLine(end);
var open = startLine.indexOf(startString), close = endLine.lastIndexOf(endString);
if (close == -1 && start != end) {
endLine = self.getLine(--end);
close = endLine.lastIndexOf(endString);
}
if (open == -1 || close == -1 ||
!/comment/.test(self.getTokenTypeAt(Pos(start, open + 1))) ||
!/comment/.test(self.getTokenTypeAt(Pos(end, close + 1))))
return false;
// Avoid killing block comments completely outside the selection.
// Positions of the last startString before the start of the selection, and the first endString after it.
var lastStart = startLine.lastIndexOf(startString, from.ch);
var firstEnd = lastStart == -1 ? -1 : startLine.slice(0, from.ch).indexOf(endString, lastStart + startString.length);
if (lastStart != -1 && firstEnd != -1 && firstEnd + endString.length != from.ch) return false;
// Positions of the first endString after the end of the selection, and the last startString before it.
firstEnd = endLine.indexOf(endString, to.ch);
var almostLastStart = endLine.slice(to.ch).lastIndexOf(startString, firstEnd - to.ch);
lastStart = (firstEnd == -1 || almostLastStart == -1) ? -1 : to.ch + almostLastStart;
if (firstEnd != -1 && lastStart != -1 && lastStart != to.ch) return false;
self.operation(function() {
self.replaceRange("", Pos(end, close - (pad && endLine.slice(close - pad.length, close) == pad ? pad.length : 0)),
Pos(end, close + endString.length));
var openEnd = open + startString.length;
if (pad && startLine.slice(openEnd, openEnd + pad.length) == pad) openEnd += pad.length;
self.replaceRange("", Pos(start, open), Pos(start, openEnd));
if (lead) for (var i = start + 1; i <= end; ++i) {
var line = self.getLine(i), found = line.indexOf(lead);
if (found == -1 || nonWS.test(line.slice(0, found))) continue;
var foundEnd = found + lead.length;
if (pad && line.slice(foundEnd, foundEnd + pad.length) == pad) foundEnd += pad.length;
self.replaceRange("", Pos(i, found), Pos(i, foundEnd));
}
});
return true;
});
});

Some files were not shown because too many files have changed in this diff Show More