Yes, sorry, I only had the conditional branching on the session
variable in the update method. Sorry. The create method is as follows
(I have marked off where I want to branch our from...so that I am back
at http://.../associates/list :

def create
      params[:associate][:state]=params['state']
      @associate = Associate.new(params[:associate])
      set_branch_code
      if @associate.save
        if(session['fromlogin']!= nil && session['fromlogin']
==1)
          flash[:notice] = "Registration successful."
          redirect_to root_url
         end
         session['fromlogin']=0
         #redirect_to where to from here per kenny?
<--------------------------------------------------
      else
        #render :action => 'new'
        render :action => 'new', :layout => 'other_layout'
      end
    end

On May 29, 7:06 pm, Kenny Ortmann <[email protected]> wrote:
> currently in your controller you have
>
> def create
>   @associate = Associate.new(params[:associate])
>   @associate.startdate = Date.today
>   if @associate.save
>      flash[:notice] = "Registration successful."
>      redirect_to root_url
>    else
>     #render :action => 'new'
>          render :action => 'new', :layout => 'other_layout'
>     end
> end
>
> This method says that after a create you want to redirect to the root url.
>
> In your first email you said that after create or update you want it to
> behave like active scaffold normally would correct?
>
> so for instance you wouldn't want to redirect to root url?
>
> On Fri, May 29, 2009 at 5:57 PM, JannaB <[email protected]> wrote:
>
> > Kenny,
>
> > Any thoughts on this? Thanks!
>
> > On May 28, 10:51 am, JannaB <[email protected]> wrote:
> > > Sure Kenny! (and thanks),
>
> > > I have a login page, where the user (I call an 'Associate')
> > > authenticates to. They can also, from that page, update their
> > > Associate's record (with contact info, etc.). ADDITIONALLY, I am
> > > letting administrators do a list, via AS, of Associates, and edit /
> > > create from there (thus, I have the session variable 'fromlogin' to
> > > determine where to route to, i.e., where they are coming from. If
> > > fromlogin==0, I know it is the administrator in AS editing the record.
>
> > > Here is my controller:
>
> > > class AssociatesController < ApplicationController
> > >   before_filter :require_associate, :only =>
> > > [:index, :show, :list, :edit, :update, :delete, :destroy, :search]
> > >   before_filter :setforlist, :only => [:index, :show, :list]
>
> > >   active_scaffold :associate do |config|
> > >       config.label = "Associates"
> > >       config.create.columns =
> > > [:username, :email, :prefix, :firstname, :middlename, :lastname,
> > :street1, :street2, :city,  :state, :postalcode, :country,  :phonework,
> > :phonehome, :phonecell, :phonefax,  :phoneother, :jobtitle, :organization,
> >  :startdate, :dob,  :ssno,  :maritalstatus, :password, :custom1, :custom2,
> >  :custom3, :custom4,  :branch, :notes ]
> > >       config.update.columns =
> > > [:username, :email, :prefix, :firstname, :middlename, :lastname,
> > :street1, :street2, :city,  :state, :postalcode, :country,  :phonework,
> > :phonehome, :phonecell, :phonefax,  :phoneother, :jobtitle, :organization,
> >  :startdate, :dob,  :ssno,  :maritalstatus, :password, :custom1, :custom2,
> >  :custom3, :custom4,  :branch, :notes ]
> > >       config.list.columns  =
> > > [:lastname, :firstname, :username, :email, :branch]
> > >       #list.columns.exclude :comments
> > >       config.columns[:state].form_ui = :usa_state
> > >       config.columns[:country].form_ui = :country
> > >       list.sorting = {:lastname => 'ASC'}
> > >       #columns[:phone].label = "Phone #"
> > >       columns[:phonework].description = "(Format: ###-###-####)"
> > >       columns[:phonehome].description = "(Format: ###-###-####)"
> > >       columns[:phonecell].description = "(Format: ###-###-####)"
> > >       columns[:phonefax].description = "(Format: ###-###-####)"
> > >       config.actions.exclude :show #, :delete
> > >       config.actions.swap :search, :live_search
>
> > >     end
>
> > >     def setforlist
> > >       session['fromlogin']=0
> > >     end
>
> > >           def new
> > >               @associate = Associate.new
> > >               render :action => 'new', :layout => 'other_layout'
> > >           end
>
> > >           def create
> > >             @associate = Associate.new(params[:associate])
> > >             @associate.startdate = Date.today
> > >             if @associate.save
> > >               flash[:notice] = "Registration successful."
> > >               redirect_to root_url
> > >             else
> > >               #render :action => 'new'
> > >               render :action => 'new', :layout => 'other_layout'
> > >             end
> > >           end
>
> > >           def edit
> > >             @associate = current_associate
> > >             render :action => 'edit', :layout => 'other_layout'
> > >             _get_states #forces state to be set when edit div
> > > displayed
> > >           end
>
> > >           def update
> > >             @associate = current_associate #Associate.find(params[:id])
> > > #
> > >             if @associate.update_attributes(params[:associate])
> > >               flash[:notice] = "Successfully updated profile."
> > >               #puts session['fromlogin']
> > >               if(session['fromlogin']!= nil && session['fromlogin']
> > > ==1)
> > >                   redirect_to root_url
> > >               end
> > >               session['fromlogin']=0
> > >             else
> > >               render :action => 'edit', :layout =>
> > > 'other_layout'
> > >               #render :action => 'edit'
> > >             end
> > >           end
>
> > >   def do_destroy
> > >       associate = Associate.find(params[:id])
> > >       self.successful = associate.update_attributes(:deleted => -1)
> > >     end
>
> > >    def _get_states
> > >      q = params[:country]
> > >      # puts "******************"
> > >      if(q==nil)
> > >       �...@associate = current_associate
> > >        [email protected]
> > >      end
> > >      #puts q
> > >      if(q!=Carmen.default_country)
> > >         q1 = q.gsub("_", " ")
> > >         if(q1!=q && q1!=nil)
> > >             q = q1.titleize #q1.split(' ').map {|w| w.capitalize }.join
> > > (' ')
> > >         else
> > >             q.capitalize!
> > >         end
> > >         q = Carmen::country_code(q)
> > >      end
> > >      #puts q
> > >      #puts Carmen.default_country
> > >      #puts "******************"
> > >     @states =  Carmen::states(q)
> > >    end
> > > end
>
> > > (p.s. I am using Authologic for authentication)
>
> > > Here is my login view:
> > > <% title "Login" %>
>
> > > <% form_for @associate_session do |f| %>
> > >   <%= f.error_messages %>
> > >   <p>
> > >     <%= f.label :username %><br />
> > >     <%= f.text_field :username %>
> > >   </p>
> > >   <p>
> > >     <%= f.label :password %><br />
> > >     <%= f.password_field :password %>
> > >   </p>
> > >   <br />
> > >   <%= f.check_box :remember_me %>
> > >   <%= f.label :remember_me %><br />
> > >   <br />
> > >   <% session['fromlogin'] = 1 %>
> > >   <p><%= f.submit "Submit" %></p>
> > > <% end %>
>
> > > Here is my Associates partial that gets called on new or edit:
>
> > > <% form_for @associate do |f| %>
> > >   <%= f.error_messages %>
> > >   <p>
> > >     <%= f.label :username %><br />
> > >     <%= f.text_field :username %>
> > >   </p>
> > >   <p>
> > >     <%= f.label :email %><br />
> > >     <%= f.text_field :email %>
> > >   </p>
> > >   <p>
> > >     <%= f.label :password %><br />
> > >     <%= f.password_field :password %>
> > >   </p>
> > >   <p>
> > >     <%= f.label :password_confirmation %><br />
> > >     <%= f.password_field :password_confirmation %>
> > >   </p>
> > >   <p>
> > >     <%= f.label :prefix %><br />
> > >     <%= f.select( "prefix", [
> > >     ["Mr." , "Mr."],
> > >     ["Mrs.","Mrs."],
> > >     ["Miss", "Miss"],
> > >     ["Ms." ,"Ms."],
> > >     ["Dr." , "Dr."],
> > >     ["Hon.","Hon."],
> > >     ["Fr. ", "Fr."]], {:include_blank => true})
> > >       %>
> > >   </p>
> > >   <p>
> > >      <%= f.label :firstname %><br />
> > >      <%= f.text_field :firstname %>
> > >   </p>
> > >   <p>
> > >      <%= f.label :middlename %><br />
> > >      <%= f.text_field :middlename %>
> > >   </p>
> > >   <p>
> > >      <%= f.label :lastame %><br />
> > >      <%= f.text_field :lastname %>
> > >   </p>
> > >   <p>
> > >      <%= f.label :street1 %><br />
> > >      <%= f.text_field :street1 %>
> > >   </p>
> > >   <p>
> > >      <%= f.label :street2 %><br />
> > >      <%= f.text_field :street2 %>
> > >   </p>
> > >   <p>
> > >      <%= f.label :city %><br />
> > >      <%= f.text_field :city %>
> > >   </p>
> > >   <p>
> > >     <%= f.label :state %><br />
> > >   <select id="state" name="state">
> > >     <option></option>
> > >   <%= render :partial => 'get_states' %>
> > >   </select>
> > >   </p>
> > >   <p>
> > >       <%= f.label :postalcode %><br />
> > >       <%= f.text_field :postalcode %>
> > >    </p>
> > >   <p>
> > >   <%= f.label :country %><br />
> > >   <% @associate = current_associate %>
> > >   <% @associate == nil || @associate.country == nil ? s =
> > > Carmen.default_country : s = @associate.country.strip %>
> > >    <%= f.country_select :country, s, {},
> > >     {
> > >       :onChange => remote_function( :url => { :action =>
> > > '_get_states' }, :update => "state", :with => "'country=' +value")
> > >     } %>
> > >    </p>
>
> > >     <!--
> > >  :phonework, :phonehome, :phonecell, :phonefax,  :phoneother, :jobtitle,
> > :organization,  :startdate, :dob,  :ssno,  :maritalstatus, :password,
> > :custom1, :custom2,  :custom3, :custom4,  :branch, :notes ]
> > >     -->
>
> > >   <p>
> > >     <%= f.label :notes %><br />
> > >     <%= f.text_area :notes %>
> > >   </p>
>
> > >   <p><%= f.submit "Submit" %></p>
>
> > > <% end %>
>
> > > Thanks so much! -Janna B.
>
> > > On May 28, 9:08 am, Kenny Ortmann <[email protected]> wrote:
>
> > > > Can I see your controller and your override?
>
> > > > AS does a lot to make the row collapse happen so I need to see what you
> > are
> > > > doing to tell you where to start.
>
> > > > Kenny
>
> > > > On Thu, May 28, 2009 at 8:05 AM, JannaB <[email protected]>
> > wrote:
>
> > > > > I have one model (of many in a rails app that invoke AS) that I have
> > > > > to put my own form in for editing. When that form is submitted --
> > > > > either on a new or update, I want it to behave exactly as it would if
> > > > > it were the typical AS edit or new.
>
> > > > > What must I do to accomplish this? I have the form in place, it gets
> > > > > called up properly, but I dont know what AS does after the submit
> > > > > button is hit, to make the edited row collapse into the list view.
> > > > > Thanks, Janna B.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"ActiveScaffold : Ruby on Rails plugin" 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/activescaffold?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to