diff options
| author | Alban Peignier | 2017-12-28 11:37:16 +0100 | 
|---|---|---|
| committer | GitHub | 2017-12-28 11:37:16 +0100 | 
| commit | d382841082c5633f45d7c5a7fe1fdf5c8821e2c8 (patch) | |
| tree | 6878e92f39a36a99d2d80fecdb559c2962d0c935 | |
| parent | 9f9442ef993083d84689c175fe6f5d45acbd5d21 (diff) | |
| parent | a6130909d2f0039e1c4e2d2a940bbee463edf08e (diff) | |
| download | chouette-core-d382841082c5633f45d7c5a7fe1fdf5c8821e2c8.tar.bz2 | |
Merge pull request #166 from af83/5297_fix_referential_create_validation
Fix referential create redirect when invalid. Refs #5297 
| -rw-r--r-- | app/assets/stylesheets/components/_referentials.sass | 4 | ||||
| -rw-r--r-- | app/controllers/referentials_controller.rb | 12 | ||||
| -rw-r--r-- | app/views/referentials/_form.html.slim | 2 | 
3 files changed, 12 insertions, 6 deletions
| diff --git a/app/assets/stylesheets/components/_referentials.sass b/app/assets/stylesheets/components/_referentials.sass new file mode 100644 index 000000000..0bbb18f2b --- /dev/null +++ b/app/assets/stylesheets/components/_referentials.sass @@ -0,0 +1,4 @@ +#referential_form +	.metadatas-errors +		margin-top: -20px +		margin-bottom: 20px diff --git a/app/controllers/referentials_controller.rb b/app/controllers/referentials_controller.rb index 40e8264ce..9dbd659da 100644 --- a/app/controllers/referentials_controller.rb +++ b/app/controllers/referentials_controller.rb @@ -13,14 +13,16 @@ class ReferentialsController < ChouetteController    end    def create -    create! do |format| +    create! do |success, failure|        build_referenial -      if !!@referential.created_from_id -        flash[:notice] = t('notice.referentials.duplicate') - -        format.html { redirect_to workbench_path(@referential.workbench) } +      success.html do +        if @referential.created_from_id.present? +          flash[:notice] = t('notice.referentials.duplicate') +          redirect_to workbench_path(@referential.workbench) +        end        end +      failure.html { render :new }      end    end diff --git a/app/views/referentials/_form.html.slim b/app/views/referentials/_form.html.slim index 6f7da84c7..1611ee6dd 100644 --- a/app/views/referentials/_form.html.slim +++ b/app/views/referentials/_form.html.slim @@ -17,7 +17,7 @@      .row        .col-lg-12          - if @referential.errors.has_key? :metadatas -          .row +          .row.metadatas-errors              .col-lg-12                .alert.alert-danger                  - @referential.errors[:metadatas].each do |msg| | 
