MDL-30340 blocks - hide some redundant pagetypepattern options at front page
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Sun, 4 Dec 2011 23:48:08 +0000 (00:48 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 5 Dec 2011 00:09:02 +0000 (01:09 +0100)
commitd4e71a4eed3cd72c0954ba5b117a7ae2725639ef
tree6eebb4df27b5f560fa8d187d3580fb88ac0dbd7b
parent9d2c424d832404155fb03bd244813ecfdfddb9e0
MDL-30340 blocks - hide some redundant pagetypepattern options at front page

The dual front-page/system-wide form to edit blocks can
be reduced asuming that, always:

A) system sets the context to system,
   recursively and with page-type set to "*"
B) frontpage only sets the context to site-course,
   non-recursively and with page-type set to "site-index"
C) frontpage all added sets the context to site-course,
   recursively and with paget-type set to "*"

And that is the change that this patch provides, by:

1) detecting properly if we are editing blocks @ protpage
2) passing that information to the form data processor
3) setting parentcontextid, showinsubcontexts and
   pagetypepattern following the A, B, C immutables above.

Finally, and affecting some other system-wide pages, there
are cases (my, user templates...) having only one possible
pagetypepattern, and it looks badly if the page has subpages, so
for those system-wide cases we are showing exceptionaly the
pagetypepattern statically. This will be revisited once MDL-30574
is decided and implemented, although perhaps it's ok to leave it
as default to places with only one pagetypepattern available.
blocks/edit_form.php
lib/blocklib.php