diff --git a/app/controllers/admin/file_tunel_downloads_controller.rb b/app/controllers/admin/file_tunel_downloads_controller.rb new file mode 100644 index 0000000..521413b --- /dev/null +++ b/app/controllers/admin/file_tunel_downloads_controller.rb @@ -0,0 +1,74 @@ +# -*- encoding : utf-8 -*- + +class Admin::FileTunelDownloadsController < ApplicationController + layout "admin" + before_action :auth_admin + + before_action :admin_space + + def admin_space + @admin_space = "tournees" + end + + def index + @file_tunel_downloads = FileTunelDownload.all + + @file_tunel_downloads = sort_by_sorting(@file_tunel_downloads, "created_at DESC") + + + params[:search][:per_page] = params[:search][:per_page] || 50 + per_page = params[:search][:per_page] + page = (params[:page] and params[:page] != "") ? params[:page] : 1 + @file_tunel_downloads = @file_tunel_downloads.page(page).per(per_page) + + + end + + def show + @file_tunel_download = FileTunelDownload.find(params[:id]) + + end + + def new + @file_tunel_download = FileTunelDownload.new + + end + + def edit + @file_tunel_download = FileTunelDownload.find(params[:id]) + + end + + def create + @file_tunel_download = FileTunelDownload.new(params.require(:file_tunel_download).permit!) + + if @file_tunel_download.save + + else + render action: "new" + + end + + end + + + def update + @file_tunel_download = FileTunelDownload.find(params[:id]) + + + if @file_tunel_download.update_attributes(params.require(:file_tunel_download).permit!) + + else + render action: "edit" + + end + + end + + + def destroy + @file_tunel_download = FileTunelDownload.find(params[:id]) + @file_tunel_download.destroy + + end +end diff --git a/app/controllers/admin/file_tunel_files_controller.rb b/app/controllers/admin/file_tunel_files_controller.rb new file mode 100644 index 0000000..9dd999f --- /dev/null +++ b/app/controllers/admin/file_tunel_files_controller.rb @@ -0,0 +1,74 @@ +# -*- encoding : utf-8 -*- + +class Admin::FileTunelFilesController < ApplicationController + layout "admin" + before_action :auth_admin + + before_action :admin_space + + def admin_space + @admin_space = "tournees" + end + + def index + @file_tunel_files = FileTunelFile.all + + @file_tunel_files = sort_by_sorting(@file_tunel_files, "created_at DESC") + + + params[:search][:per_page] = params[:search][:per_page] || 50 + per_page = params[:search][:per_page] + page = (params[:page] and params[:page] != "") ? params[:page] : 1 + @file_tunel_files = @file_tunel_files.page(page).per(per_page) + + + end + + def show + @file_tunel_file = FileTunelFile.find(params[:id]) + + end + + def new + @file_tunel_file = FileTunelFile.new + + end + + def edit + @file_tunel_file = FileTunelFile.find(params[:id]) + + end + + def create + @file_tunel_file = FileTunelFile.new(params.require(:file_tunel_file).permit!) + + if @file_tunel_file.save + + else + render action: "new" + + end + + end + + + def update + @file_tunel_file = FileTunelFile.find(params[:id]) + + + if @file_tunel_file.update_attributes(params.require(:file_tunel_file).permit!) + + else + render action: "edit" + + end + + end + + + def destroy + @file_tunel_file = FileTunelFile.find(params[:id]) + @file_tunel_file.destroy + + end +end diff --git a/app/controllers/admin/file_tunel_sends_controller.rb b/app/controllers/admin/file_tunel_sends_controller.rb new file mode 100644 index 0000000..fcd26fc --- /dev/null +++ b/app/controllers/admin/file_tunel_sends_controller.rb @@ -0,0 +1,74 @@ +# -*- encoding : utf-8 -*- + +class Admin::FileTunelSendsController < ApplicationController + layout "admin" + before_action :auth_admin + + before_action :admin_space + + def admin_space + @admin_space = "tournees" + end + + def index + @file_tunel_sends = FileTunelSend.all + + @file_tunel_sends = sort_by_sorting(@file_tunel_sends, "created_at DESC") + + + params[:search][:per_page] = params[:search][:per_page] || 50 + per_page = params[:search][:per_page] + page = (params[:page] and params[:page] != "") ? params[:page] : 1 + @file_tunel_sends = @file_tunel_sends.page(page).per(per_page) + + + end + + def show + @file_tunel_send = FileTunelSend.find(params[:id]) + + end + + def new + @file_tunel_send = FileTunelSend.new + + end + + def edit + @file_tunel_send = FileTunelSend.find(params[:id]) + + end + + def create + @file_tunel_send = FileTunelSend.new(params.require(:file_tunel_send).permit!) + + if @file_tunel_send.save + + else + render action: "new" + + end + + end + + + def update + @file_tunel_send = FileTunelSend.find(params[:id]) + + + if @file_tunel_send.update_attributes(params.require(:file_tunel_send).permit!) + + else + render action: "edit" + + end + + end + + + def destroy + @file_tunel_send = FileTunelSend.find(params[:id]) + @file_tunel_send.destroy + + end +end diff --git a/app/controllers/admin/file_tunels_controller.rb b/app/controllers/admin/file_tunels_controller.rb new file mode 100644 index 0000000..a50e810 --- /dev/null +++ b/app/controllers/admin/file_tunels_controller.rb @@ -0,0 +1,74 @@ +# -*- encoding : utf-8 -*- + +class Admin::FileTunelsController < ApplicationController + layout "admin" + before_action :auth_admin + + before_action :admin_space + + def admin_space + @admin_space = "tournees" + end + + def index + @file_tunels = FileTunel.all + + @file_tunels = sort_by_sorting(@file_tunels, "created_at DESC") + + + params[:search][:per_page] = params[:search][:per_page] || 50 + per_page = params[:search][:per_page] + page = (params[:page] and params[:page] != "") ? params[:page] : 1 + @file_tunels = @file_tunels.page(page).per(per_page) + + + end + + def show + @file_tunel = FileTunel.find(params[:id]) + + end + + def new + @file_tunel = FileTunel.new + + end + + def edit + @file_tunel = FileTunel.find(params[:id]) + + end + + def create + @file_tunel = FileTunel.new(params.require(:file_tunel).permit!) + + if @file_tunel.save + + else + render action: "new" + + end + + end + + + def update + @file_tunel = FileTunel.find(params[:id]) + + + if @file_tunel.update_attributes(params.require(:file_tunel).permit!) + + else + render action: "edit" + + end + + end + + + def destroy + @file_tunel = FileTunel.find(params[:id]) + @file_tunel.destroy + + end +end diff --git a/app/models/file_tunel.rb b/app/models/file_tunel.rb new file mode 100644 index 0000000..e957d65 --- /dev/null +++ b/app/models/file_tunel.rb @@ -0,0 +1,59 @@ +class FileTunel < ApplicationRecord + belongs_to :p_customer + belongs_to :admin + + + has_many :file_tunel_sends, :dependent => :destroy + accepts_nested_attributes_for :file_tunel_sends, :allow_destroy => true + + has_many :file_tunel_files, :dependent => :destroy + accepts_nested_attributes_for :file_tunel_files, :allow_destroy => true + + + QI_DYNAMICS = %w() + + eval(QI_DYNAMICS_CORE) + + has_many :m_odr_virements, :dependent => :nullify + + def self.qi_table_order + { + :created_at => {:name => "Date", :reorder => true}, + :name => {:name => "Nom", :reorder => true}, + + :slug => {:name => "Permalien", :reorder => true}, + + :start_at => {:name => "Date de début", :reorder => true}, + :end_at => {:name => "Date de fin", :reorder => true}, + + :actions => "Actions", + + } + + end + + def self.valid_sort + r = [] + self.qi_table_order.each do |key, value| + if value.instance_of? Hash + if value[:reorder] and value[:reorder] == true + r << key.to_s if value[:reorder] + end + end + end + return r + + + end + + + + before_create { generate_token() } + + def generate_token() + begin + self[:token] = SecureRandom.urlsafe_base64 + end while FileTunel.exists?(:token => self[:token]) + end + +end diff --git a/app/models/file_tunel_download.rb b/app/models/file_tunel_download.rb new file mode 100644 index 0000000..998bdae --- /dev/null +++ b/app/models/file_tunel_download.rb @@ -0,0 +1,14 @@ +class FileTunelDownload < ApplicationRecord + belongs_to :file_tunel + belongs_to :file_tunel_send_id + + + before_create { generate_token() } + + def generate_token() + begin + self[:token] = SecureRandom.urlsafe_base64 + end while FileTunelDownload.exists?(:token => self[:token]) + end + +end diff --git a/app/models/file_tunel_file.rb b/app/models/file_tunel_file.rb new file mode 100644 index 0000000..a6bb97a --- /dev/null +++ b/app/models/file_tunel_file.rb @@ -0,0 +1,15 @@ +class FileTunelFile < ApplicationRecord + belongs_to :file_tunel + + before_create { generate_token() } + + def generate_token() + begin + self[:token] = SecureRandom.urlsafe_base64 + end while FileTunelFile.exists?(:token => self[:token]) + end + + mount_uploader :file, OdrUploader + + validates :file, :presence => true +end diff --git a/app/models/file_tunel_send.rb b/app/models/file_tunel_send.rb new file mode 100644 index 0000000..16820ac --- /dev/null +++ b/app/models/file_tunel_send.rb @@ -0,0 +1,11 @@ +class FileTunelSend < ApplicationRecord + belongs_to :file_tunel + + before_create { generate_token() } + + def generate_token() + begin + self[:token] = SecureRandom.urlsafe_base64 + end while FileTunelSend.exists?(:token => self[:token]) + end +end diff --git a/app/views/admin/admin_spaces/_tournees.html.haml b/app/views/admin/admin_spaces/_tournees.html.haml index 4f4344c..1aa20ee 100644 --- a/app/views/admin/admin_spaces/_tournees.html.haml +++ b/app/views/admin/admin_spaces/_tournees.html.haml @@ -1,3 +1 @@ -=#%li= link_to "Tournées", admin_p_ship_tours_path -=#%li= link_to "Camions", admin_p_trucks_path -=#%li= link_to "Chauffeurs", admin_p_drivers_path +%li=link_to "Tunels", admin_file_tunels_path \ No newline at end of file diff --git a/app/views/admin/file_tunel_downloads/_file_tunel_download.html.haml b/app/views/admin/file_tunel_downloads/_file_tunel_download.html.haml new file mode 100644 index 0000000..2153740 --- /dev/null +++ b/app/views/admin/file_tunel_downloads/_file_tunel_download.html.haml @@ -0,0 +1,13 @@ +%tr#file_tunel_download_row{:id => file_tunel_download.id} + -tr = {} + + -tr[:actions] = capture do + %td.actions + = link_to i(:"trash-o"), [:admin, file_tunel_download], method: :delete, data: { confirm: 'Voulez-vous vraiment supprimer cet enregistrement ? ' } , :remote => true + = link_to i(:pencil), edit_admin_file_tunel_download_path(file_tunel_download), :remote => true + = link_to i(:eye), admin_file_tunel_download_path(file_tunel_download), :remote => true + + + + + =render :partial => "qi/qi_ordered_table_object", :locals => {:tr => tr, :object => file_tunel_download} \ No newline at end of file diff --git a/app/views/admin/file_tunel_downloads/_form.html.haml b/app/views/admin/file_tunel_downloads/_form.html.haml new file mode 100644 index 0000000..7140a1e --- /dev/null +++ b/app/views/admin/file_tunel_downloads/_form.html.haml @@ -0,0 +1,21 @@ +=semantic_form_for [:admin, @file_tunel_download], :remote => true do |f| + + .content + =f.inputs do + = f.input :file_tunel, :label => "file_tunel :" + = f.input :file_tunel_send_id, :label => "file_tunel_send_id :" + = f.input :name, :label => "name :" + = f.input :firstname, :label => "firstname :" + = f.input :organisation, :label => "organisation :" + = f.input :civilite, :label => "civilite :" + = f.input :token, :label => "token :" + = f.input :email, :label => "email :" + = f.input :download_times, :label => "download_times :" + = f.input :last_download_at, :label => "last_download_at :" + + + + + + .actions=f.submit "sauvegarder", :class => "btn btn-primary" + \ No newline at end of file diff --git a/app/views/admin/file_tunel_downloads/create.js.erb b/app/views/admin/file_tunel_downloads/create.js.erb new file mode 100644 index 0000000..5c3ad6a --- /dev/null +++ b/app/views/admin/file_tunel_downloads/create.js.erb @@ -0,0 +1,2 @@ +$('#file_tunel_downloads_rows').prepend("<%= escape_javascript(render(@file_tunel_download))%>"); +close_pane_hover(); \ No newline at end of file diff --git a/app/views/admin/file_tunel_downloads/destroy.js.erb b/app/views/admin/file_tunel_downloads/destroy.js.erb new file mode 100644 index 0000000..14410f5 --- /dev/null +++ b/app/views/admin/file_tunel_downloads/destroy.js.erb @@ -0,0 +1 @@ +$('#file_tunel_download_<%= @file_tunel_download.id %>').remove(); \ No newline at end of file diff --git a/app/views/admin/file_tunel_downloads/edit.js.erb b/app/views/admin/file_tunel_downloads/edit.js.erb new file mode 100644 index 0000000..6c8f015 --- /dev/null +++ b/app/views/admin/file_tunel_downloads/edit.js.erb @@ -0,0 +1 @@ +show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",700,900); \ No newline at end of file diff --git a/app/views/admin/file_tunel_downloads/index.html.haml b/app/views/admin/file_tunel_downloads/index.html.haml new file mode 100644 index 0000000..0275a67 --- /dev/null +++ b/app/views/admin/file_tunel_downloads/index.html.haml @@ -0,0 +1,20 @@ +.qi_header + .right= link_to 'Ajouter ', new_admin_file_tunel_download_path(), :class => "btn btn-primary", :remote => true + %h1 + + %span + + + +.qi_search_row + =form_tag "", :method => "get", :onsubmit => "" do + -params[:search] =params[:search] || {} + %table + %tr + %td + + + =render :partial => "qi/qi_ordered_table_search_footer", :locals => {:collection_object => @file_tunel_downloads} + + +=render :partial => "qi/qi_ordered_table", :locals => {:qi_ordered_table_collection => @file_tunel_downloads} diff --git a/app/views/admin/file_tunel_downloads/new.js.erb b/app/views/admin/file_tunel_downloads/new.js.erb new file mode 100644 index 0000000..6c8f015 --- /dev/null +++ b/app/views/admin/file_tunel_downloads/new.js.erb @@ -0,0 +1 @@ +show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",700,900); \ No newline at end of file diff --git a/app/views/admin/file_tunel_downloads/show.html.haml b/app/views/admin/file_tunel_downloads/show.html.haml new file mode 100644 index 0000000..98c4492 --- /dev/null +++ b/app/views/admin/file_tunel_downloads/show.html.haml @@ -0,0 +1,10 @@ +.qi_header + %h1 + + %span + + + +.qi_row + .qi_pannel.qi_plain.padding + =debug @file_tunel_download \ No newline at end of file diff --git a/app/views/admin/file_tunel_downloads/update.js.erb b/app/views/admin/file_tunel_downloads/update.js.erb new file mode 100644 index 0000000..1a70c3c --- /dev/null +++ b/app/views/admin/file_tunel_downloads/update.js.erb @@ -0,0 +1,2 @@ +$('#file_tunel_download_row_<%= @file_tunel_download.id %>').replaceWith("<%= escape_javascript(render(@file_tunel_download))%>"); +close_pane_hover(); \ No newline at end of file diff --git a/app/views/admin/file_tunel_files/_file_tunel_file.html.haml b/app/views/admin/file_tunel_files/_file_tunel_file.html.haml new file mode 100644 index 0000000..52743aa --- /dev/null +++ b/app/views/admin/file_tunel_files/_file_tunel_file.html.haml @@ -0,0 +1,13 @@ +%tr#file_tunel_file_row{:id => file_tunel_file.id} + -tr = {} + + -tr[:actions] = capture do + %td.actions + = link_to i(:"trash-o"), [:admin, file_tunel_file], method: :delete, data: { confirm: 'Voulez-vous vraiment supprimer cet enregistrement ? ' } , :remote => true + = link_to i(:pencil), edit_admin_file_tunel_file_path(file_tunel_file), :remote => true + = link_to i(:eye), admin_file_tunel_file_path(file_tunel_file), :remote => true + + + + + =render :partial => "qi/qi_ordered_table_object", :locals => {:tr => tr, :object => file_tunel_file} \ No newline at end of file diff --git a/app/views/admin/file_tunel_files/_form.html.haml b/app/views/admin/file_tunel_files/_form.html.haml new file mode 100644 index 0000000..0f3ee60 --- /dev/null +++ b/app/views/admin/file_tunel_files/_form.html.haml @@ -0,0 +1,8 @@ +.file_tunel_file_form.field + =form.input :name, :label => "Nom :" + =form.input :file, :label => "Fichier :" + =form.input :position + + =link_to_remove_fields ic(:"trash-o"), form + + \ No newline at end of file diff --git a/app/views/admin/file_tunel_files/create.js.erb b/app/views/admin/file_tunel_files/create.js.erb new file mode 100644 index 0000000..7cef6cd --- /dev/null +++ b/app/views/admin/file_tunel_files/create.js.erb @@ -0,0 +1,2 @@ +$('#file_tunel_files_rows').prepend("<%= escape_javascript(render(@file_tunel_file))%>"); +close_pane_hover(); \ No newline at end of file diff --git a/app/views/admin/file_tunel_files/destroy.js.erb b/app/views/admin/file_tunel_files/destroy.js.erb new file mode 100644 index 0000000..5b7aa35 --- /dev/null +++ b/app/views/admin/file_tunel_files/destroy.js.erb @@ -0,0 +1 @@ +$('#file_tunel_file_<%= @file_tunel_file.id %>').remove(); \ No newline at end of file diff --git a/app/views/admin/file_tunel_files/edit.js.erb b/app/views/admin/file_tunel_files/edit.js.erb new file mode 100644 index 0000000..6c8f015 --- /dev/null +++ b/app/views/admin/file_tunel_files/edit.js.erb @@ -0,0 +1 @@ +show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",700,900); \ No newline at end of file diff --git a/app/views/admin/file_tunel_files/index.html.haml b/app/views/admin/file_tunel_files/index.html.haml new file mode 100644 index 0000000..143f9fc --- /dev/null +++ b/app/views/admin/file_tunel_files/index.html.haml @@ -0,0 +1,20 @@ +.qi_header + .right= link_to 'Ajouter ', new_admin_file_tunel_file_path(), :class => "btn btn-primary", :remote => true + %h1 + + %span + + + +.qi_search_row + =form_tag "", :method => "get", :onsubmit => "" do + -params[:search] =params[:search] || {} + %table + %tr + %td + + + =render :partial => "qi/qi_ordered_table_search_footer", :locals => {:collection_object => @file_tunel_files} + + +=render :partial => "qi/qi_ordered_table", :locals => {:qi_ordered_table_collection => @file_tunel_files} diff --git a/app/views/admin/file_tunel_files/new.js.erb b/app/views/admin/file_tunel_files/new.js.erb new file mode 100644 index 0000000..6c8f015 --- /dev/null +++ b/app/views/admin/file_tunel_files/new.js.erb @@ -0,0 +1 @@ +show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",700,900); \ No newline at end of file diff --git a/app/views/admin/file_tunel_files/show.html.haml b/app/views/admin/file_tunel_files/show.html.haml new file mode 100644 index 0000000..bc5a83a --- /dev/null +++ b/app/views/admin/file_tunel_files/show.html.haml @@ -0,0 +1,10 @@ +.qi_header + %h1 + + %span + + + +.qi_row + .qi_pannel.qi_plain.padding + =debug @file_tunel_file \ No newline at end of file diff --git a/app/views/admin/file_tunel_files/update.js.erb b/app/views/admin/file_tunel_files/update.js.erb new file mode 100644 index 0000000..db5b41f --- /dev/null +++ b/app/views/admin/file_tunel_files/update.js.erb @@ -0,0 +1,2 @@ +$('#file_tunel_file_row_<%= @file_tunel_file.id %>').replaceWith("<%= escape_javascript(render(@file_tunel_file))%>"); +close_pane_hover(); \ No newline at end of file diff --git a/app/views/admin/file_tunel_sends/_file_tunel_send.html.haml b/app/views/admin/file_tunel_sends/_file_tunel_send.html.haml new file mode 100644 index 0000000..10d18a4 --- /dev/null +++ b/app/views/admin/file_tunel_sends/_file_tunel_send.html.haml @@ -0,0 +1,13 @@ +%tr#file_tunel_send_row{:id => file_tunel_send.id} + -tr = {} + + -tr[:actions] = capture do + %td.actions + = link_to i(:"trash-o"), [:admin, file_tunel_send], method: :delete, data: { confirm: 'Voulez-vous vraiment supprimer cet enregistrement ? ' } , :remote => true + = link_to i(:pencil), edit_admin_file_tunel_send_path(file_tunel_send), :remote => true + = link_to i(:eye), admin_file_tunel_send_path(file_tunel_send), :remote => true + + + + + =render :partial => "qi/qi_ordered_table_object", :locals => {:tr => tr, :object => file_tunel_send} \ No newline at end of file diff --git a/app/views/admin/file_tunel_sends/_form.html.haml b/app/views/admin/file_tunel_sends/_form.html.haml new file mode 100644 index 0000000..180c79d --- /dev/null +++ b/app/views/admin/file_tunel_sends/_form.html.haml @@ -0,0 +1,6 @@ +.file_tunel_send_form.field + =form.input :email, :label => "Email :" + + =link_to_remove_fields ic(:"trash-o"), form + + \ No newline at end of file diff --git a/app/views/admin/file_tunel_sends/create.js.erb b/app/views/admin/file_tunel_sends/create.js.erb new file mode 100644 index 0000000..fdfbb27 --- /dev/null +++ b/app/views/admin/file_tunel_sends/create.js.erb @@ -0,0 +1,2 @@ +$('#file_tunel_sends_rows').prepend("<%= escape_javascript(render(@file_tunel_send))%>"); +close_pane_hover(); \ No newline at end of file diff --git a/app/views/admin/file_tunel_sends/destroy.js.erb b/app/views/admin/file_tunel_sends/destroy.js.erb new file mode 100644 index 0000000..6ca2482 --- /dev/null +++ b/app/views/admin/file_tunel_sends/destroy.js.erb @@ -0,0 +1 @@ +$('#file_tunel_send_<%= @file_tunel_send.id %>').remove(); \ No newline at end of file diff --git a/app/views/admin/file_tunel_sends/edit.js.erb b/app/views/admin/file_tunel_sends/edit.js.erb new file mode 100644 index 0000000..6c8f015 --- /dev/null +++ b/app/views/admin/file_tunel_sends/edit.js.erb @@ -0,0 +1 @@ +show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",700,900); \ No newline at end of file diff --git a/app/views/admin/file_tunel_sends/index.html.haml b/app/views/admin/file_tunel_sends/index.html.haml new file mode 100644 index 0000000..814c967 --- /dev/null +++ b/app/views/admin/file_tunel_sends/index.html.haml @@ -0,0 +1,20 @@ +.qi_header + .right= link_to 'Ajouter ', new_admin_file_tunel_send_path(), :class => "btn btn-primary", :remote => true + %h1 + + %span + + + +.qi_search_row + =form_tag "", :method => "get", :onsubmit => "" do + -params[:search] =params[:search] || {} + %table + %tr + %td + + + =render :partial => "qi/qi_ordered_table_search_footer", :locals => {:collection_object => @file_tunel_sends} + + +=render :partial => "qi/qi_ordered_table", :locals => {:qi_ordered_table_collection => @file_tunel_sends} diff --git a/app/views/admin/file_tunel_sends/new.js.erb b/app/views/admin/file_tunel_sends/new.js.erb new file mode 100644 index 0000000..6c8f015 --- /dev/null +++ b/app/views/admin/file_tunel_sends/new.js.erb @@ -0,0 +1 @@ +show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",700,900); \ No newline at end of file diff --git a/app/views/admin/file_tunel_sends/show.html.haml b/app/views/admin/file_tunel_sends/show.html.haml new file mode 100644 index 0000000..1b310bd --- /dev/null +++ b/app/views/admin/file_tunel_sends/show.html.haml @@ -0,0 +1,10 @@ +.qi_header + %h1 + + %span + + + +.qi_row + .qi_pannel.qi_plain.padding + =debug @file_tunel_send \ No newline at end of file diff --git a/app/views/admin/file_tunel_sends/update.js.erb b/app/views/admin/file_tunel_sends/update.js.erb new file mode 100644 index 0000000..cfdf21e --- /dev/null +++ b/app/views/admin/file_tunel_sends/update.js.erb @@ -0,0 +1,2 @@ +$('#file_tunel_send_row_<%= @file_tunel_send.id %>').replaceWith("<%= escape_javascript(render(@file_tunel_send))%>"); +close_pane_hover(); \ No newline at end of file diff --git a/app/views/admin/file_tunels/_file_tunel.html.haml b/app/views/admin/file_tunels/_file_tunel.html.haml new file mode 100644 index 0000000..55edcaa --- /dev/null +++ b/app/views/admin/file_tunels/_file_tunel.html.haml @@ -0,0 +1,13 @@ +%tr#file_tunel_row{:id => file_tunel.id} + -tr = {} + + -tr[:actions] = capture do + %td.actions + = link_to i(:"trash-o"), [:admin, file_tunel], method: :delete, data: { confirm: 'Voulez-vous vraiment supprimer cet enregistrement ? ' } , :remote => true + = link_to i(:pencil), edit_admin_file_tunel_path(file_tunel), :remote => true + = link_to i(:eye), admin_file_tunel_path(file_tunel), :remote => true + + + + + =render :partial => "qi/qi_ordered_table_object", :locals => {:tr => tr, :object => file_tunel} \ No newline at end of file diff --git a/app/views/admin/file_tunels/_form.html.haml b/app/views/admin/file_tunels/_form.html.haml new file mode 100644 index 0000000..368715b --- /dev/null +++ b/app/views/admin/file_tunels/_form.html.haml @@ -0,0 +1,41 @@ +=semantic_form_for [:admin, @file_tunel], html: { multipart: true }, :remote => true do |f| + + .content + =f.inputs do + = f.input :p_customer, :label => "Client :" + + = f.input :name, :label => "Nom :" + = f.input :description, :label => "Description :" + = f.input :slug, :label => "Permalien :" + = f.input :start_at, :label => "Date de début :", :as => :date + = f.input :end_at, :label => "Date de fin :" , :as => :date + = f.input :fili_text, :label => "Texte filigrame :" + + + .qi_row + .qi_pannel.qi_plain.padding + Fichiers : + %hr + + .file_tunel_files_form + =f.semantic_fields_for :file_tunel_files do |form| + =render :partial => "admin/file_tunel_files/form", :locals => {:form => form} + + %p= link_to_add_fields ic(:plus)+" Ajouter un fichier demandé", f, :file_tunel_files + + + .qi_row + .qi_pannel.qi_plain.padding + Fichiers demandés : + %hr + + .file_tunel_sends_form + =f.semantic_fields_for :file_tunel_sends do |form| + =render :partial => "admin/file_tunel_sends/form", :locals => {:form => form} + + %p= link_to_add_fields ic(:plus)+" Ajouter un fichier demandé", f, :file_tunel_sends + + + + .actions=f.submit "sauvegarder", :class => "btn btn-primary" + \ No newline at end of file diff --git a/app/views/admin/file_tunels/create.js.erb b/app/views/admin/file_tunels/create.js.erb new file mode 100644 index 0000000..be9e040 --- /dev/null +++ b/app/views/admin/file_tunels/create.js.erb @@ -0,0 +1,2 @@ +$('#file_tunels_rows').prepend("<%= escape_javascript(render(@file_tunel))%>"); +close_pane_hover(); \ No newline at end of file diff --git a/app/views/admin/file_tunels/destroy.js.erb b/app/views/admin/file_tunels/destroy.js.erb new file mode 100644 index 0000000..aec427e --- /dev/null +++ b/app/views/admin/file_tunels/destroy.js.erb @@ -0,0 +1 @@ +$('#file_tunel_<%= @file_tunel.id %>').remove(); \ No newline at end of file diff --git a/app/views/admin/file_tunels/edit.js.erb b/app/views/admin/file_tunels/edit.js.erb new file mode 100644 index 0000000..6c8f015 --- /dev/null +++ b/app/views/admin/file_tunels/edit.js.erb @@ -0,0 +1 @@ +show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",700,900); \ No newline at end of file diff --git a/app/views/admin/file_tunels/index.html.haml b/app/views/admin/file_tunels/index.html.haml new file mode 100644 index 0000000..8328b71 --- /dev/null +++ b/app/views/admin/file_tunels/index.html.haml @@ -0,0 +1,20 @@ +.qi_header + .right= link_to 'Ajouter ', new_admin_file_tunel_path(), :class => "btn btn-primary", :remote => true + %h1 + + %span + + + +.qi_search_row + =form_tag "", :method => "get", :onsubmit => "" do + -params[:search] =params[:search] || {} + %table + %tr + %td + + + =render :partial => "qi/qi_ordered_table_search_footer", :locals => {:collection_object => @file_tunels} + + +=render :partial => "qi/qi_ordered_table", :locals => {:qi_ordered_table_collection => @file_tunels} diff --git a/app/views/admin/file_tunels/new.js.erb b/app/views/admin/file_tunels/new.js.erb new file mode 100644 index 0000000..6c8f015 --- /dev/null +++ b/app/views/admin/file_tunels/new.js.erb @@ -0,0 +1 @@ +show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",700,900); \ No newline at end of file diff --git a/app/views/admin/file_tunels/show.html.haml b/app/views/admin/file_tunels/show.html.haml new file mode 100644 index 0000000..d00f18a --- /dev/null +++ b/app/views/admin/file_tunels/show.html.haml @@ -0,0 +1,10 @@ +.qi_header + %h1 + + %span + + + +.qi_row + .qi_pannel.qi_plain.padding + =debug @file_tunel \ No newline at end of file diff --git a/app/views/admin/file_tunels/update.js.erb b/app/views/admin/file_tunels/update.js.erb new file mode 100644 index 0000000..687b41e --- /dev/null +++ b/app/views/admin/file_tunels/update.js.erb @@ -0,0 +1,2 @@ +$('#file_tunel_row_<%= @file_tunel.id %>').replaceWith("<%= escape_javascript(render(@file_tunel))%>"); +close_pane_hover(); \ No newline at end of file diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml index beb83d1..520d419 100644 --- a/app/views/layouts/admin.html.haml +++ b/app/views/layouts/admin.html.haml @@ -42,6 +42,8 @@ .cat#big_cat_stocks =ic :"cubes" Opérations ODR + + -if false .element @@ -62,7 +64,14 @@ .cat#big_cat_payments =ic :"eur" Virements - + + .element + =link_to admin_file_tunels_path do + .cat#big_cat_tournees + =ic :"lock" + Tunels fichier sécurisés + + -if false .element =link_to admin_p_stats_path do diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml index a3f3caf..3ace103 100644 --- a/app/views/layouts/public.html.haml +++ b/app/views/layouts/public.html.haml @@ -119,7 +119,7 @@ =image_tag @m_odr.logo_image_file.file.url, :class => "odr_logo", :style => (@m_odr.logo_image_file_width? ? "max-width:#{@m_odr.logo_image_file_width}px;margin:auto;": "") - -if @m_odr.logo_image_file + -if @m_odr.banner_image_file =image_tag @m_odr.banner_image_file.file.url, :class => "odr_banner", :style => (@m_odr.banner_image_file_width? ? "max-width:#{@m_odr.banner_image_file_width}px;margin:auto;margin-bottom:40px;": "") -background = (@m_odr.background_image_file ? @m_odr.background_image_file.file.url : "") diff --git a/config/routes.rb b/config/routes.rb index 8dcab6e..4162976 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,49 @@ Rails.application.routes.draw do + namespace :admin do + resources :file_tunel_files do + member do + + end + collection do + + end + end + end + + namespace :admin do + resources :file_tunel_downloads do + member do + + end + collection do + + end + end + end + + namespace :admin do + resources :file_tunel_sends do + member do + + end + collection do + + end + end + end + + namespace :admin do + resources :file_tunels do + member do + + end + collection do + + end + end + end + namespace :admin do resources :mail_hists do member do diff --git a/db/migrate/20200303104326_create_file_tunels.rb b/db/migrate/20200303104326_create_file_tunels.rb new file mode 100644 index 0000000..93847f2 --- /dev/null +++ b/db/migrate/20200303104326_create_file_tunels.rb @@ -0,0 +1,23 @@ +class CreateFileTunels < ActiveRecord::Migration[6.0] + def change + create_table :file_tunels do |t| + t.string :name + t.text :description + t.string :slug + t.string :token + t.string :from_email + t.string :from_name + t.boolean :enabled, :default => true + t.datetime :start_at + t.datetime :end_at + t.string :fili_text + t.integer :download_times, :default => 0 + t.boolean :init_mail, :default => true + t.boolean :send_mail, :default => true + t.references :p_customer, foreign_key: true + t.references :admin, foreign_key: true + + t.timestamps + end + end +end diff --git a/db/migrate/20200303104450_create_file_tunel_sends.rb b/db/migrate/20200303104450_create_file_tunel_sends.rb new file mode 100644 index 0000000..d0c5670 --- /dev/null +++ b/db/migrate/20200303104450_create_file_tunel_sends.rb @@ -0,0 +1,16 @@ +class CreateFileTunelSends < ActiveRecord::Migration[6.0] + def change + create_table :file_tunel_sends do |t| + t.references :file_tunel, foreign_key: true + t.string :token + t.string :email + t.integer :download_times, :default => 0 + t.boolean :enabled, :default => true + t.datetime :send_at + t.boolean :read, :default => false + t.string :mj_token + + t.timestamps + end + end +end diff --git a/db/migrate/20200303104619_create_file_tunel_downloads.rb b/db/migrate/20200303104619_create_file_tunel_downloads.rb new file mode 100644 index 0000000..a1031f4 --- /dev/null +++ b/db/migrate/20200303104619_create_file_tunel_downloads.rb @@ -0,0 +1,18 @@ +class CreateFileTunelDownloads < ActiveRecord::Migration[6.0] + def change + create_table :file_tunel_downloads do |t| + t.references :file_tunel, foreign_key: true + t.references :file_tunel_send, foreign_key: true + t.string :name + t.string :firstname + t.string :organisation + t.string :civilite + t.string :token + t.string :email + t.integer :download_times, :default => 0 + t.datetime :last_download_at + + t.timestamps + end + end +end diff --git a/db/migrate/20200303104720_create_file_tunel_files.rb b/db/migrate/20200303104720_create_file_tunel_files.rb new file mode 100644 index 0000000..c0d2241 --- /dev/null +++ b/db/migrate/20200303104720_create_file_tunel_files.rb @@ -0,0 +1,15 @@ +class CreateFileTunelFiles < ActiveRecord::Migration[6.0] + def change + create_table :file_tunel_files do |t| + t.string :file + t.string :token + t.boolean :enabled, :default => true + t.integer :position + t.text :description + t.string :name + t.references :file_tunel, foreign_key: true + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 39f2e02..3772355 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2020_03_01_125633) do +ActiveRecord::Schema.define(version: 2020_03_03_104720) do create_table "accounting_zones", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4", force: :cascade do |t| t.string "name" @@ -321,6 +321,70 @@ ActiveRecord::Schema.define(version: 2020_03_01_125633) do t.datetime "updated_at", precision: 6, null: false end + create_table "file_tunel_downloads", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4", force: :cascade do |t| + t.bigint "file_tunel_id" + t.bigint "file_tunel_send_id" + t.string "name" + t.string "firstname" + t.string "organisation" + t.string "civilite" + t.string "token" + t.string "email" + t.integer "download_times", default: 0 + t.datetime "last_download_at" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.index ["file_tunel_id"], name: "index_file_tunel_downloads_on_file_tunel_id" + t.index ["file_tunel_send_id"], name: "index_file_tunel_downloads_on_file_tunel_send_id" + end + + create_table "file_tunel_files", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4", force: :cascade do |t| + t.string "file" + t.string "token" + t.boolean "enabled", default: true + t.integer "position" + t.text "description" + t.string "name" + t.bigint "file_tunel_id" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + end + + create_table "file_tunel_sends", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4", force: :cascade do |t| + t.bigint "file_tunel_id" + t.string "token" + t.string "email" + t.integer "download_times", default: 0 + t.boolean "enabled", default: true + t.datetime "send_at" + t.boolean "read", default: false + t.string "mj_token" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + end + + create_table "file_tunels", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4", force: :cascade do |t| + t.string "name" + t.text "description" + t.string "slug" + t.string "token" + t.string "from_email" + t.string "from_name" + t.boolean "enabled", default: true + t.datetime "start_at" + t.datetime "end_at" + t.string "fili_text" + t.integer "download_times", default: 0 + t.boolean "init_mail", default: true + t.boolean "send_mail", default: true + t.bigint "p_customer_id" + t.bigint "admin_id" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.index ["admin_id"], name: "index_file_tunels_on_admin_id" + t.index ["p_customer_id"], name: "index_file_tunels_on_p_customer_id" + end + create_table "gallery_contents", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4", force: :cascade do |t| t.string "name" t.text "description" @@ -2464,6 +2528,10 @@ ActiveRecord::Schema.define(version: 2020_03_01_125633) do end add_foreign_key "admin_preferences", "admins" + add_foreign_key "file_tunel_downloads", "file_tunel_sends" + add_foreign_key "file_tunel_downloads", "file_tunels" + add_foreign_key "file_tunels", "admins" + add_foreign_key "file_tunels", "p_customers" add_foreign_key "i_task_projects", "admins" add_foreign_key "i_tasks", "admins" add_foreign_key "i_tasks", "i_task_projects" diff --git a/public/uploads/tmp/1582821429-666642917056715-0008-7720/Capture_d_écran_2020-02-25_à_22.09.21.png b/public/uploads/tmp/1582821429-666642917056715-0008-7720/Capture_d_écran_2020-02-25_à_22.09.21.png new file mode 100644 index 0000000..a170097 Binary files /dev/null and b/public/uploads/tmp/1582821429-666642917056715-0008-7720/Capture_d_écran_2020-02-25_à_22.09.21.png differ diff --git a/public/uploads/tmp/1582980950-235198426704872-0001-4486/Capture_d_écran_2020-02-29_à_11.47.09.png b/public/uploads/tmp/1582980950-235198426704872-0001-4486/Capture_d_écran_2020-02-29_à_11.47.09.png new file mode 100644 index 0000000..4cb42d3 Binary files /dev/null and b/public/uploads/tmp/1582980950-235198426704872-0001-4486/Capture_d_écran_2020-02-29_à_11.47.09.png differ diff --git a/public/uploads/tmp/1583074260-176205389951835-0001-6724/ot-statuts.pdf b/public/uploads/tmp/1583074260-176205389951835-0001-6724/ot-statuts.pdf new file mode 100644 index 0000000..0b3c5a9 Binary files /dev/null and b/public/uploads/tmp/1583074260-176205389951835-0001-6724/ot-statuts.pdf differ diff --git a/test/fixtures/file_tunel_downloads.yml b/test/fixtures/file_tunel_downloads.yml new file mode 100644 index 0000000..77e7223 --- /dev/null +++ b/test/fixtures/file_tunel_downloads.yml @@ -0,0 +1,25 @@ +# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + file_tunel: one + file_tunel_send_id: one + name: MyString + firstname: MyString + organisation: MyString + civilite: MyString + token: MyString + email: MyString + download_times: 1 + last_download_at: 2020-03-03 11:46:19 + +two: + file_tunel: two + file_tunel_send_id: two + name: MyString + firstname: MyString + organisation: MyString + civilite: MyString + token: MyString + email: MyString + download_times: 1 + last_download_at: 2020-03-03 11:46:19 diff --git a/test/fixtures/file_tunel_files.yml b/test/fixtures/file_tunel_files.yml new file mode 100644 index 0000000..7933fc8 --- /dev/null +++ b/test/fixtures/file_tunel_files.yml @@ -0,0 +1,19 @@ +# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + file: MyString + token: MyString + enabled: false + position: 1 + description: MyText + name: MyString + file_tunel: one + +two: + file: MyString + token: MyString + enabled: false + position: 1 + description: MyText + name: MyString + file_tunel: two diff --git a/test/fixtures/file_tunel_sends.yml b/test/fixtures/file_tunel_sends.yml new file mode 100644 index 0000000..0d5878c --- /dev/null +++ b/test/fixtures/file_tunel_sends.yml @@ -0,0 +1,21 @@ +# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + file_tunel: one + token: MyString + email: MyString + download_times: 1 + enabled: false + send_at: 2020-03-03 11:44:51 + read: false + mj_token: MyString + +two: + file_tunel: two + token: MyString + email: MyString + download_times: 1 + enabled: false + send_at: 2020-03-03 11:44:51 + read: false + mj_token: MyString diff --git a/test/fixtures/file_tunels.yml b/test/fixtures/file_tunels.yml new file mode 100644 index 0000000..f5d57c0 --- /dev/null +++ b/test/fixtures/file_tunels.yml @@ -0,0 +1,31 @@ +# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + name: + description: MyText + slug: MyString + token: MyString + enabled: false + start_at: 2020-03-03 11:43:26 + end_at: 2020-03-03 11:43:26 + fili_text: MyString + download_times: 1 + init_mail: false + send_mail: false + p_customer: one + admin: one + +two: + name: + description: MyText + slug: MyString + token: MyString + enabled: false + start_at: 2020-03-03 11:43:26 + end_at: 2020-03-03 11:43:26 + fili_text: MyString + download_times: 1 + init_mail: false + send_mail: false + p_customer: two + admin: two diff --git a/test/models/file_tunel_download_test.rb b/test/models/file_tunel_download_test.rb new file mode 100644 index 0000000..f39e36f --- /dev/null +++ b/test/models/file_tunel_download_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class FileTunelDownloadTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/file_tunel_file_test.rb b/test/models/file_tunel_file_test.rb new file mode 100644 index 0000000..6d37c25 --- /dev/null +++ b/test/models/file_tunel_file_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class FileTunelFileTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/file_tunel_send_test.rb b/test/models/file_tunel_send_test.rb new file mode 100644 index 0000000..d13127f --- /dev/null +++ b/test/models/file_tunel_send_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class FileTunelSendTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/file_tunel_test.rb b/test/models/file_tunel_test.rb new file mode 100644 index 0000000..52674ca --- /dev/null +++ b/test/models/file_tunel_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class FileTunelTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end