IMHO it is good practice to have an Administrative "Sub-Site". See Tutorial 24 in "Rapid Rails with Hobo" written by Bryan Larsen.
http://screencast.com/t/MTI3MzAzY http://hobocentral.net/books Hope that helps... -Owen On Mon, Jul 26, 2010 at 5:28 PM, Arthur Baldwin <[email protected]> wrote: > Thanks Henry. I thought I had explained what I was trying to do in the > Subject Line. > > There are actually several "tabs" (in my vision of a finalized app) that I > would like to prevent from appearing at all, except for users that have the > "administrator checkbox" set to true. I want to have a minimum of > repetetive activity both on the server and in the user's browser. What is > the best way to prevent the generation of those tabs from occurring at all > unless the current user is also an administrator? And how can I > conditionally specify this sort of thing so that the other tabs DO appear > for all users...rather than limiting the display to the Home page? > > Arthur > > ------------------------------ > *From:* Henry Baragar <[email protected]> > *To:* [email protected] > *Sent:* Mon, July 26, 2010 2:04:59 PM > *Subject:* Re: [Hobo Users] Trying to display Users' Tab for Admins Only > > On July 26, 2010 04:47:06 pm Arthur Baldwin wrote: > > Can someone please explain to me why this code produces an error that > seems > > to indicate that the variable "acting_user" does not yet exist, when in > > fact it is referenced several times later on in the same file? > > > > Hobo sets acting_user only when checking permissions (including in the life > > cycle). Google acting_user in this group to get a more complete > explanation. > > > class User < ActiveRecord::Base > > > > hobo_user_model # Don't put anything above this > > if acting_user.administrator? then > > fields do > > name :string, :required, :unique > > email_address :email_address, :login => true > > administrator :boolean, :default => false > > timestamps > > end > > end > > > > I don't think this does what you think it does. Since Hobo applications are > > Rails applications, and Rails reads the database schema to get the field > names, > these field names will be available in the application regardless of > whether > the "fields" section is there or not. Furthermore, when a hobo_migration > is > run, there is no acting_user, which means that if there had not been an > error > message, hobo_migration would have tried to remove these fields from the > database. > > It would be helpful if you explained what you are trying to do. > > Cheers, > Henry > > > belongs_to :group > > > > # --- Signup lifecycle --- # > > > > lifecycle do > > > > state :active, :default => true > > > > create :signup, :available_to => "Guest", > > > > :params => [:name, :email_address, :password, > > : > > :password_confirmation], > > : > > :become => :active > > > > transition :request_password_reset, { :active => :active }, :new_key > => > > true do > > UserMailer.deliver_forgot_password(self, lifecycle.key) > > end > > > > transition :reset_password, { :active => :active }, :available_to => > > > > :key_holder, > > : > > :params => [ :password, :password_confirmation ] > > > > end > > > > # --- Permissions --- # > > > > def create_permitted? > > acting_user.administrator? > > end > > > > def update_permitted? > > acting_user.administrator? || > > (acting_user == self && only_changed?(:email_address, > > :crypted_password, > > > > :current_password, :password, > > : > > :password_confirmation)) > > > > # Note: crypted_password has attr_protected so although it is > permitted > > to change, it cannot be changed > > # directly from a form submission. > > end > > > > def destroy_permitted? > > acting_user.administrator? > > end > > > > def view_permitted?(field) > > acting_user.administrator? > > end > > > > end > > -- > Henry Baragar > Instantiated Software > > -- > You received this message because you are subscribed to the Google Groups > "Hobo Users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to hobousers+ > [email protected]. > For more options, visit this group at > http://groups.google.com/group/hobousers?hl=en. > > > -- > You received this message because you are subscribed to the Google Groups > "Hobo Users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<hobousers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/hobousers?hl=en. > -- - Owen Owen Dall, Chief Systems Architect Barquin International Cell: 410-991-0811 -- You received this message because you are subscribed to the Google Groups "Hobo Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/hobousers?hl=en.
