gestion des fichiers

This commit is contained in:
Nicolas Bally 2014-11-28 23:31:09 +01:00
parent 84c708a6be
commit 127730fd76
12 changed files with 319 additions and 197 deletions

View File

@ -1,27 +1,27 @@
/* manager.css */ /* manager.css */
#manager_box_place{ #manager_box_place{
position:fixed; position:fixed;
height:0; height:0;
width:100%; width:100%;
z-index:1500; z-index:1500;
top:0px; top:0px;
margin:0px; margin:0px;
padding:0px; padding:0px;
display:none; display:none;
} }
#manager_box{ #manager_box{
position:relative; position:relative;
width:98%; width:98%;
height:98%; height:98%;
overflow:auto; overflow:auto;
margin:auto; margin:auto;
margin-top:0px; margin-top:0px;
background:white; background:white;
box-shadow: rgba(0,0,0,0.8) 1px 1px 50px; box-shadow: rgba(0,0,0,0.8) 1px 1px 50px;
@ -29,7 +29,7 @@
} }
#manager_box_place.manager_box_place_active{ #manager_box_place.manager_box_place_active{
height:95%; height:95%;
} }
@ -43,10 +43,10 @@
#image_files .image_file .img { #image_files .image_file .img {
text-align:center; text-align:center;
width:150px; width:150px;
height:150px; height:150px;
margin:0px; margin:0px;
background-position: center center; background-position: center center;
background-repeat: no-repeat; background-repeat: no-repeat;
@ -60,29 +60,29 @@
#image_files .image_file .name { #image_files .image_file .name {
padding:4px 0px 2px 0px; padding:4px 0px 2px 0px;
font-size:10px; font-size:10px;
text-align:center; text-align:center;
} }
#image_files .image_file { #image_files .image_file {
float:left; float:left;
padding:8px; padding:8px;
margin:2px; margin:2px;
border:4px solid white; border:4px solid white;
/* webkit */ /* webkit */
-webkit-transition-property: background-color; -webkit-transition-property: background-color;
-webkit-transition-duration: 0.5s; -webkit-transition-duration: 0.5s;
/* Firefox */ /* Firefox */
-moz-transition-property: background-color; -moz-transition-property: background-color;
-moz-transition-duration: 0.5s; -moz-transition-duration: 0.5s;
/* standardisé */ /* standardisé */
transition-property: background-color; transition-property: background-color;
transition-duration: 0.5s; transition-duration: 0.5s;
@ -90,7 +90,7 @@
#image_files .image_file.active { #image_files .image_file.active {
background-color: rgba(46,119,187,0.3); background-color: rgba(181,205,226,1);
} }
@ -109,11 +109,11 @@ background:rgba(247,245,246,0.9);
#image_files_big_container{ #image_files_big_container{
position:absolute; position:absolute;
top:0px; top:0px;
left:0px; left:0px;
bottom:0px; bottom:0px;
right:0px; right:0px;
@ -121,23 +121,23 @@ background:rgba(247,245,246,0.9);
#image_files_container{ #image_files_container{
position:absolute; position:absolute;
top:0px; top:0px;
left:300px; left:300px;
bottom:0px; bottom:0px;
right:0px; right:0px;
overflow:auto; overflow:auto;
background:white; background:white;
padding:20px; padding:20px;
padding-bottom:60px; padding-bottom:60px;
} }
#albums_navbar{ #albums_navbar{
position:absolute; position:absolute;
width:299px; width:299px;
bottom:0px; bottom:0px;
left:0px; left:0px;
border-top:1px solid rgba(191,191,191,1); border-top:1px solid rgba(191,191,191,1);
height:51px; height:51px;
background:rgba(220,220,220,1); background:rgba(220,220,220,1);
@ -165,12 +165,12 @@ background:rgba(247,245,246,0.9);
#albums{ #albums{
padding-bottom:60px; padding-bottom:60px;
position:absolute; position:absolute;
top:0px; top:0px;
width:300px; width:300px;
bottom:0px; bottom:0px;
left:0px; left:0px;
overflow:auto; overflow:auto;
background:rgba(230,230,230,1); background:rgba(230,230,230,1);
border-right:1px solid rgba(191,191,191,1); border-right:1px solid rgba(191,191,191,1);
@ -207,3 +207,119 @@ background:rgba(247,245,246,0.9);
} }
/* Aperçu des images */
#data_files_navbar{
left:300px;
background:rgba(247,245,246,0.9);
}
#data_files_big_container{
position:absolute;
top:0px;
left:0px;
bottom:0px;
right:0px;
#data_files_container{
width:auto;
position:absolute;
top:0px;
left:300px;
bottom:0px;
right:0px;
overflow:auto;
background:white;
padding:20px;
padding-bottom:60px;
}
#file_folders_navbar{
position:absolute;
width:299px;
bottom:0px;
left:0px;
border-top:1px solid rgba(191,191,191,1);
height:51px;
background:rgba(220,220,220,1);
a{
color:#5e5e5e;
font-size:1.5em;
position:absolute;
top:10px;
}
#add_file_folder{
left:10px;
}
#edit_current_file_folder{
right:10px;
}
#remove_current_file_folder{
right:50px;
}
}
#file_folders{
padding-bottom:60px;
position:absolute;
top:0px;
width:300px;
bottom:0px;
left:0px;
overflow:auto;
background:rgba(230,230,230,1);
border-right:1px solid rgba(191,191,191,1);
ul{
padding-top: 1.2em;
li{
border-top:1px solid rgba(191,191,191,0.5) ;
position:static;
a{
position:static;
color:rgba(0,0,0,0.8);
&:hover, &.active{
background:rgba(220,220,220,1);
}
}
#edit_current_file_folder{
position:absolute;
top:10px;
}
}
}
}
}

View File

@ -1,20 +1,22 @@
- if data_file.file? - if data_file.file?
%tr#data_file.data_file{:id => data_file.id, :"data-id" => data_file.id, :"data-name" => data_file.abstract_file_name, :"data-description" => data_file.description, :"data-show_url" => admin_data_file_path(:id => data_file.id, :manager => params[:manager], :multiple => params[:multiple]), :"data-edit_url" => edit_admin_data_file_path(:id => data_file.id, :manager => params[:manager], :multiple => params[:multiple]) , :class => ("new" if @data_file_create)} %tr#data_file.data_file{:id => data_file.id, :"data-id" => data_file.id, :"data-name" => data_file.abstract_file_name, :"data-description" => data_file.description, :"data-show_url" => admin_data_file_path(:id => data_file.id, :manager => params[:manager], :multiple => params[:multiple]), :"data-edit_url" => edit_admin_data_file_path(:id => data_file.id, :manager => params[:manager], :multiple => params[:multiple]) , :class => ("new" if @data_file_create)}
%td{:style => "width:32px;text-align:center;"} %td{:style => "width:32px;text-align:center;"}
-ext = File.extname(data_file.file.path)[1..-1] -ext = File.extname(data_file.file.path)[1..-1]
=image_tag "file_types/"+ext+".png", :style => "height:30px;" =image_tag "file_types/"+ext+".png", :style => "height:30px;"
%td %td
=data_file.abstract_file_name =data_file.abstract_file_name
%td{:style => "width:300px;"} %td{:style => "width:300px;"}
=data_file.file_type =data_file.file_type
%td{:style => "width:100px;"} %td
=link_to i(:"download"), data_file.file.url =data_file.file.url
%td{:style => "width:120px;text-align:right;"}
=link_to i(:"download"), data_file.file.url
= link_to i(:"trash-o"), admin_data_file_path(:id => data_file.id, :manager => params[:manager], :multiple => params[:multiple]), :data => {:confirm => 'Voulez-vous vraiment supprimer cette image ?'}, :method => :delete, :remote => true = link_to i(:"trash-o"), admin_data_file_path(:id => data_file.id, :manager => params[:manager], :multiple => params[:multiple]), :data => {:confirm => 'Voulez-vous vraiment supprimer cette image ?'}, :method => :delete, :remote => true
= link_to i(:"check"), "#",:onclick => "manager_send_data_file("+data_file.id.to_s+");return false;" if params[:manager] and !params[:multiple] = link_to i(:check), "#",:onclick => "manager_send_data_file("+data_file.id.to_s+");return false;" if params[:manager] and !params[:multiple]

View File

@ -1,3 +1,4 @@
%table#data_files_container.table #data_files_container
%tbody#data_files=render @data_files %table.table
%tbody#data_files=render @data_files

View File

@ -1,15 +1,15 @@
- form_for @data_file, :url => admin_data_file_path(:id => @data_file.id, :file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]), :remote => true do |form| - form_for @data_file, :url => admin_data_file_path(:id => @data_file.id, :file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]), :remote => true do |form|
%table{:style => "width:100%"} %table{:style => "width:100%"}
%tr %tr
%td{:style => "width:120px"} Nom : %td{:style => "width:120px"} Nom :
%td= form.text_field :name, :style => "width:90%" %td= form.text_field :name, :style => "width:90%"
%tr %tr
%td{:style => "vertical-align:top;"} Description : %td{:style => "vertical-align:top;"} Description :
%td= form.text_area :description, :style => "max-width:90%;width:90%;height:100px;" %td= form.text_area :description, :style => "max-width:90%;width:90%;height:100px;"
%tr.submit_tr %tr.submit_tr
%td=link_to "Annuler", admin_data_file_path(:id => @data_file.id, :manager => params[:manager], :multiple => params[:multiple]), :remote => true %td=link_to "Annuler", admin_data_file_path(:id => @data_file.id, :manager => params[:manager], :multiple => params[:multiple]), :remote => true
%td %td
=form.submit "Sauvegarder" =form.submit "Sauvegarder"

View File

@ -1,66 +1,69 @@
#data_files_content #data_files_content
#data_files_big_container.container-fluid #data_files_big_container.container-fluid
.row-fluid #file_folders=render :partial => "admin/file_folders/file_folders"
.span3#file_folders{:"data-file_folders_url" => admin_file_folders_url(:file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple])}
=render :partial => "admin/file_folders/file_folders"
.span9
=render :partial => "data_files_container"
#file_folders_navbar
=render :partial => "admin/file_folders/file_folders_navbar"
=render :partial => "data_files_container"
%form#fileupload{:action => admin_data_files_path(:id => @data_file.id, :file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]),:method=>"POST", :enctype=>"multipart/form-data", :style => "display:inline;"} %form#fileupload{:action => admin_data_files_path(:id => @data_file.id, :file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]),:method=>"POST", :enctype=>"multipart/form-data", :style => "display:inline;"}
%input{:name => "redirect", :type => "hidden", :value => "/"}/ %input{:name => "redirect", :type => "hidden", :value => "/"}/
.navbar.navbar-fixed-bottom{:style => "position:absolute;"}
.navbar-inner
.container-fluid
.pull-right{:style => ""} %nav.navbar.navbar-default.navbar-fixed-bottom#image_files_navbar{:style => "position:absolute;"}
.fileupload-progress.fade{:style => "float:left;"} .container-fluid
#upload_details{:style => ""}
.content
.fileupload-buttonbar
%button.btn.btn-warning.cancel{:type => "reset"}
%i.icon-ban-circle.icon-white
%span Cancel upload
%span.fileupload-loading
%table.table.table-striped{:role => "presentation"} %ul.nav.navbar-nav.navbar-right
%tbody.ulpoad_files
.fileupload-progress.fade{:style => "float:left;"}
#upload_details{:style => ""}
.content
.fileupload-buttonbar
%button.btn.btn-warning.cancel{:type => "reset"}
%i.icon-ban-circle.icon-white
%span Cancel upload
%span.fileupload-loading
%table.table.table-striped{:role => "presentation"}
%tbody.ulpoad_files
.progress-extended{:style => "float:left;padding: 10px;font-size:14px;line-height:20px;"} .progress-extended{:style => "float:left;padding: 10px;font-size:14px;line-height:20px;"}
.progress.progress-success.progress-striped.active{"aria-valuemax" => "100", "aria-valuemin" => "0", :role => "progressbar",:style => "width:200px;float:left;margin: 10px;height:20px;"} .progress.progress-success.progress-striped.active{"aria-valuemax" => "100", "aria-valuemin" => "0", :role => "progressbar",:style => "width:200px;float:left;margin: 10px;height:20px;"}
.bar{:style => "width:0%;"} .bar{:style => "width:0%;"}
.navbar-header
%span.navbar-brand Fichiers
.collapse.navbar-collapse
%ul.nav.navbar-nav
%li
%a{:href => "#", :onclick => "$(this).next('input').click();return false;"}
%span.fileinput-button{}
%i.icon-plus.icon-white
%span Ajouter des fichiers
%input{:multiple => "", :name => "files[]", :type => "file", :style => "display:none;"}
.brand Fichiers
.container.nav-collapse
%ul.nav
%li
%a{:href => "#", :onclick => "$(this).next('input').click();"}
%span.fileinput-button{}
%i.icon-plus.icon-white
%span Ajouter des fichiers
%input{:multiple => "", :name => "files[]", :type => "file", :style => "display:none;"}

View File

@ -1,17 +1,17 @@
.img{:style => ("background-image:url('"+(@data_file.file.url).to_s+"');")} .img{:style => ("background-image:url('"+(@data_file.file.url).to_s+"');")}
.form .form
%table{:style => "width:100%"} %table{:style => "width:100%"}
%tr %tr
%td{:style => "width:120px"} Date d'ajout : %td{:style => "width:120px"} Date d'ajout :
%td= l @data_file.created_at %td= l @data_file.created_at
=render :partial => "form" =render :partial => "form"
#right_bar_clone #right_bar_clone
#right_bar_clone_buttons_left #right_bar_clone_buttons_left
= link_to i(:trash_stroke, :gray_light), admin_data_file_path(:id => @data_file.id, :manager => params[:manager], :multiple => params[:multiple]), :confirm => 'Voulez-vous vraiment supprimer cette image ?', :method => :delete, :remote => true = link_to i(:"trash-o"), admin_data_file_path(:id => @data_file.id, :manager => params[:manager], :multiple => params[:multiple]), :confirm => 'Voulez-vous vraiment supprimer cette image ?', :method => :delete, :remote => true
= link_to i(:check_alt, :gray_light), "#",:onclick => "manager_send_data_file("+@data_file.id.to_s+");return false;" if params[:manager] and !params[:multiple] = link_to i(:check_alt, :gray_light), "#",:onclick => "manager_send_data_file("+@data_file.id.to_s+");return false;" if params[:manager] and !params[:multiple]

View File

@ -1,2 +1,2 @@
%div{:style => ("position:absolute;bottom:0px;left:0px;right:0px;top:52px;" if !params[:manager])}
=render :partial => "index_block" =render :partial => "index_block"

View File

@ -1,14 +1,5 @@
%li{:class => (" active" if file_folder.id == params[:file_folder_id].to_i).to_s} %li{:class => (" active" if file_folder.id == params[:file_folder_id].to_i).to_s}
=link_to file_folder.name, admin_data_files_path(:file_folder_id => file_folder.id, :manager => params[:manager], :multiple => params[:multiple]), :remote => true, :class => "file_folder"+(" active" if file_folder.id == params[:file_folder_id].to_i).to_s, :id => "file_folder_"+file_folder.id.to_s,:"data-file_folder_id" => file_folder.id, :"data-file_folder_path" => admin_file_folder_path(:format => "js",:file_folder_id => file_folder.id, :manager => params[:manager], :multiple => params[:multiple], :id => file_folder.id), :"data-edit_file_folder_path" => edit_admin_file_folder_path(:format => "js",:file_folder_id => file_folder.id, :manager => params[:manager], :multiple => params[:multiple], :id => file_folder.id) =link_to file_folder.name, admin_data_files_path(:file_folder_id => file_folder.id, :manager => params[:manager], :multiple => params[:multiple]), :remote => true, :class => "file_folder"+(" active" if file_folder.id == params[:file_folder_id].to_i).to_s, :id => "file_folder_"+file_folder.id.to_s,:"data-file_folder_id" => file_folder.id, :"data-file_folder_path" => admin_file_folder_path(:format => "js",:file_folder_id => file_folder.id, :manager => params[:manager], :multiple => params[:multiple], :id => file_folder.id), :"data-edit_file_folder_path" => edit_admin_file_folder_path(:format => "js",:file_folder_id => file_folder.id, :manager => params[:manager], :multiple => params[:multiple], :id => file_folder.id)
-if file_folder.id == params[:file_folder_id].to_i
= link_to i(:pencil),edit_admin_file_folder_url(:id => params[:file_folder_id], :file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]), :remote => true, :id => "edit_current_file_folder", :style => "display:inline-block; margin-right:5px;"
= link_to i(:"trash-o"), admin_file_folder_url(:id => params[:file_folder_id],:file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]), :remote => true, :id => "remove_current_file_folder", :method => :delete, :confirm => "Voulez-vous vraiment supprimer cet file_folder ? Attention, toutes les images de celui-ci seront définitivement supprimées.", :style => "display:inline-block;"

View File

@ -1,6 +1,6 @@
%ul.nav.nav-list %ul.nav.nav-list
=render @file_folders =render @file_folders
%li %li
= link_to i(:plus), new_admin_file_folder_url(:file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]), :remote => true, :id => "add_album" =# link_to i(:plus), new_admin_file_folder_url(:file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]), :remote => true, :id => "add_album"

View File

@ -0,0 +1,9 @@
= link_to ic(:plus), new_admin_file_folder_url(:file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]), :remote => true, :id => "add_file_folder"
= link_to ic(:pencil),edit_admin_file_folder_url(:id => params[:file_folder_id], :file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]), :remote => true, :id => "edit_current_file_folder", :style => "display:inline-block; margin-right:5px;"
= link_to ic(:"trash-o"), admin_file_folder_url(:id => params[:file_folder_id],:file_folder_id => params[:file_folder_id], :manager => params[:manager], :multiple => params[:multiple]), :remote => true, :id => "remove_current_file_folder", :method => :delete, :"data-confirm" => "Voulez-vous vraiment supprimer cet file_folder ? Attention, toutes les images de celui-ci seront définitivement supprimées.", :style => "display:inline-block;"

View File

@ -3,13 +3,13 @@ var new_file_folder_name = prompt("Nom de l'file_folder :\n <%= "Le nom que vous
if(new_file_folder_name){ if(new_file_folder_name){
$.ajax({url : $("#file_folder_<%=@file_folder.id %>").data('file_folder_path'), type: "PUT", data : { $.ajax({url : $("#file_folder_<%=@file_folder.id %>").data('file_folder_path'), type: "PUT", data : {
file_folder : { file_folder : {
name: new_file_folder_name name: new_file_folder_name
} }
} }
}); });

View File

@ -1,15 +1,15 @@
var new_file_folder_name = prompt("Nom du dossier :\n <%= "Vous n'avez spécifié aucuns nom pour ce nouvel file_folder, ou le nom que vous avez chosi existe déjà." if @file_folder_create %>", "<%=escape_javascript(@file_folder.name) %>"); var new_file_folder_name = prompt("Nom de l'file_folder :\n <%= "Vous n'avez spécifié aucuns nom pour ce nouvel file_folder, ou le nom que vous avez chosi existe déjà." if @file_folder_create %>", "<%=escape_javascript(@file_folder.name) %>");
if(new_file_folder_name){ if(new_file_folder_name){
$.ajax({url : $("#file_folders").data('file_folders_url'), type: "POST", data : { $.ajax({url : "/admin/file_folders?&manager=true&multiple=true", type: "POST", data : {
file_folder : { file_folder : {
name: new_file_folder_name name: new_file_folder_name
} }
} }
}); });