]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole.pm
Added user() attribute and get_user() stub.
[maypole.git] / lib / Maypole.pm
index 9f1af35366433899221fa6cf1fe191eb42dd8cfa..087f2b9daae744671f8cf3af72cd4886531edab8 100644 (file)
@@ -38,7 +38,7 @@ The canonical example used in the Maypole documentation is the beer database:
     $config->uri_base("http://localhost/beerdb");
     $config->template_root("/path/to/templates");
     $config->rows_per_page(10);
-    $config->display_tables([qw[beer brewery pub style]]);
+    $config->display_tables([qw/beer brewery pub style/]);
 
     # table relationships
     $config->relationships([
@@ -199,7 +199,7 @@ __PACKAGE__->mk_classdata($_) for qw( config init_done view_object );
 __PACKAGE__->mk_accessors(
     qw( params query objects model_class template_args output path
         args action template error document_encoding content_type table
-        headers_in headers_out stash session)
+        headers_in headers_out stash session user)
 );
 
 __PACKAGE__->config( Maypole::Config->new() );
@@ -437,6 +437,7 @@ sub handler : method
     return $status unless $status == Maypole::Constants::OK();
     
     $self->session($self->get_session);
+    $self->user($self->get_user);
     
     $status = $self->handler_guts;
     
@@ -691,12 +692,30 @@ sub is_model_applicable
 
 =item get_session
 
+Called immediately after C<start_request_hook()>.
+
+This method should return a session, which will be stored in the request's
+C<session> attribute.
+
 The default method is empty. 
 
 =cut
 
 sub get_session { }
 
+=item get_user
+
+Called immediately after C<get_session>.
+
+This method should return a user, which will be stored in the request's C<user>
+attribute.
+
+The default method is empty.
+
+=cut
+
+sub get_user {}
+
 =item call_authenticate
 
 This method first checks if the relevant model class
@@ -1200,7 +1219,7 @@ calls during processing of a request. This is a brief summary:
            |                        |                  |
            |-----+ init             |                  |
            ||<---+                  |                  |
-           ||                       |     new          |     view_object: e.g
+           ||                       |     new          |     view_object: e.g.
            ||---------------------------------------------> Maypole::View::TT
            |                        |                  |          |
            |                        |                  |          |
@@ -1230,6 +1249,9 @@ calls during processing of a request. This is a brief summary:
             |         ||-----+ get_session         |       |         |
             |         |||<---+                     |       |         |
             |         ||                           |       |         |
+            |         ||-----+ get_user            |       |         |
+            |         |||<---+                     |       |         |
+            |         ||                           |       |         |
             |         ||-----+ handler_guts        |       |         |
             |         |||<---+                     |       |         |
             |         |||     class_of($table)     |       |         |
@@ -1245,14 +1267,14 @@ calls during processing of a request. This is a brief summary:
             |         |||                          |       |         |
             |         |||-----+ additional_data    |       |         |
             |         ||||<---+                    |       |         |
-            |         |||             process      |       |   fetch_objects
-            |         |||--------------------------------->||-----+  |
+            |         |||             process      |       |         |
+            |         |||--------------------------------->||  fetch_objects
+            |         |||                          |       ||-----+  |
             |         |||                          |       |||<---+  |
             |         |||                          |       ||        |
             |         |||                          |       ||   $action
             |         |||                          |       ||-----+  |
-            |         |||                          |       |||<---+  |
-            |         |||                          |       |         |
+            |         |||                          |       |||<---+  |            
             |         |||         process          |       |         |
             |         |||------------------------------------------->|| template
             |         |||                          |       |         ||-----+