It's definitely a tough option to grasp all the possible approaches
since it behaves so differently based on what's passed to it.

On May 7, 10:59 am, Brett Nelson <[email protected]> wrote:
> You are welcome, my help wasn't so good though, it looks like strings
> get eval'd so I was wrong there, Kevin got it right!
>
> Bret
>
> On May 6, 4:20 pm, Karsten Redmer <[email protected]> wrote:
>
>
>
> > @Kevin: It works ! - I think you helped me now the third time (my
> > previous nick was treemaster)! Thanks a lot.
>
> > I added this to my user-model
>
> > named_scope :debuguser, :conditions => {:debugmode => true }
>
> > and this to the transition:
>
> > transition :chooseuplineback, { :ready
> > => :missingUpline }, :available_to => "User.debuguser"
>
> > @Brett: thanks again. Now I understand a little bit more about
> > procs...
>
> > I love hobo and the community!
>
> > Karsten
>
> > On 6 Mai, 23:26, kevinpfromnm <[email protected]> wrote:
>
> > > acting_user isn't defined in the proc space I believe.  the only thing
> > > passed to is is the record.  you might be able to do r.acting_user.
>
> > > a clearer way to do it though is make a named_scope that requires
> > > debugmode be true, then you can just do :available_to =>
> > > 'User.scope_name_here'
>
> > > fromhttp://cookbook.hobocentral.net/manual/lifecycles#the__optionif
> > > passed a string, it will evaluate it and if the return is a
> > > collection, it sees if the user is a member of the collection.
>
> > > On May 6, 2:50 pm, Karsten Redmer <[email protected]> wrote:
>
> > > > Thanks Brett.
>
> > > > I got an error: undefined local variable or method `acting_user' for
> > > > #<Class:0xb6ec9fa8>
>
> > > > => in debugger I can't find "acting_user" !
>
> > > > => in the proc "r" is the contact-record
>
> > > > I have some more questions:
>
> > > > in lifecycle/available_to-manual I find this:
>
> > > > - A proc – if the proc takes one argument it is called with the
> > > > record, if it takes none it is instance_eval‘d on the record
> > > > Q: what ist the meaning of this or how can I use the difference?
>
> > > > The value returned is then used to determine if the acting_user has
> > > > access or not. The value is expected to be:
> > > >     * A class – access is granted if the acting_user is a kind_of?
> > > > that class.  THAT IS WORKING => "User"
> > > >     * A collection – if the value responds to :include?, access is
> > > > granted if include?(acting_user) is true. e.g.
> > > >     * A record – if the value is neither a class or a collection,
> > > > access is granted if the value is the acting_user
>
> > > > Q: maybe the problem I have is because the contact-model has a
> > > > lifecycle and I can't access the acting_user???
>
> > > > - If I just put "acting_user if acting_user.signed_up?" to lifecycle-
> > > > transition it it NOT working!
> > > > - if I take "User" it works.
> > > > - @acting_user is available !
>
> > > > Thanks,
> > > > Karsten
>
> > > > On 6 Mai, 19:05, Brett Nelson <[email protected]> wrote:
>
> > > > > If it's going to be code it needs to be a proc.
>
> > > > > something like
>
> > > > > available_to_debug_user = Proc.new do |r|
> > > > >   if (acting_user.is_a?(User) and acting_user.debugmode)
> > > > >     acting_user
> > > > >   else
> > > > >     nil
> > > > >   end
> > > > > end
>
> > > > > available_to => available_to_debug_user
>
> > > > > If you look at the hobo cookbook manual it has a nice section on
> > > > > available_to in lifecycles that explains it. I have not tested it this
> > > > > way though...
>
> > > > > Brett
>
> > > > > On May 6, 10:00 am, Karsten Redmer <[email protected]> wrote:
>
> > > > > > Hi,
>
> > > > > > I want to have a condition for my transition if debugmode is set for
> > > > > > the (acting-user in order to display the transition-button or not -
> > > > > > and even to restrict access to it)
>
> > > > > > When I  take available_to "User" I can see the transition button. 
> > > > > > When
> > > > > > I try  "User if User.debugmode" I don't see it. Acting_user don't
> > > > > > work, too.
>
> > > > > > How can I solve this ?
>
> > > > > > ( I tried several things, but nothing worked well)
>
> > > > > > Thanks,
> > > > > > Karsten
>
> > > > > > my Contact-Transition:
>
> > > > > > transition :chooseuplineback, { :ready
> > > > > > => :missingUpline }, :available_to => "User if User.debugmode"
>
> > > > > > my user-model:
>
> > > > > > class User < ActiveRecord::Base
>
> > > > > >   hobo_user_model # Don't put anything above this
>
> > > > > >   fields do
> > > > > >     email_address :email_address, :unique, :name => true, :login =>
> > > > > > true
> > > > > >     administrator :boolean, :default => false
> > > > > >     firstname  :string
> > > > > >     lastname    :string
> > > > > >     debugmode :boolean, :default => false
> > > > > >     timestamps
> > > > > >   end
> > > > > >   has_many :successes
> > > > > >   has_many :contacts, :class_name => "Contact", :through => 
> > > > > > :successes
>
> > > > > > ++++++++++++
>
> > > > > > my contact-model:
>
> > > > > > class Contact < ActiveRecord::Base
>
> > > > > >   hobo_model # Don't put anything above this
>
> > > > > >   fields do
> > > > > >     companyname :string
> > > > > >     lastname  :string
> > > > > >     firstname :string
> > > > > >     email :email_address, :required
> > > > > >    ...
> > > > > >   end
>
> > > > > >   has_many :successes
> > > > > >   has_many :users, :class_name => "User", :through => :successes
>
> > > > > > --
> > > > > > 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 
> > > > > > athttp://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].
> > > > > For more options, visit this group 
> > > > > athttp://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].
> > > > For more options, visit this group 
> > > > athttp://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].
> > > For more options, visit this group 
> > > athttp://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].
> > For more options, visit this group 
> > athttp://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].
> For more options, visit this group 
> athttp://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].
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en.

Reply via email to