-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add newsletters|sections|preview controller and views
- Loading branch information
Showing
23 changed files
with
567 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
class NewslettersController < ApplicationController | ||
before_action :set_newsletter, only: [:show, :edit, :update, :destroy] | ||
|
||
# GET /newsletters | ||
# GET /newsletters.json | ||
def index | ||
@newsletters = Newsletter.all | ||
end | ||
|
||
# GET /newsletters/1 | ||
# GET /newsletters/1.json | ||
def show | ||
end | ||
|
||
# GET /newsletters/new | ||
def new | ||
@newsletter = Newsletter.new | ||
end | ||
|
||
# GET /newsletters/1/edit | ||
def edit | ||
end | ||
|
||
# POST /newsletters | ||
# POST /newsletters.json | ||
def create | ||
@newsletter = Newsletter.new(newsletter_params) | ||
|
||
respond_to do |format| | ||
if @newsletter.save | ||
format.html { redirect_to @newsletter, notice: 'Newsletter was successfully created.' } | ||
format.json { render :show, status: :created, location: @newsletter } | ||
else | ||
format.html { render :new } | ||
format.json { render json: @newsletter.errors, status: :unprocessable_entity } | ||
end | ||
end | ||
end | ||
|
||
# PATCH/PUT /newsletters/1 | ||
# PATCH/PUT /newsletters/1.json | ||
def update | ||
respond_to do |format| | ||
if @newsletter.update(newsletter_params) | ||
format.html { redirect_to @newsletter, notice: 'Newsletter was successfully updated.' } | ||
format.json { render :show, status: :ok, location: @newsletter } | ||
else | ||
format.html { render :edit } | ||
format.json { render json: @newsletter.errors, status: :unprocessable_entity } | ||
end | ||
end | ||
end | ||
|
||
# DELETE /newsletters/1 | ||
# DELETE /newsletters/1.json | ||
def destroy | ||
@newsletter.destroy | ||
respond_to do |format| | ||
format.html { redirect_to newsletters_url, notice: 'Newsletter was successfully destroyed.' } | ||
format.json { head :no_content } | ||
end | ||
end | ||
|
||
private | ||
# Use callbacks to share common setup or constraints between actions. | ||
def set_newsletter | ||
@newsletter = Newsletter.find(params[:id]) | ||
end | ||
|
||
# Never trust parameters from the scary internet, only allow the white list through. | ||
def newsletter_params | ||
params.require(:newsletter).permit(:name, :header) | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
class PreviewsController < ApplicationController | ||
layout "preview" | ||
before_action :set_newsletter | ||
|
||
def show | ||
render "show2" | ||
end | ||
|
||
private | ||
|
||
def set_newsletter | ||
@newsletter = Newsletter.find params[:newsletter_id] | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
class SectionsController < ApplicationController | ||
before_action :set_section, only: [:show, :edit, :update, :destroy] | ||
before_action :set_newsletter, only: [:new, :create] | ||
|
||
# GET /sections | ||
# GET /sections.json | ||
def index | ||
@sections = Section.all | ||
end | ||
|
||
# GET /sections/1 | ||
# GET /sections/1.json | ||
def show | ||
end | ||
|
||
# GET /sections/new | ||
def new | ||
@section = @newsletter.sections.new | ||
end | ||
|
||
# GET /sections/1/edit | ||
def edit | ||
end | ||
|
||
# POST /sections | ||
# POST /sections.json | ||
def create | ||
@section = @newsletter.sections.new(section_params) | ||
|
||
respond_to do |format| | ||
if @section.save | ||
format.html { redirect_to [@newsletter, @section], notice: 'Section was successfully created.' } | ||
format.json { render :show, status: :created, location: [@newsletter, @section] } | ||
else | ||
format.html { render :new } | ||
format.json { render json: @section.errors, status: :unprocessable_entity } | ||
end | ||
end | ||
end | ||
|
||
# PATCH/PUT /sections/1 | ||
# PATCH/PUT /sections/1.json | ||
def update | ||
respond_to do |format| | ||
if @section.update(section_params) | ||
format.html { redirect_to [@section.newsletter, @section], notice: 'Section was successfully updated.' } | ||
format.json { render :show, status: :ok, location: @section } | ||
else | ||
format.html { render :edit } | ||
format.json { render json: @section.errors, status: :unprocessable_entity } | ||
end | ||
end | ||
end | ||
|
||
# DELETE /sections/1 | ||
# DELETE /sections/1.json | ||
def destroy | ||
@section.destroy | ||
respond_to do |format| | ||
format.html { redirect_to sections_url, notice: 'Section was successfully destroyed.' } | ||
format.json { head :no_content } | ||
end | ||
end | ||
|
||
private | ||
# Use callbacks to share common setup or constraints between actions. | ||
def set_section | ||
@section = Section.find(params[:id]) | ||
end | ||
|
||
def set_newsletter | ||
@newsletter = Newsletter.find(params[:newsletter_id]) | ||
end | ||
|
||
|
||
# Never trust parameters from the scary internet, only allow the white list through. | ||
def section_params | ||
params.require(:section).permit(:heading, :content, :image) | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
!!! | ||
%html | ||
%head | ||
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/ | ||
%title Newslater | ||
= csrf_meta_tags | ||
= csp_meta_tag | ||
-#= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' | ||
%body | ||
= yield | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
= form_with(model: newsletter, local: true) do |form| | ||
- if newsletter.errors.any? | ||
#error_explanation | ||
%h2 | ||
= pluralize(newsletter.errors.count, "error") | ||
prohibited this newsletter from being saved: | ||
%ul | ||
- newsletter.errors.full_messages.each do |message| | ||
%li= message | ||
.field | ||
= form.label :name | ||
= form.text_field :name | ||
.field | ||
= form.label :header | ||
= form.text_field :header | ||
|
||
%div | ||
%ul | ||
- newsletter.sections.order(order: :asc).each do |section| | ||
%li= section.heading | ||
|
||
.actions | ||
= form.submit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
json.extract! newsletter, :id, :name, :header, :created_at, :updated_at | ||
json.url newsletter_url(newsletter, format: :json) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
%h1 Editing Newsletter | ||
= render 'form', newsletter: @newsletter | ||
= link_to 'Show', @newsletter | ||
| | ||
= link_to 'Back', newsletters_path |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
%p#notice= notice | ||
%h1 Newsletters | ||
%table | ||
%thead | ||
%tr | ||
%th Name | ||
%th Header | ||
%th{:colspan => "6"} | ||
%tbody | ||
- @newsletters.each do |newsletter| | ||
%tr | ||
%td= newsletter.name | ||
%td= newsletter.header | ||
%td= newsletter.sections.count | ||
%td= link_to 'Add Section', new_newsletter_section_path(newsletter) | ||
%td= link_to 'Preview', newsletter_preview_path(newsletter_id: newsletter) | ||
%td= link_to 'Show', newsletter | ||
%td= link_to 'Edit', edit_newsletter_path(newsletter) | ||
%td= link_to 'Destroy', newsletter, method: :delete, data: { confirm: 'Are you sure?' } | ||
%br/ | ||
= link_to 'New Newsletter', new_newsletter_path |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
json.array! @newsletters, partial: "newsletters/newsletter", as: :newsletter |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
%h1 New Newsletter | ||
= render 'form', newsletter: @newsletter | ||
= link_to 'Back', newsletters_path |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
%p#notice= notice | ||
%p | ||
%strong Name: | ||
= @newsletter.name | ||
%p | ||
%strong Header: | ||
= @newsletter.header | ||
|
||
%div | ||
%ul | ||
- @newsletter.sections.order(order: :asc).each do |section| | ||
%li= link_to section.heading, [@newsletter, section] | ||
|
||
= link_to 'Edit', edit_newsletter_path(@newsletter) | ||
| | ||
= link_to 'Add section', new_newsletter_section_path(@newsletter) | ||
| | ||
= link_to 'Back', newsletters_path | ||
| | ||
= link_to 'Preview', newsletter_preview_path(newsletter_id: @newsletter) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
json.partial! "newsletters/newsletter", newsletter: @newsletter |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
= @newsletter.name | ||
= @newsletter.header | ||
= @newsletter.sections.order(order: :asc).each do |section| | ||
= section.heading | ||
= section.content |
Oops, something went wrong.