Commit graph

65 commits

Author SHA1 Message Date
Lance Edgar
59bd58aca7 feat: add new 'waterpark' theme, based on wuttaweb w/ vue2 + buefy
hoping to eventually replace the 'default' view with this one, if all
goes well.  definitely needs more testing and is not exposed as an
option yet, unless configured
2024-08-20 15:03:25 -05:00
Lance Edgar
d29b840343 fix: avoid deprecated reference to app db engine 2024-08-19 14:38:41 -05:00
Lance Edgar
0fb3c0f3d2 fix: fix broken user auth for web API app 2024-08-19 09:23:31 -05:00
Lance Edgar
a6ce5eb21d feat: refactor forms/grids/views/templates per wuttaweb compat
this starts to get things more aligned between wuttaweb and tailbone.
the use case in mind so far is for a wuttaweb view to be included in a
tailbone app.

form and grid classes now have some new methods to match wuttaweb, so
templates call the shared method names where possible.

templates can no longer assume they have tailbone-native master view,
form, grid etc. so must inspect context more closely in some cases.
2024-08-15 15:49:54 -05:00
Lance Edgar
ce156d6278 feat: begin integrating WuttaWeb as upstream dependency
the bare minimum, just to get the relationship established.  mostly
it's calling upstream subscriber / event hooks where applicable.

this also overhauls the docs config to use furo theme etc.
2024-07-12 09:35:34 -05:00
Lance Edgar
d9911cf23d Add 'fanstatic' support for sake of libcache assets
for vue.js and oruga etc.

we don't want to include files in tailbone since they are apt to
change over time, and probably need to use different versions for
different apps etc.

much may need to change yet, this is a first attempt but so far it
seems quite promising
2024-06-05 23:04:45 -05:00
Lance Edgar
efe477d0db Require pyramid 2.x; remove 1.x-style auth policies 2024-06-03 23:13:25 -05:00
Lance Edgar
9b88f01378 Log error if registry has no rattail config
not clear if this is even possible, but if so i want to know about it

trying to figure out the occasional error email we get, latest being
from collectd/curl pinging the /login page, but request.has_perm()
call fails with missing attr?!

seems like either the rattail config is empty, or else the subscriber
events aren't firing (in the correct order) ?
2024-05-31 12:06:31 -05:00
Lance Edgar
358816d9e7 Add oruga overhead for "classic" app only, not API 2024-04-28 00:51:07 -05:00
Lance Edgar
8b4b3de336 Add support for Pyramid 2.x; new security policy
custom apps are still free to use pyramid 1.x

new security policy is only used if config file says so
2024-04-16 09:48:29 -05:00
Lance Edgar
756b4b9d18 No need to configure logging
since the rattail config object will do that when first made
2023-10-23 20:35:43 -05:00
Lance Edgar
64c58a3cf8 Optionally configure SQLAlchemy Session with future=True
this avoids the need for setting `cascade_backrefs=False` everywhere

https://docs.sqlalchemy.org/en/14/errors.html#error-s9r1

https://docs.sqlalchemy.org/en/14/orm/session_api.html#sqlalchemy.orm.Session.params.future
2023-09-10 07:44:13 -05:00
Lance Edgar
49122d940d Stop including deform JS static files
although maybe we *should* be using that method, for some things?  can
revisit later if desired
2023-02-03 18:06:40 -06:00
Lance Edgar
00548a259b Add basic "new model view" wizard 2023-01-16 13:50:27 -06:00
Lance Edgar
d5d9c644a2 Add the ViewSupplement concept
also fix cell-class for grid columns.  cannot use "raw" fieldname
because in some cases (e.g. 'number', 'rate') Bulma may interpret that
as actually meaning something, and affect the display
2022-12-10 09:46:54 -06:00
Lance Edgar
18cec49a86 Add websockets progress, "multi-system" support for upgrades
and related things to better support that
2022-08-20 17:39:33 -05:00
Lance Edgar
2375733d0f Add first experiment with websockets, for datasync status page 2022-08-17 18:24:55 -05:00
Lance Edgar
7c4e9b56c7 Let tailbone providers include static views
also add more native (batch) views to default list
2022-03-06 22:06:57 -06:00
Lance Edgar
c4e872c94c Add the "provider" concept, let them configure db sessions
more to come...
2022-03-06 18:49:09 -06:00
Lance Edgar
74fecf553e Add page/way to configure main menus
just the basics so far, index page routes and separators should be
supported but nothing else.  also "menus from config" is all or
nothing, no way to mix config + code at this point
2022-02-26 17:22:54 -06:00
Lance Edgar
ca57bd3572 Auto-register all config pages, for dropdown in App Settings 2021-12-15 00:00:46 -06:00
Lance Edgar
cc833c52b6 Add common "form poster" logic, to make CSRF token/header names configurable
also refactor the Feedback logic to use it
2020-12-16 14:28:41 -06:00
Lance Edgar
e943a1cd44 Convert mako directories to list, if it's a string
so we can push a new path to it, for sake of theme
2020-06-24 11:36:58 -05:00
Lance Edgar
e756ae3c8f Add "multi-engine" support for Trainwreck transaction views 2019-07-25 15:40:38 -05:00
Lance Edgar
61fa77b752 Remove some pointless tests
they became broken, but not worth fixing
2018-11-30 16:07:58 -06:00
Lance Edgar
6022ef9be3 Don't assume app has configured a tempmon DB engine
whoops
2018-11-29 14:52:44 -06:00
Lance Edgar
36f786f0eb Clean up how we configure DB sessions on app startup
not real sure if the old logic was a "problem" per se, but this cleanup seems
warranted and (fingers crossed) shouldn't break anything
2018-11-28 15:37:57 -06:00
Lance Edgar
ea0dc1ea19 Add template "theme" feature, albeit global
would be even better to let each user session have something different, but
alas this is all-or-nothing for now
2018-11-27 17:52:02 -06:00
Lance Edgar
92c1b165fb Try to configure the 'pyramid_retry' package, if available
this is used (as of pyramid 1.9) for gracefully handling postgres restarts
2018-10-25 14:33:28 -05:00
Lance Edgar
cefadc7c27 Don't configure versioning when making the app
that is now happening as part of the `make_config()` call
2018-07-31 14:08:38 -05:00
Lance Edgar
9149902c78 Remove deprecated "edbob" settings 2018-07-07 20:43:17 -05:00
Lance Edgar
33e345f4ae Officially remove FormAlchemy dependency (yay!) 2018-02-11 23:25:54 -06:00
Lance Edgar
66769ab34b Stop configuring FormAlchemy engine etc. on app startup 2018-02-11 22:41:20 -06:00
Lance Edgar
827cc592b4 Make CSRF protection optional (but on by default) 2017-10-11 15:57:34 -07:00
Lance Edgar
63e336d4bb Override deform template for checkbox field; fix label behavior 2017-08-17 17:21:07 -05:00
Lance Edgar
b309df005c Tweak how pyramid config is created during app startup, for tests
still not sure if this is quite right, but seems to work for now
2017-08-15 16:13:35 -05:00
Lance Edgar
7d0bb80a90 Merge 'better' theme into base templates
i.e. for now there is no 'better' (or any other) theme
2017-08-13 19:11:53 -05:00
Lance Edgar
581ced2990 Switch license to GPL v3 (no longer Affero)
refs #2
2017-07-06 23:47:56 -05:00
Lance Edgar
7340ef1f9b Rearrange some imports to ensure rattail.db.model comes last
this is necessary for Continuum versioning
2017-07-03 23:52:48 -05:00
Lance Edgar
f02d6d4b16 Add basic support for Trainwreck database connectivity 2017-05-12 23:14:30 -05:00
Lance Edgar
1adcb98f11 Various template standardization tweaks 2017-03-29 00:21:10 -05:00
Lance Edgar
b2e21b8e74 Add basic support for per-user session timeout 2017-02-02 21:44:13 -06:00
Lance Edgar
4ed522ae47 Add global CSRF protection 2016-12-14 18:37:17 -06:00
Lance Edgar
8674cf1650 Refactor tempmon views to leverage rattail-tempmon database 2016-12-05 19:14:20 -06:00
Lance Edgar
6bf60365ba Let any 'admin' user elevate to 'root' for full system access
But otherwise, let the Administrator role be "normal" and have perms of
its own.  Hopefully cuts down on unwanted screen noise for admins.
2016-10-18 16:59:38 -05:00
Lance Edgar
b157b79938 Remove last references to 'edbob' package 2016-10-09 21:12:13 -05:00
Lance Edgar
9b50067bd7 Issue proper warning if old 'edbob.config' setting is found 2016-10-09 19:44:45 -05:00
Lance Edgar
b5cea62de7 Tweak how tailbone finds rattail config from pyramid settings
Eventually need to stop supporting the old 'edbob.config' setting, for
now keep it as a fallback.
2016-10-08 14:29:23 -05:00
Lance Edgar
0f3f39d5c6 Add new TimeFieldRenderer, make it default for Time fields
Uses a jQuery UI widget similar to datepicker:

https://fgelinas.com/code/timepicker/
2016-03-24 00:06:04 -05:00
Lance Edgar
a341acb4f0 Make our DateTimeFieldRenderer the default for datetime fields. 2016-02-14 16:34:39 -06:00