1
0
mirror of https://github.com/fspc/bike-database.git synced 2025-03-13 18:03:22 -04:00

lk | redirect to new form when successfully creating a client - allow for easier bulk creation

This commit is contained in:
Louis Knapp 2017-07-13 19:07:01 -05:00
parent d49f6030ed
commit a0b0fd4714
7 changed files with 25 additions and 4 deletions

View File

@ -16,7 +16,7 @@ class ClientsController < ApplicationController
def create
@client = Client.new(client_params)
if @client.save
redirect_to edit_client_url(@client), notice: 'Client was successfully created.'
redirect_to new_client_path, notice: 'Client was successfully created.'
else
render action: 'new'
end

View File

@ -8,4 +8,4 @@
= render 'fields', f: f
.row
.actions.col-sm-offset-2
= f.submit class: "btn btn-default"
= f.submit "Save Changes", class: "btn btn-default"

View File

@ -0,0 +1,11 @@
= form_for @client, html: {class: 'form-horizontal'} do |f|
- if @client.errors.any?
#error_explanation
%h2= pluralize(@client.errors.count, "error") + " prohibited this client from being saved:"
%ul
- @client.errors.full_messages.each do |msg|
%li= msg
= render 'fields', f: f
.row
.actions.col-sm-offset-2
= f.submit "Save And Add Another", class: "btn btn-default"

View File

@ -1,5 +1,5 @@
.container
%h1 Edit client
= render 'receipt_button' if @client.bike_id
= render 'form'
= render 'edit_form'
= link_to 'Back', clients_path

View File

@ -1,4 +1,4 @@
.container
%h1 New Client
= render 'form'
= render 'new_form'
= link_to 'Back', clients_path

View File

@ -11,6 +11,8 @@
%br
%h2 Freecyclery
%br
= link_to "Add Freecyclery Clients", new_client_path
%br
= link_to "Freecyclery Clients", clients_path
%br
= link_to "Freecyclery Agencies", agencies_path

View File

@ -8,6 +8,14 @@ describe ClientsController do
sign_in user
end
describe "POST #create" do
it "redirects to new_client_path on success" do
client_attributes = attributes_for :client
request = post :create, client: client_attributes
expect(request).to redirect_to action: :new
end
end
describe "#print_select" do
it "only assigns clients with a bike and an agency" do
client_with_bike_and_agency = create :client, bike: create(:bike), agency: create(:agency)