Commit 3d1f34b7 by Mykhailo Makohin

some progress

parent a66442e8
......@@ -22,7 +22,7 @@ ActiveAdmin.register Project do
def create
@project = Project.new(project_params)
if @project.save
create_project_partials
ProjectPartialsService.new(@project).set_project_partials
redirect_to admin_project_path(@project)
else
render :new
......@@ -33,9 +33,10 @@ ActiveAdmin.register Project do
scoped_collection.friendly.find(params[:id])
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)}
def sort
params[:project_partials].each_with_index do |id, index|
ProjectPartialsService.where(id: id).update_all(position: index + 1)
end
end
def project_params
......@@ -260,5 +261,10 @@ ActiveAdmin.register Project do
end
end
end
sidebar "Projects", only: :show do
attributes_table_for project.project_partials do
end
end
end
......@@ -18,7 +18,7 @@ jQuery(document).ready(function($){
// initPlaceOfCubes();
// initGallerySlider();
mobilePartners();
//mobilePartners();
// initTip();
// initMap();
topTip();
......@@ -167,24 +167,24 @@ function initMap() {
// }
// }
function mobilePartners() {
var checkWidth = $(window).width();
if (window.matchMedia("(min-width: 768px)").matches) {
$("#owl-demo").trigger('destroy.owl.carousel');
$("#owl-demo").removeClass('owl-carousel');
} else {
$("#owl-demo").addClass('owl-carousel');
$("#owl-demo").owlCarousel({
items: 1,
loop: true
});
}
}
// function mobilePartners() {
// var checkWidth = $(window).width();
// if (window.matchMedia("(min-width: 768px)").matches) {
// $("#owl-demo").trigger('destroy.owl.carousel');
// $("#owl-demo").removeClass('owl-carousel');
// } else {
// $("#owl-demo").addClass('owl-carousel');
// //$("#owl-demo").owlCarousel({
// items: 1,
// loop: true
// });
// }
// }
$(window).resize(function() {
mobilePartners();
// mobilePartners();
// initTooltipster();
//initDraggable();
});
......
......@@ -15,7 +15,7 @@ class Project < ApplicationRecord
enum types: [:program, :project]
enum status: [:in_progress, :implemented]
has_many :project_partials
has_many :project_partials, dependent: :destroy
has_many :project_galeries, inverse_of: :project, dependent: :destroy
has_many :project_qoutes, inverse_of: :project, dependent: :destroy
has_many :project_photos, inverse_of: :project, dependent: :destroy
......
module ProjectPartialService
class << self
def create(params)
ProjectPartial.new()
end
end
end
class ProjectPartialsService
def initialize(project)
@project = project
end
def params_project_partial
[{title: 'description', position: 0},
{title: 'galery', position: 1},
{title: 'quote', position: 2},
{title: 'video', position: 3},
{title: 'photos', position: 4},
{title: 'links', position: 5},
{title: 'documents', position: 6}]
end
def set_project_partials
@project.project_partials.create(params_project_partial)
end
end
......@@ -16,167 +16,30 @@
.project_content
.container
.project_partials
%div#project_partials
- @project.project_partials.each do |project_partial|
= raw project_partial.title
/ .text_container
/ = raw @project.short_description
/ #slider.beer-slider{"data-beer-label" => "before"}
/ = image_tag(@project.photo_after.url)
/ .beer-reveal{"data-beer-label" => "after"}
/ = image_tag(@project.photo_before.url)
/ = raw @project.description
/ .imgs_wrap
/ .simple_slider.clearfix
/ #gallery-2.royalSlider.rsUni
/ %a.rsImg{:href => "img/slide2.jpg"}
/ %img.rsTmb{:src => "img/slide2.jpg"}/
/ %a.rsImg{:href => "img/slide1.jpg"}
/ %img.rsTmb{:src => "img/slide1.jpg"}/
/ %a.rsImg{:href => "img/slide2.jpg"}
/ %img.rsTmb{:src => "img/slide2.jpg"}/
/ %a.rsImg{:href => "img/slide1.jpg"}
/ %img.rsTmb{:src => "img/slide1.jpg"}/
/ %a.rsImg{:href => "img/slide2.jpg"}
/ %img.rsTmb{:src => "img/slide2.jpg"}/
/ %a.rsImg{:href => "img/slide1.jpg"}
/ %img.rsTmb{:src => "img/slide1.jpg"}/
/ %a.rsImg{:href => "img/slide2.jpg"}
/ %img.rsTmb{:src => "img/slide2.jpg"}/
/ %a.rsImg{:href => "img/slide1.jpg"}
/ %img.rsTmb{:src => "img/slide1.jpg"}/
/ %a.rsImg{:href => "img/slide2.jpg"}
/ %img.rsTmb{:src => "img/slide2.jpg"}/
/ %a.rsImg{:href => "img/slide1.jpg"}
/ %img.rsTmb{:src => "img/slide1.jpg"}/
/ %a.rsImg{:href => "img/slide2.jpg"}
/ %img.rsTmb{:src => "img/slide2.jpg"}/
/ %a.rsImg{:href => "img/slide1.jpg"}
/ %img.rsTmb{:src => "img/slide1.jpg"}/
/ %a.rsImg{:href => "img/slide2.jpg"}
/ %img.rsTmb{:src => "img/slide2.jpg"}/
/ %a.rsImg{:href => "img/slide1.jpg"}
/ %img.rsTmb{:src => "img/slide1.jpg"}/
/ %a.rsImg{:href => "img/slide2.jpg"}
/ %img.rsTmb{:src => "img/slide2.jpg"}/
/ %a.rsImg{:href => "img/slide1.jpg"}
/ %img.rsTmb{:src => "img/slide1.jpg"}/
/ .img_desc
/ Назва фото, локації, події, тощо. Можливо автор фото.
/ .text_container
/ %p
/ Urban Space Radio має підвищити рівень залученості громадськості до процесів розвитку наших міст. Це досягатиметься через створення незалежного і на 100% громадському ресторані «Urban Space 100» у центрі міста. За конструкцією така радіостудія буде унікальною. Радіо мовитиме в інтернеті, в «Urban Space 100», а також частково в
/ %a{:href => "#"} FM-діапазоні
/ у партнерстві з відомою міською станцією.
/ .info_line
/ .container
/ .info_line_content
/ Urban Space Radio – це медіа для людей, яким небайдужі урбаністичні процеси, що вудбуваються в їхніх містах. Це досягатиметься через створення незалежного і прозорого медіа-каналу.
/ .container
/ .text_container
/ %p
/ Urban Space Radio має підвищити рівень залученості громадськості до процесів розвитку наших міст. Це досягатиметься через створення незалежного і на
/ %strong 100% громадському ресторані партнерстві
/ з відомою міською станцією. Записи ефірів можна буде безкоштовно прослухати на популярному подкаст-сервісі. В ефірі – сучасна та якісна українська фінансуванню від Urban Space 100 у 2015 р.
/ %h3 Можливий заголовок
/ %p
/ Прозорість і публічність радіостанції буде інституційною та громадському ресторані
/ = succeed "." do
/ %strong Urban Space 100 у центрі міста
/ %a{:href => "#"} FM-діапазоні
/ у партнерстві з відомою міською станцією. Записи ефірів можна буде безкоштовно прослухати на популярному подкаст-сервісі.
/ .video_container
/ %iframe{:allowfullscreen => "", :frameborder => "0", :height => "", :src => "https://www.youtube.com/embed/xfU5UXCxU04", :width => "100%"}
/ %p
/ має підвищити рівень залученості громадськості до процесів розвитку наших міст. Це досягатиметься через створення незалежного і на 100% і у партнерстві з відомою міською станцією. Записи ефірів можна буде безкоштовно прослухати на популярному подкаст-сервісі. В ефірі – сучасна та якісна українська актуальні проблеми міст та
/ .full_img_wrap.imgs_wrap
/ %img{:alt => "", :src => "img/fw_img1.jpg"}/
/ .container
/ .img_desc
/ Назва фото, локації, події, тощо. Можливо автор фото.
/ .container
/ .text_container
/ %p
/ Це досягатиметься через створення незалежного і на 100% і у партнерстві з відомою міською станцією. Записи ефірів можна безкоштовно прослухати на популярному подкаст-сервісі.
/ %h3
/ Корисні лінки
/ %ul.list
/ %li
/ Правила використання логотипу Івано-Франківська:
/ %a{:href => "#"} IF Guideline
/ %li
/ Презентація Візуального стилю:
/ %a{:href => "#"} city-brand.if.ua
/ %li
/ Офіційний сайт громадського ресторану:
/ %a{:href => "#"} urbanspace.if.ua
/ .files_block
/ .container
/ %ul.files_list.clearfix
/ %li.file_item_wrap
/ %a.file_item{:href => "#"}
/ Важлива та корисна документація що доступна у вільний перегляд
/ %span.file_img
/ %img{:alt => "", :src => "img/file_pdf_large.png"}/
/ %li.file_item_wrap
/ %a.file_item{:href => "#"}
/ Підрахунки фінансів закладу за конкретний відрізок часу
/ %span.file_img
/ %img{:alt => "", :src => "img/file_xls_large.png"}/
/ %li.file_item_wrap
/ %a.file_item{:href => "#"}
/ Важливі документи
/ %span.file_img
/ %img{:alt => "", :src => "img/file_doc_large.png"}/
/ .support_block
/ .container
/ %h2.heading_with_btn
/ %span Urban Space Radio
/ %a.btn.btn_default{:href => "#"}
/ %i.icon.icon_plus>
/ підтримати проект
/ .news_wrap
/ .container.grid_padding_xs
/ %h3.heading_mb
/ Новини про проект
/ .row
/ .col-sm-4
/ %a.news_item{:href => "#"}
/ %span.news_head{:style => "background-image: url(img/news1.jpg);"}
/ %span.news_details.clearfix
/ Новина
/ %span.news_date 12.12.15
/ %span.news_body
/ %span.news_title
/ Гранти — грошові або інші засоби, що передаються
/ %span.news_text
/ Грaнти — грошові або інші засоби, що передаються громадянами юридиими також міжнародними організаціями
/ проведення конкретних наукових...
/ .col-sm-4
/ %a.news_item{:href => "#"}
/ %span.news_head{:style => "background-image: url(img/news2.jpg);"}
/ %span.news_details.clearfix
/ Публікація
/ %span.news_date 12.12.15
/ %span.news_body
/ %span.news_title
/ Публікація про важливе.
/ %span.news_text
/ Досліджень, розробки законопроектів, підготовки кадрів та інших цілей на умовах, передбачених грантодавцем. Гранти надаються безкоштовно і без повернення для осіб...
/ .col-sm-4
/ %a.news_item{:href => "#"}
/ %span.news_head{:style => "background-image: url(img/news3.jpg);"}
/ %span.news_details.clearfix
/ Блоги
/ %span.news_date 12.12.15
/ %span.news_body
/ %span.news_title
/ У випадку довгого заголовка який не бажано обрізати чи вкорочувати, буде так
/ %span.news_text
/ Досліджень, розробки законопроектів, підготовки кадрів та інших цілей на умовах, передбачених грантодавцем.
/ :javascript
/ new BeerSlider( document.getElementById( "slider" ) );
= render "#{project_partial.title}"
:javascript
document.addEventListener("turbolinks:load", function(){
$(function() {
$( ".project_partials" ).sortable();
});
\ No newline at end of file
console.log("dfsfds");
$("#project_partials").sortable({
update: function(e ,ui){
$.ajax({
url: $(this).data("url"),
type: "PATCH",
data: $(this).sortable("serialize"),
success: function(){
console.log('success!');
},
error: function(){
console.log('error!');
}
});
}
});
});
)};
Rails.application.routes.draw do
scope "(:locale)", locale: /en|uk/ do
mount Ckeditor::Engine => '/ckeditor'
root 'home#index'
ActiveAdmin.routes(self)
root 'home#index'
ActiveAdmin.routes(self)
patch '/projects/warm', to: 'admin/projects#sort'
resources :users
resources :projects, only: [:show]
resources :project_partials do
collection do
patch :sort
end
end
end
devise_for :users, controllers: {omniauth_callbacks: "users/omniauth_callbacks",
registrations: "users"}
......
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