finishing new page/blog

This commit is contained in:
Torsten 2022-12-27 16:47:57 +02:00
parent 57fdada4fa
commit d6b238ba94
8 changed files with 52 additions and 25 deletions

View File

@ -25,13 +25,19 @@ module Merged
def create
name = params[:name]
if( name.blank? )
@pages = Page.all
flash.now.alert = "Must enter name"
render :index
flash.alert = "Must enter name"
redirect_to pages_url
else
@page = Page.new_page(name , params[:type])
@page.add_save(current_member.email)
redirect_to new_page_section_url(@page.id) , notice: "Page was successfully created."
template = PageStyle.find_by_type(@page.type).section_template
if(template)
section = @page.new_section(template)
section.add_save(current_member.email)
redirect_to section_url(section.id) , notice: "Page was successfully created."
else
redirect_to new_page_section_url(@page.id) , notice: "Page was successfully created. Choose first section"
end
end
end

View File

@ -63,8 +63,8 @@ module Merged
super
end
def self.new_page(name )
data = { name: name.dup , updated_at: Time.now }
def self.new_page(name , type)
data = { name: name.dup , updated_at: Time.now , type: type}
Page.new(data)
end

View File

@ -27,20 +27,19 @@
=page.updated_by
- s = page.sections_update
%td.whitespace-nowrap.px-4.py-2.text-gray-700
=distance_of_time_in_words_to_now(s.updated_at)
=distance_of_time_in_words_to_now(s.updated_at) if s
%td.whitespace-nowrap.px-4.py-2.text-gray-700
=s.updated_by
=s.updated_by if s
%td.whitespace-nowrap.px-4.py-2
%strong.rounded.bg-green-100.px-3.text-xs.font-medium.text-green-700{:class => "py-1.5"}
= link_to 'Sections', merged.page_sections_path(page.id)
%strong.rounded.bg-amber-100.px-3.text-xs.font-medium.text-amber-700{:class => "py-1.5"}
= link_to 'Edit', merged.page_path(page.id)
.grid.grid-cols-3.gap-2.m-8.new_page
.relative.block.border.border-gray-100
= form_tag( merged.pages_path , {method: :post } ) do
%label.block
%h4.text-lg.font-bold Name
= text_field_tag( :name , params[:name], class: "block w-full rounded-lg border-gray-200 p-4 pr-12 text-sm shadow-sm")
- @page_styles.each do |page|
%button.mt-3.bg-cyan-200{class: button_classes , name: :type , value: page.type}= "New #{page.type.capitalize}"
.flex.mx-20.new_page
= form_tag( merged.pages_path , {method: :post } ) do
%label.block
%h4.text-lg.font-bold Name
= text_field_tag( :name , params[:name], class: "block w-full rounded-lg border-gray-200 p-4 pr-12 text-sm shadow-sm")
- @page_styles.each do |page|
%button.mt-3.bg-cyan-200{class: button_classes , name: :type , value: page.type}= "New #{page.type.capitalize}"

View File

@ -31,14 +31,14 @@ class PagesWrite < ActionDispatch::IntegrationTest
click_on ("Update")
end
end
def test_new_works_without
def test_new_handles_noinput
visit "/merged/pages"
within(".new_page") do
click_on ("New Page")
end
assert_equal "/merged/pages" , current_path
end
def test_new_works_with_name
def test_new_page_works_with_name
visit "/merged/pages"
within(".new_page") do
fill_in 'Name', with: 'New Page'
@ -47,6 +47,15 @@ class PagesWrite < ActionDispatch::IntegrationTest
assert_equal "/merged/sections/41/select_template" , current_path
end
def test_new_blog_works_with_name
visit "/merged/pages"
within(".new_page") do
fill_in 'Name', with: 'New Page'
click_on ("New Blog")
end
assert_equal "/merged/sections/41" , current_path
end
def test_delete_works
id = Merged::Page.first.id
visit merged.page_sections_path(id)

View File

@ -49,7 +49,7 @@ module Merged
end
def test_page_new
studios = Page.new_page("new")
studios = Page.new_page("new" , :page)
studios.add_save("email")
assert_equal "new" , change.added("Page").first.last
assert_nil change.edited("Page").first

View File

@ -11,7 +11,7 @@ module Merged
assert_equal OptionDefinition.first.class , OptionDefinition
end
def test_there_options
assert_equal OptionDefinition.all.length , 18
assert_equal OptionDefinition.all.length , 19
end
def test_has_option_objects
assert_equal first.class , OptionDefinition

View File

@ -10,11 +10,6 @@ module Merged
def test_all
assert_equal 2 , Page.all.length
end
def test_creates_page
name = "randomname"
page = Page.new_page( name)
assert_equal page.name , name
end
def test_has_type
assert_equal index.type , "page"

View File

@ -8,6 +8,24 @@ module Merged
Page.find_by_name('index')
end
def test_creates_page
name = "randomname"
page = Page.new_page( name , "page")
assert_equal page.name , name
assert_equal page.sections.length , 0
end
def test_creates_blog
name = "randomname"
page = Page.new_page( name , "blog")
assert_equal page.name , name
page.add_save("me")
template = PageStyle.find_by_type(page.type).section_template
section = page.new_section(template)
section.add_save("me")
assert_equal page.sections.length , 1
end
def test_deletes
id = index.id
index.delete