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.

Reply via email to