Commit Graph
110 Commits
Author SHA1 Message Date
Bharat Mediratta 672eca5337 Lots of deltas rolled up into a bigger change. Sorry for the mess.
1) Deleted in-place-editing.  We'll be replacing this with a real edit
   system that groups settings together and is more coherent.

2) Tweaked the way that dialog boxes work to get the ajax stuff working
   again.  It's imperfect and does not work properly for uploading images.
   This is going to get redone also, but this is a good resting point.

3) Created edit forms for albums and photos.  Moved _update and _create out
   of Items_Controller and into the individual subclasses.

4) Created access::required which is a shorthand for:
    if (!access::can(...)) {
      access::forbidden();
    }

5) Added validation rules to Items_Model

6) Converted login to use the regular modal dialog approach in the theme.
2008-12-24 00:20:26 +00:00
Felix Rabinovich c76d730a7c Edit user - first draft 2008-12-23 21:44:35 +00:00
Chad Kieffer 69daaffb05 Fixed indents 2008-12-23 06:33:28 +00:00
Bharat Mediratta 47d068e4a8 Remove extraneous view, not necessary 2008-12-22 10:39:13 +00:00
Bharat Mediratta fe27bd1eb3 Change the way that we track modules.
Each module now has a "module.info" file that has information about
the module, including the core.  We can display the installed version,
and the version in the code.

Also take a first shot at a modules admin page.
2008-12-22 03:41:33 +00:00
Bharat Mediratta 849b271a8c Add info/warning/error classes to log messages. 2008-12-21 10:35:30 +00:00
Bharat Mediratta b3c05b1579 Move logging up to the controllers so that our logging can operate at a more meta level 2008-12-21 04:18:42 +00:00
Bharat Mediratta f0b6333344 Add a logging facility, and instrument login/logout to use it. 2008-12-21 03:50:11 +00:00
Bharat Mediratta 6564007a9d Implement admin user editing. It's still very rough. Trying to
figure out how to share forms between user and admin editing.

Incremental improvement
2008-12-19 22:16:10 +00:00
Bharat Mediratta 855a5928ce Create a new pattern for Site Admin controllers:
1) They must all start with "admin_".  This pattern is not directly
   routable.

2) Their urls must be /admin/xxx.

3) The Admin_Controller will take the xxx and look for Admin_Xxx_Controller
   and will delegate to that admin controller, after doing security checks.

Moved the users and dashboard views into individual modules for now.
2008-12-19 09:47:13 +00:00
Bharat Mediratta 5d2b1ae056 Don't try to validate the form unless it's a POST request. 2008-12-19 03:05:11 +00:00
Bharat Mediratta 0cf07fbeec Fix indentation. 2008-12-19 03:02:58 +00:00
Bharat Mediratta c67234974d Refactor site admin menu into a theme function and build the menus in
the various modules.  In the process, rename xxx_menu::site_navigation() to just
xxx_menu::site().  And add xxx_menu::admin().

The menus are the same as before, but I changed the HTML to be
consistent with the way that we do it in the regular site, and this
broke the superfish styles.  I don't know how to fix this.. help me
Chad!
2008-12-18 07:32:34 +00:00
Chad Kieffer c2598fe4d8 Dialog polishing. They now resize their height. Updated form styles in the context of dialog display (don't show legends, fieldset border, or submit button).
Let's make sure that all forms generated are complete and well formed and then use JS and CSS to control their display and behavior in different contexts.
2008-12-18 02:50:40 +00:00
Bharat Mediratta 093fb407a8 Fix a bug where setting the active user did not reset group_ids (unit tests ftw!) 2008-12-17 19:23:04 +00:00
Bharat Mediratta fa5a8fde4a Switch from cookie sessions to database sessions. We can't use cookie
sessions; it encodes all the value into the cookie which means
little/no security, transfer costs, and storage limits.
2008-12-17 18:32:08 +00:00
Bharat Mediratta 130e26983a Add initialization to the user module to put the user and group_ids
into the session, for easy access.  This cuts down the number of
queries when we're loading images through file_proxy.php
2008-12-17 17:40:45 +00:00
Tim Almdal 363548bfc4 2008-12-16 20:40:29 +00:00
Bharat Mediratta d9e02a5d0c Various optimizations:
o Add model_cache::get() which caches models avoiding duplicate lookups
o Stop using ORM relationships for Item_Model::owner so that we can use caching
o For Item_Model::xxx_edit fields, don't make them editable for guests
o Other minor stuff.

These optimizations reduce the number of queries for a 9-photos page from ~200
to ~45.  Still way too many!
2008-12-16 04:29:00 +00:00
Bharat Mediratta b6363bcb03 Update to reflect changes in Kohana ORM relationship code.
Now you must call ORM::save() after ORM::add() and ORM::remove().
2008-12-15 20:49:05 +00:00
Chad Kieffer 119344d9db Switched login display from display in the header to a dialog. Validation errors don't display on first failed attempt, will fix later. Moved jquery js, images, css out to respective folders. 2008-12-15 02:45:50 +00:00
Tim Almdal e66a31bf45 Change the login form so that the legend is populated 2008-12-15 02:40:17 +00:00
Bharat Mediratta a3142246e4 Move the view permission cache directly into the item table for efficiency. Unit tests ftw! 2008-12-12 06:54:48 +00:00
Bharat Mediratta 8b3989b063 Add user::guest() convenience function 2008-12-12 06:54:13 +00:00
Bharat Mediratta 2cf3233f54 Get rid of all pseudo users and pseudo groups, while preserving all
other functionality.  This makes our user/group and access code
fully consistent.
2008-12-12 00:59:30 +00:00
Bharat Mediratta 09364348c7 Remove navigation_top() and navigation_bottom() as they're subsumed by the new menu code 2008-12-10 04:25:20 +00:00
Bharat Mediratta e62103b8d9 Move code to delete users and add/remove users from groups into the
model.
2008-12-09 08:47:30 +00:00
Bharat Mediratta f69f3967ea move user::delete() to User_Model::delete() 2008-12-09 00:07:26 +00:00
Bharat Mediratta b878ed174d Refactor Menu code to create allow you to create menus using a
chainable factory interface and retrieve them by ids.  Streamlined the
HTML creation code a little bit in the process, moved the basic menu
functionality into Theme_View and created the option to have different
menus other than site_navigation().
2008-12-08 06:14:34 +00:00
Tim Almdal ee2299d6d0 Restructure Menu processing to respect the differnent types of menu items (Menu's, Menu_Link, Menu_Dialog) 2008-12-08 00:23:33 +00:00
Tim Almdal 954fcf0342 Merge gallery3/branches/menus back into gallery3/trunk 2008-12-07 19:45:46 +00:00
Chad Kieffer adfe664d96 Removed tabs, todo, added description 2008-12-06 23:28:26 +00:00
Chad Kieffer 0d1c040605 Don't need to pass the event, it's not used. 2008-12-05 06:01:44 +00:00
Bharat Mediratta 91c4bda1ec Prototype access control model. There's much left to do, but it's a
working implementation.
2008-12-01 08:50:00 +00:00
Chad Kieffer 26a512c352 Grouped inline form styles. No longer using gInline class in favor of specific form IDs that can be styled differently depending on which container they appear. Added gDescription class, dropped gUnderState for semantics. CSS cleanup. 2008-12-01 01:55:50 +00:00
Bharat Mediratta 8b6ed6c477 Create module::event() which runs Gallery events. It works by
convention.  To respond to the "photo_created" event in the gmaps
module, you create modules/gmaps/helpers/gmaps_event.php containing
class gmaps_event which has function photo_created.

Renamed all events from gallery.foo.bar to foo_bar
Updated tag module to use new convention.
2008-11-28 19:37:01 +00:00
Chad Kieffer 143337dbf0 Use return false instead of preventDefault() to prevent link action, thx Tim 2008-11-28 04:22:52 +00:00
Tim Almdal 828f23896f Rename item events and create events for comment create, login, logout, user creation. I probably forgot some, but its a start. 2008-11-28 00:51:38 +00:00
Bharat Mediratta 8d4bd0c814 Update tests to reflect the fact that the admin group is gone.
Fix a bug in user::create(), found by the unit tests (hooray)!
2008-11-27 19:46:39 +00:00
Bharat Mediratta e183901dc3 Give the admin user actual admin privileges 2008-11-27 11:43:11 +00:00
Bharat Mediratta 34a286ae90 Add navigation_top() and navigation_bottom() insertion points
Move "My Gallery" navigation tab into the user module and only show it
if you're logged in
2008-11-27 11:33:45 +00:00
Bharat Mediratta c95c17b133 Centralize logging around installing/uninstalling modules. 2008-11-27 09:45:26 +00:00
Tim Almdal 27e64f1dc6 Move javascript from default theme to appropriate modules 2008-11-27 06:14:32 +00:00
Bharat Mediratta e1f39ac13f Re-enable code to drop view columns from the items table when deleting groups. 2008-11-26 09:38:39 +00:00
Bharat Mediratta 427dc7a0d1 Ignore errors from dropping view columns from the items table. 2008-11-26 09:34:31 +00:00
Tim Almdal de56a33c9c Clean tag creation 2008-11-26 06:37:12 +00:00
Bharat Mediratta 9c60566197 Add support for marking users as "admin" 2008-11-26 04:54:43 +00:00
Bharat Mediratta 226df2a8f8 Add support in the scaffolding for adding users to groups, adding and
removing users and groups.
2008-11-26 04:45:43 +00:00
Bharat Mediratta 5ccb050413 group::create() and group::delete() now manage the view_## columns in
the items table.

Convert installer over to using new creation API.
2008-11-26 04:13:57 +00:00
Bharat Mediratta 5fce343ca4 Create user/group create/delete functions and have the scaffolding use them. 2008-11-26 03:34:39 +00:00