Commit a66442e8 by Mykhailo Makohin

some progerss in sortable

parent 9d7f634f
...@@ -34,7 +34,7 @@ gem 'globalize-accessors' ...@@ -34,7 +34,7 @@ gem 'globalize-accessors'
gem 'ckeditor', '~> 4.3' gem 'ckeditor', '~> 4.3'
gem 'mini_magick' gem 'mini_magick'
gem 'video_info', '~> 2.7' gem 'video_info', '~> 2.7'
gem 'tooltipster-rails' gem 'acts_as_list'
group :development, :test do group :development, :test do
gem 'byebug', platform: :mri gem 'byebug', platform: :mri
......
...@@ -50,6 +50,8 @@ GEM ...@@ -50,6 +50,8 @@ GEM
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
tzinfo (~> 1.1) tzinfo (~> 1.1)
acts_as_list (0.9.19)
activerecord (>= 3.0)
addressable (2.7.0) addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 5.0)
ansi (1.5.0) ansi (1.5.0)
...@@ -290,7 +292,6 @@ GEM ...@@ -290,7 +292,6 @@ GEM
thor (0.20.3) thor (0.20.3)
thread_safe (0.3.6) thread_safe (0.3.6)
tilt (2.0.9) tilt (2.0.9)
tooltipster-rails (4.2.6)
turbolinks (5.2.0) turbolinks (5.2.0)
turbolinks-source (~> 5.2) turbolinks-source (~> 5.2)
turbolinks-source (5.2.0) turbolinks-source (5.2.0)
...@@ -318,6 +319,7 @@ PLATFORMS ...@@ -318,6 +319,7 @@ PLATFORMS
DEPENDENCIES DEPENDENCIES
activeadmin activeadmin
acts_as_list
awesome_print awesome_print
bootstrap-sass bootstrap-sass
byebug byebug
...@@ -348,7 +350,6 @@ DEPENDENCIES ...@@ -348,7 +350,6 @@ DEPENDENCIES
simple_form simple_form
spring spring
spring-watcher-listen (~> 2.0.0) spring-watcher-listen (~> 2.0.0)
tooltipster-rails
turbolinks (~> 5) turbolinks (~> 5)
tzinfo-data tzinfo-data
uglifier (>= 1.3.0) uglifier (>= 1.3.0)
......
...@@ -22,6 +22,7 @@ ActiveAdmin.register Project do ...@@ -22,6 +22,7 @@ ActiveAdmin.register Project do
def create def create
@project = Project.new(project_params) @project = Project.new(project_params)
if @project.save if @project.save
create_project_partials
redirect_to admin_project_path(@project) redirect_to admin_project_path(@project)
else else
render :new render :new
...@@ -32,6 +33,11 @@ ActiveAdmin.register Project do ...@@ -32,6 +33,11 @@ ActiveAdmin.register Project do
scoped_collection.friendly.find(params[:id]) scoped_collection.friendly.find(params[:id])
end end
def create_project_partials
[@project.short_description, @project.description].each_with_index {|val, index|
ProjectPartial.create(title: val, position: index, project_id: @project.id)}
end
def project_params def project_params
params.require(:project).permit(:photo, :photo_preview, :photo_before, :remove_photo_before, params.require(:project).permit(:photo, :photo_preview, :photo_before, :remove_photo_before,
:photo_after, :remove_photo_after, :types, :status, :individual_type_uk, :individual_type_en, :photo_after, :remove_photo_after, :types, :status, :individual_type_uk, :individual_type_en,
......
...@@ -15,6 +15,7 @@ class Project < ApplicationRecord ...@@ -15,6 +15,7 @@ class Project < ApplicationRecord
enum types: [:program, :project] enum types: [:program, :project]
enum status: [:in_progress, :implemented] enum status: [:in_progress, :implemented]
has_many :project_partials
has_many :project_galeries, inverse_of: :project, dependent: :destroy has_many :project_galeries, inverse_of: :project, dependent: :destroy
has_many :project_qoutes, inverse_of: :project, dependent: :destroy has_many :project_qoutes, inverse_of: :project, dependent: :destroy
has_many :project_photos, inverse_of: :project, dependent: :destroy has_many :project_photos, inverse_of: :project, dependent: :destroy
......
class ProjectPartial < ApplicationRecord
belongs_to :project
end
module ProjectPartialService
class << self
def create(params)
ProjectPartial.new()
end
end
end
= raw @project.short_description
\ No newline at end of file
= raw @project.description
\ No newline at end of file
...@@ -13,187 +13,170 @@ ...@@ -13,187 +13,170 @@
.large_progress_wrap .large_progress_wrap
.large_progress_title .large_progress_title
= t "#{@project.status}" = t "#{@project.status}"
.large_progress.clearfix
.progress
.progress-bar{"aria-valuemax" => "100", "aria-valuemin" => "100", "aria-valuenow" => "100", :role => "progressbar", :style => "width: 100%;"}
100%
.progress_details.clearfix
.progress_details_item
зібраних коштів
%strong 14 200 UAH
.progress_details_item
долучилось людей
%strong 214
.large_progress.progress_more_item.clearfix
.progress
.progress-bar{"aria-valuemax" => "100", "aria-valuemin" => "100", "aria-valuenow" => "100", :role => "progressbar", :style => "width: 100%;"}
100%
.progress_details.clearfix
.progress_details_item
бюджет проекту
%strong #{@project.required_amount} UAH
.progress_details_item
зібраних коштів
%strong 14 200 UAH
.progress_details_item
долучилось людей
%strong 214
.project_content .project_content
.container .container
.text_container .project_partials
= raw @project.short_description - @project.project_partials.each do |project_partial|
#slider.beer-slider{"data-beer-label" => "before"} = raw project_partial.title
= image_tag(@project.photo_after.url) / .text_container
.beer-reveal{"data-beer-label" => "after"} / = raw @project.short_description
= image_tag(@project.photo_before.url) / #slider.beer-slider{"data-beer-label" => "before"}
= raw @project.description / = image_tag(@project.photo_after.url)
.imgs_wrap / .beer-reveal{"data-beer-label" => "after"}
.simple_slider.clearfix / = image_tag(@project.photo_before.url)
#gallery-2.royalSlider.rsUni / = raw @project.description
%a.rsImg{:href => "img/slide2.jpg"} / .imgs_wrap
%img.rsTmb{:src => "img/slide2.jpg"}/ / .simple_slider.clearfix
%a.rsImg{:href => "img/slide1.jpg"} / #gallery-2.royalSlider.rsUni
%img.rsTmb{:src => "img/slide1.jpg"}/ / %a.rsImg{:href => "img/slide2.jpg"}
%a.rsImg{:href => "img/slide2.jpg"} / %img.rsTmb{:src => "img/slide2.jpg"}/
%img.rsTmb{:src => "img/slide2.jpg"}/ / %a.rsImg{:href => "img/slide1.jpg"}
%a.rsImg{:href => "img/slide1.jpg"} / %img.rsTmb{:src => "img/slide1.jpg"}/
%img.rsTmb{:src => "img/slide1.jpg"}/ / %a.rsImg{:href => "img/slide2.jpg"}
%a.rsImg{:href => "img/slide2.jpg"} / %img.rsTmb{:src => "img/slide2.jpg"}/
%img.rsTmb{:src => "img/slide2.jpg"}/ / %a.rsImg{:href => "img/slide1.jpg"}
%a.rsImg{:href => "img/slide1.jpg"} / %img.rsTmb{:src => "img/slide1.jpg"}/
%img.rsTmb{:src => "img/slide1.jpg"}/ / %a.rsImg{:href => "img/slide2.jpg"}
%a.rsImg{:href => "img/slide2.jpg"} / %img.rsTmb{:src => "img/slide2.jpg"}/
%img.rsTmb{:src => "img/slide2.jpg"}/ / %a.rsImg{:href => "img/slide1.jpg"}
%a.rsImg{:href => "img/slide1.jpg"} / %img.rsTmb{:src => "img/slide1.jpg"}/
%img.rsTmb{:src => "img/slide1.jpg"}/ / %a.rsImg{:href => "img/slide2.jpg"}
%a.rsImg{:href => "img/slide2.jpg"} / %img.rsTmb{:src => "img/slide2.jpg"}/
%img.rsTmb{:src => "img/slide2.jpg"}/ / %a.rsImg{:href => "img/slide1.jpg"}
%a.rsImg{:href => "img/slide1.jpg"} / %img.rsTmb{:src => "img/slide1.jpg"}/
%img.rsTmb{:src => "img/slide1.jpg"}/ / %a.rsImg{:href => "img/slide2.jpg"}
%a.rsImg{:href => "img/slide2.jpg"} / %img.rsTmb{:src => "img/slide2.jpg"}/
%img.rsTmb{:src => "img/slide2.jpg"}/ / %a.rsImg{:href => "img/slide1.jpg"}
%a.rsImg{:href => "img/slide1.jpg"} / %img.rsTmb{:src => "img/slide1.jpg"}/
%img.rsTmb{:src => "img/slide1.jpg"}/ / %a.rsImg{:href => "img/slide2.jpg"}
%a.rsImg{:href => "img/slide2.jpg"} / %img.rsTmb{:src => "img/slide2.jpg"}/
%img.rsTmb{:src => "img/slide2.jpg"}/ / %a.rsImg{:href => "img/slide1.jpg"}
%a.rsImg{:href => "img/slide1.jpg"} / %img.rsTmb{:src => "img/slide1.jpg"}/
%img.rsTmb{:src => "img/slide1.jpg"}/ / %a.rsImg{:href => "img/slide2.jpg"}
%a.rsImg{:href => "img/slide2.jpg"} / %img.rsTmb{:src => "img/slide2.jpg"}/
%img.rsTmb{:src => "img/slide2.jpg"}/ / %a.rsImg{:href => "img/slide1.jpg"}
%a.rsImg{:href => "img/slide1.jpg"} / %img.rsTmb{:src => "img/slide1.jpg"}/
%img.rsTmb{:src => "img/slide1.jpg"}/ / %a.rsImg{:href => "img/slide2.jpg"}
.img_desc / %img.rsTmb{:src => "img/slide2.jpg"}/
Назва фото, локації, події, тощо. Можливо автор фото. / %a.rsImg{:href => "img/slide1.jpg"}
.text_container / %img.rsTmb{:src => "img/slide1.jpg"}/
%p / .img_desc
Urban Space Radio має підвищити рівень залученості громадськості до процесів розвитку наших міст. Це досягатиметься через створення незалежного і на 100% громадському ресторані «Urban Space 100» у центрі міста. За конструкцією така радіостудія буде унікальною. Радіо мовитиме в інтернеті, в «Urban Space 100», а також частково в / Назва фото, локації, події, тощо. Можливо автор фото.
%a{:href => "#"} FM-діапазоні / .text_container
у партнерстві з відомою міською станцією. / %p
.info_line / Urban Space Radio має підвищити рівень залученості громадськості до процесів розвитку наших міст. Це досягатиметься через створення незалежного і на 100% громадському ресторані «Urban Space 100» у центрі міста. За конструкцією така радіостудія буде унікальною. Радіо мовитиме в інтернеті, в «Urban Space 100», а також частково в
.container / %a{:href => "#"} FM-діапазоні
.info_line_content / у партнерстві з відомою міською станцією.
Urban Space Radio – це медіа для людей, яким небайдужі урбаністичні процеси, що вудбуваються в їхніх містах. Це досягатиметься через створення незалежного і прозорого медіа-каналу. / .info_line
.container / .container
.text_container / .info_line_content
%p / Urban Space Radio – це медіа для людей, яким небайдужі урбаністичні процеси, що вудбуваються в їхніх містах. Це досягатиметься через створення незалежного і прозорого медіа-каналу.
Urban Space Radio має підвищити рівень залученості громадськості до процесів розвитку наших міст. Це досягатиметься через створення незалежного і на / .container
%strong 100% громадському ресторані партнерстві / .text_container
з відомою міською станцією. Записи ефірів можна буде безкоштовно прослухати на популярному подкаст-сервісі. В ефірі – сучасна та якісна українська фінансуванню від Urban Space 100 у 2015 р. / %p
%h3 Можливий заголовок / Urban Space Radio має підвищити рівень залученості громадськості до процесів розвитку наших міст. Це досягатиметься через створення незалежного і на
%p / %strong 100% громадському ресторані партнерстві
Прозорість і публічність радіостанції буде інституційною та громадському ресторані / з відомою міською станцією. Записи ефірів можна буде безкоштовно прослухати на популярному подкаст-сервісі. В ефірі – сучасна та якісна українська фінансуванню від Urban Space 100 у 2015 р.
= succeed "." do / %h3 Можливий заголовок
%strong Urban Space 100 у центрі міста / %p
%a{:href => "#"} FM-діапазоні / Прозорість і публічність радіостанції буде інституційною та громадському ресторані
у партнерстві з відомою міською станцією. Записи ефірів можна буде безкоштовно прослухати на популярному подкаст-сервісі. / = succeed "." do
.video_container / %strong Urban Space 100 у центрі міста
%iframe{:allowfullscreen => "", :frameborder => "0", :height => "", :src => "https://www.youtube.com/embed/xfU5UXCxU04", :width => "100%"} / %a{:href => "#"} FM-діапазоні
%p / у партнерстві з відомою міською станцією. Записи ефірів можна буде безкоштовно прослухати на популярному подкаст-сервісі.
має підвищити рівень залученості громадськості до процесів розвитку наших міст. Це досягатиметься через створення незалежного і на 100% і у партнерстві з відомою міською станцією. Записи ефірів можна буде безкоштовно прослухати на популярному подкаст-сервісі. В ефірі – сучасна та якісна українська актуальні проблеми міст та / .video_container
.full_img_wrap.imgs_wrap / %iframe{:allowfullscreen => "", :frameborder => "0", :height => "", :src => "https://www.youtube.com/embed/xfU5UXCxU04", :width => "100%"}
%img{:alt => "", :src => "img/fw_img1.jpg"}/ / %p
.container / має підвищити рівень залученості громадськості до процесів розвитку наших міст. Це досягатиметься через створення незалежного і на 100% і у партнерстві з відомою міською станцією. Записи ефірів можна буде безкоштовно прослухати на популярному подкаст-сервісі. В ефірі – сучасна та якісна українська актуальні проблеми міст та
.img_desc / .full_img_wrap.imgs_wrap
Назва фото, локації, події, тощо. Можливо автор фото. / %img{:alt => "", :src => "img/fw_img1.jpg"}/
.container / .container
.text_container / .img_desc
%p / Назва фото, локації, події, тощо. Можливо автор фото.
Це досягатиметься через створення незалежного і на 100% і у партнерстві з відомою міською станцією. Записи ефірів можна безкоштовно прослухати на популярному подкаст-сервісі. / .container
%h3 / .text_container
Корисні лінки / %p
%ul.list / Це досягатиметься через створення незалежного і на 100% і у партнерстві з відомою міською станцією. Записи ефірів можна безкоштовно прослухати на популярному подкаст-сервісі.
%li / %h3
Правила використання логотипу Івано-Франківська: / Корисні лінки
%a{:href => "#"} IF Guideline / %ul.list
%li / %li
Презентація Візуального стилю: / Правила використання логотипу Івано-Франківська:
%a{:href => "#"} city-brand.if.ua / %a{:href => "#"} IF Guideline
%li / %li
Офіційний сайт громадського ресторану: / Презентація Візуального стилю:
%a{:href => "#"} urbanspace.if.ua / %a{:href => "#"} city-brand.if.ua
.files_block / %li
.container / Офіційний сайт громадського ресторану:
%ul.files_list.clearfix / %a{:href => "#"} urbanspace.if.ua
%li.file_item_wrap / .files_block
%a.file_item{:href => "#"} / .container
Важлива та корисна документація що доступна у вільний перегляд / %ul.files_list.clearfix
%span.file_img / %li.file_item_wrap
%img{:alt => "", :src => "img/file_pdf_large.png"}/ / %a.file_item{:href => "#"}
%li.file_item_wrap / Важлива та корисна документація що доступна у вільний перегляд
%a.file_item{:href => "#"} / %span.file_img
Підрахунки фінансів закладу за конкретний відрізок часу / %img{:alt => "", :src => "img/file_pdf_large.png"}/
%span.file_img / %li.file_item_wrap
%img{:alt => "", :src => "img/file_xls_large.png"}/ / %a.file_item{:href => "#"}
%li.file_item_wrap / Підрахунки фінансів закладу за конкретний відрізок часу
%a.file_item{:href => "#"} / %span.file_img
Важливі документи / %img{:alt => "", :src => "img/file_xls_large.png"}/
%span.file_img / %li.file_item_wrap
%img{:alt => "", :src => "img/file_doc_large.png"}/ / %a.file_item{:href => "#"}
.support_block / Важливі документи
.container / %span.file_img
%h2.heading_with_btn / %img{:alt => "", :src => "img/file_doc_large.png"}/
%span Urban Space Radio / .support_block
%a.btn.btn_default{:href => "#"} / .container
%i.icon.icon_plus> / %h2.heading_with_btn
підтримати проект / %span Urban Space Radio
.news_wrap / %a.btn.btn_default{:href => "#"}
.container.grid_padding_xs / %i.icon.icon_plus>
%h3.heading_mb / підтримати проект
Новини про проект / .news_wrap
.row / .container.grid_padding_xs
.col-sm-4 / %h3.heading_mb
%a.news_item{:href => "#"} / Новини про проект
%span.news_head{:style => "background-image: url(img/news1.jpg);"} / .row
%span.news_details.clearfix / .col-sm-4
Новина / %a.news_item{:href => "#"}
%span.news_date 12.12.15 / %span.news_head{:style => "background-image: url(img/news1.jpg);"}
%span.news_body / %span.news_details.clearfix
%span.news_title / Новина
Гранти — грошові або інші засоби, що передаються / %span.news_date 12.12.15
%span.news_text / %span.news_body
Грaнти — грошові або інші засоби, що передаються громадянами юридиими також міжнародними організаціями / %span.news_title
проведення конкретних наукових... / Гранти — грошові або інші засоби, що передаються
.col-sm-4 / %span.news_text
%a.news_item{:href => "#"} / Грaнти — грошові або інші засоби, що передаються громадянами юридиими також міжнародними організаціями
%span.news_head{:style => "background-image: url(img/news2.jpg);"} / проведення конкретних наукових...
%span.news_details.clearfix / .col-sm-4
Публікація / %a.news_item{:href => "#"}
%span.news_date 12.12.15 / %span.news_head{:style => "background-image: url(img/news2.jpg);"}
%span.news_body / %span.news_details.clearfix
%span.news_title / Публікація
Публікація про важливе. / %span.news_date 12.12.15
%span.news_text / %span.news_body
Досліджень, розробки законопроектів, підготовки кадрів та інших цілей на умовах, передбачених грантодавцем. Гранти надаються безкоштовно і без повернення для осіб... / %span.news_title
.col-sm-4 / Публікація про важливе.
%a.news_item{:href => "#"} / %span.news_text
%span.news_head{:style => "background-image: url(img/news3.jpg);"} / Досліджень, розробки законопроектів, підготовки кадрів та інших цілей на умовах, передбачених грантодавцем. Гранти надаються безкоштовно і без повернення для осіб...
%span.news_details.clearfix / .col-sm-4
Блоги / %a.news_item{:href => "#"}
%span.news_date 12.12.15 / %span.news_head{:style => "background-image: url(img/news3.jpg);"}
%span.news_body / %span.news_details.clearfix
%span.news_title / Блоги
У випадку довгого заголовка який не бажано обрізати чи вкорочувати, буде так / %span.news_date 12.12.15
%span.news_text / %span.news_body
Досліджень, розробки законопроектів, підготовки кадрів та інших цілей на умовах, передбачених грантодавцем. / %span.news_title
/ У випадку довгого заголовка який не бажано обрізати чи вкорочувати, буде так
/ %span.news_text
/ Досліджень, розробки законопроектів, підготовки кадрів та інших цілей на умовах, передбачених грантодавцем.
/ :javascript
/ new BeerSlider( document.getElementById( "slider" ) );
:javascript :javascript
new BeerSlider( document.getElementById( "slider" ) ); $(function() {
$( ".project_partials" ).sortable();
});
\ No newline at end of file
...@@ -5,6 +5,11 @@ Rails.application.routes.draw do ...@@ -5,6 +5,11 @@ Rails.application.routes.draw do
ActiveAdmin.routes(self) ActiveAdmin.routes(self)
resources :users resources :users
resources :projects, only: [:show] resources :projects, only: [:show]
resources :project_partials do
collection do
patch :sort
end
end
end end
devise_for :users, controllers: {omniauth_callbacks: "users/omniauth_callbacks", devise_for :users, controllers: {omniauth_callbacks: "users/omniauth_callbacks",
registrations: "users"} registrations: "users"}
......
class ProjectPartials < ActiveRecord::Migration[5.0]
def change
create_table :project_partials do |t|
t.text :title
t.integer :position
t.references :project
end
end
end
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20191008073420) do ActiveRecord::Schema.define(version: 20191016070020) do
create_table "active_admin_comments", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t| create_table "active_admin_comments", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "namespace" t.string "namespace"
...@@ -104,6 +104,13 @@ ActiveRecord::Schema.define(version: 20191008073420) do ...@@ -104,6 +104,13 @@ ActiveRecord::Schema.define(version: 20191008073420) do
t.index ["project_id"], name: "index_project_links_on_project_id", using: :btree t.index ["project_id"], name: "index_project_links_on_project_id", using: :btree
end end
create_table "project_partials", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.text "title", limit: 65535
t.integer "position"
t.integer "project_id"
t.index ["project_id"], name: "index_project_partials_on_project_id", using: :btree
end
create_table "project_photo_translations", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t| create_table "project_photo_translations", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.integer "project_photo_id", null: false t.integer "project_photo_id", null: false
t.string "locale", null: false t.string "locale", null: false
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment