Wykres commitów

128 Commity (cd8151b2ce154c830b4d796b1bed54e3f2557a7c)

Autor SHA1 Wiadomość Data
Jaap Joris Vens 774e9e7379 Remove SectionFormSetView. If you need formsets, just add them to your custom form! 2020-03-14 12:35:15 +01:00
Jaap Joris Vens d8d54ea4c4 Refactor forms.py: quite elegant and reusable Page _and_ Section forms. Both
work with the same edit.html template. Finally you can edit sections
individually!
2020-03-13 23:08:21 +01:00
Jaap Joris Vens 1989615e60 Pixel peeping + javascript robustness 2020-03-13 09:39:27 +01:00
Jaap Joris Vens 712b542610 Default form styling 2020-03-11 22:59:44 +01:00
Jaap Joris Vens b56bbec534 Ready for the first deployment! 2020-03-11 11:48:37 +01:00
Jaap Joris Vens 2ef844044d Make forms save and look pretty
TODO: handle bug in show_relevant_fields()
2020-03-10 23:55:46 +01:00
Jaap Joris Vens e47d35a578 Alright, this is much better! Client side javascript much cleaner, plus the
templates are now truly recursive! Moving on to implementing the server side
code.
2020-03-10 15:17:46 +01:00
Jaap Joris Vens 3cabdda617 Got a perfect _server side_ solution for accepting forms with nested
formsets, automatically generated from a reusable app foreign key relations
to their section model. Georgeous!

However, the client side javascript is, even after a complete refactoring,
still an utter mess. After the template generates the HTML tree it's a chore
to use javascript to show, hide and duplicate nodes based on user
interaction.

Maybe I should look into client-side templating?
2020-03-09 18:24:39 +01:00
Jaap Joris Vens da6cff19f6 New experimental feature branch: subsections.
Despite the name, the idea is to allow reusable apps to add any kind of
formset to the edit page. The first test case is to allow madebyjane to
upload multiple images to a section.

Work in progress.
2020-03-08 22:19:39 +01:00
Jaap Joris Vens 8bd8bdde47 Beautiful hand-drawn edit icon by MadeByJane 2020-03-07 22:52:14 +01:00
Jaap Joris Vens f715a472d7 Pure javascript for dynamically adding forms to formsets. Works, but id
attributes are not properly incremented and will cause unknown trouble in
the future. Strangely enough, it works for now!
2020-03-06 14:37:25 +01:00
Jaap Joris Vens e4950e8d47 Big downstream changes, little upstream tweaks 2020-03-02 19:13:01 +01:00
Jaap Joris Vens bf312ed647 Translations 2020-02-20 22:48:35 +01:00
Jaap Joris Vens 84131e05db css 2020-02-20 11:16:00 +01:00
Jaap Joris Vens 241e5af2d3 Form logic: only save if valid, delete pages when the last sections is deleted 2020-02-20 10:49:11 +01:00
Jaap Joris Vens d5f5bb4296 Change default fields. This breaks existing migrations. Deal with it. 2020-02-19 22:24:01 +01:00
Jaap Joris Vens 25770feb57 I can't believe it actually works! 2020-02-19 20:13:43 +01:00
Jaap Joris Vens c0464a5ab6 Simplify CRUD logic
Whe needs CRUD? If a page exists, you edit it. If it doesn't, the same form
creates it. No more sections on a page? It gets automatically deleted. The
only thing the user has to remember is: nothing. Brilliant, right?
2020-02-19 16:35:23 +01:00
Jaap Joris Vens b783424ff5 Improve forms 2020-02-17 11:03:31 +01:00
Jaap Joris Vens bd8d82d4e7 Another try at making both the Page and Section models be swappable (damn
migrations!)
2020-02-16 15:32:38 +01:00
Jaap Joris Vens 75196b08b2 minor 2020-02-16 14:54:06 +01:00
Jaap Joris Vens c720cac33e New potentially useful section view: a section with a formset. Strange that django/views/generic/edit.py doesn't provide this. I fear I'm going to find out why... 2020-02-15 14:44:44 +01:00
Jaap Joris Vens 7c0eb51c75 minor 2020-02-15 07:51:00 +01:00
Jaap Joris Vens a7a640a721 Fix non-cms forms 2020-02-14 22:03:25 +01:00
Jaap Joris Vens 3d66484afe New feature: auto-resizing textarea's
You didn't know you needed this but now you can't live without it!
2020-02-14 21:40:00 +01:00
Jaap Joris Vens 3f900617c8 Re-introduce formsets
No more clicking individual sections to edit them. From now on, there will
only be one edit button! The biggest challenge was getting the javascript
closures to understand.
2020-02-14 17:20:41 +01:00
Jaap Joris Vens ddbd220527 no exceptions 2020-02-13 20:37:38 +01:00
Jaap Joris Vens a217b1891a Fix NumberedModel bug 2020-02-08 08:31:51 +01:00
Jaap Joris Vens ac26eea81c Oops 2020-01-31 19:43:15 +01:00
Jaap Joris Vens 5ddf0c7e0e Missing translations 2020-01-13 11:49:55 +01:00
Jaap Joris Vens fc64b876da Move ContactForm back to cms package. Where should it live? 2020-01-06 12:51:10 +01:00
Jaap Joris Vens 2824d290f8 Cleanup source tree
The separate apps numberedmodel and simplesass have been merged into cms
2020-01-05 13:37:51 +01:00
Jaap Joris Vens 5f5f303187 A new templatetag 'includesection' now renders a section with its own
context, as provided by the polymorphic subsection's registered view.

Also, I'm trying to move all the website-related cruft from cms into the
example project, so that only the Page and Section models with their own
"admin" views will remain.
2020-01-05 03:36:23 +01:00
Jaap Joris Vens 9e1baf6ee1 Add bleach to the dependencies (although it is not currently being used...) 2020-01-02 23:45:27 +01:00
Jaap Joris Vens f9ea04662b Replace CKEditor's RichTextField with MarkdownField
Because you should not store raw HTML in database tables!
2020-01-02 23:37:26 +01:00
Jaap Joris Vens bd654f5103 Minor 2020-01-02 20:30:24 +01:00
Jaap Joris Vens e0dddeda08 New machinery for registering custom views
Each custom section can now have their own associated custom SectionView.
SectionView subclasses behave just like Django's generic views, except they
return Section objects instead of http responses. The updated PageView takes
care of compositing all rendered sections into the final response. Nice!
2020-01-02 19:32:15 +01:00
Jaap Joris Vens 25350b4706 New helper command: simplecms 2020-01-02 03:33:41 +01:00
Jaap Joris Vens a69d51a0dc Automatic detection of available section types
Use the decorator @register to register your own Section child models, and
use their fields attribute to specify which fields it uses.
2020-01-02 01:56:15 +01:00
Jaap Joris Vens 646311335b A little javascript magic shows only the fields defined on the subclassed models 2019-12-31 14:06:08 +01:00
Jaap Joris Vens d166e10b05 First draft of version 2.0.0
Oh boy! This is a big one. Two new dependencies: swapper and
django-polymorphic will now allow any project that uses cms to elegantly
extend the default Section model with custom fields and custom subclasses.
This is still a work in progress.
2019-12-31 13:05:12 +01:00
Jaap Joris Vens 4004643dea Added flexbox align-content. I don't really understand what it does. Yet. 2019-12-28 23:31:30 +01:00
Jaap Joris Vens 6e1a6ac220 Fix small insignificant bug 2019-12-28 23:26:34 +01:00
Jaap Joris Vens 15b44b7d44 Somewhat better default styling 2019-12-28 23:22:51 +01:00
Jaap Joris Vens 4d5adcaa34 New conf parameter PAGE_URL_PATTERN 2019-12-28 21:14:06 +01:00
Jaap Joris Vens f8f4e03454 Minor CSS tweaks 2019-12-28 12:29:11 +01:00
Jaap Joris Vens dc9744c5eb Make it easier to extend the default PageView.
First, extend BasePageView and add stuff to the context that your sections
need. Second, create a URLConf entry pointing to your new class. Third,
extend the base.html nav block and change the {% url cms:page %} to its new
name.

It seems so easy in hindsight...
2019-12-28 03:05:30 +01:00
Jaap Joris Vens c9a4d4e0fd Move `project` module to examples subdirectory, since it is not
a functioning Python module without editing settings.py and customizing
the PROJECT_NAME variable.

Also, some small CSS tweaks and a rewrite of README.md
2019-12-27 14:55:52 +01:00
Jaap Joris Vens dd9bc98b7d found uncommitted 2019-12-17 12:18:03 +01:00
Jaap Joris Vens 88e420f4c0 Include numberedmodel and simplesass apps
These apps are so minimal they don't warrant their own repository. I'm
hoping they will find a new home here. This move kind of obsoletes the
github.com/rtts/django-numberedmodel and github.com/rtts/django-simplesass
repositories, although I'm not planning to update their documentation unless
I make any major changes here.
2019-11-22 11:57:10 +01:00