This commit is contained in:
Nicolas Bally 2019-11-12 12:49:15 +01:00
parent e4c6b8f768
commit bd72e6a621
11 changed files with 324 additions and 74 deletions

View File

@ -12,6 +12,17 @@ class Admin::IWebsitesController < ApplicationController
def preview
@i_website = IWebsite.where(:token => params[:id]).first
@i_tasks = @i_website.i_tasks
#render :template => "admin/i_tasks/index"
@preview = true
params[:no_detail]= true
end
def index
@i_websites = IWebsite.joins(:p_customer).order("p_customers.name ASC, p_customers.id ASC, i_websites.name ASC").all

View File

@ -8,4 +8,16 @@ class IWebsite < ActiveRecord::Base
self.name.to_s+(" - "+self.url.to_s if self.url?).to_s+(" - "+self.prov_url.to_s if self.prov_url?).to_s
end
before_save do
self.verify
end
def verify(size=16)
if !self.token
s = ""
size.times { s << (i = Kernel.rand(62); i += ((i < 10) ? 48 : ((i < 36) ? 55 : 61 ))).chr }
self.token = s
end
end
end

View File

@ -5,14 +5,23 @@
%tr
%td{:style => (params[:no_detail] ? "width:30px;" : "width:150px;")}
-if i_task.done
=link_to admin_i_task_path(:id => i_task.id, :i_task => {:done => false}), :remote => true, :method => :put do
-if @preview
-if i_task.done
.big_icon.done
=ic :check
-else
=link_to admin_i_task_path(:id => i_task.id, :i_task => {:done => true}), :remote => true, :method => :put do
-else
.big_icon.undone
=ic :check
-else
-if i_task.done
=link_to admin_i_task_path(:id => i_task.id, :i_task => {:done => false}), :remote => true, :method => :put do
.big_icon.done
=ic :check
-else
=link_to admin_i_task_path(:id => i_task.id, :i_task => {:done => true}), :remote => true, :method => :put do
.big_icon.undone
=ic :check
-if !params[:no_detail]
-if i_task.urgent

View File

@ -63,9 +63,15 @@
.i_task_project
.right
=@i_task_project.admin.name if @i_task_project.admin
=link_to ic(:globe), "/p/#{@i_task_project.token}", :target => "_blank"
=@i_task_project.name
&nbsp;&nbsp;
=link_to ic(:times), params.merge(:i_task_project_id => "")
:scss
.tasks_menu{
a{

View File

@ -0,0 +1,113 @@
.qi_header
%h1 To do
.qi_row
-if params[:i_previ_id]
-@i_tasks = ITask.where(:i_previ_id => params[:i_previ_id], :done => false).all
-elsif params[:archive]
-@i_tasks = ITask.where(:done => true).all
-elsif params[:urgent]
-@i_tasks = ITask.where(:urgent => true, :done => false).all
-elsif params[:no]
-@i_tasks = ITask.where(:done => false, :i_previ_id => nil).all
-else
-params[:all] = true
-@i_tasks = ITask.where(:done => false).all
-if params[:i_task_project_id] and params[:i_task_project_id].to_s != ""
-@i_task_project = IWebsite.where(:id => params[:i_task_project_id]).first
-@i_tasks = @i_tasks.where(:i_website_id => params[:i_task_project_id]).all
:scss
.i_task_project{
background:white;
font-weight:bold;
padding:10px 20px;
margin-top:10px;
}
.tasks_menu
=link_to admin_i_tasks_path(:no => 1, :i_task_project_id => params[:i_task_project_id]), :class => ("active" if params[:no]) do
Non planifiées
=link_to admin_i_tasks_path(:all => 1, :i_task_project_id => params[:i_task_project_id]), :class => ("active" if params[:all]) do
Toutes les tâches
=link_to admin_i_tasks_path(:urgent => 1, :i_task_project_id => params[:i_task_project_id]), :class => ("active" if params[:urgent]) do
=ic :"free-code-camp"
Urgent
=link_to admin_i_tasks_path(:i_previ_id => 1, :i_task_project_id => params[:i_task_project_id]), :class => ("active" if params[:i_previ_id].to_s == "1") do
=ic :star
Aujourd'hui
=link_to admin_i_tasks_path(:i_previ_id => 2, :i_task_project_id => params[:i_task_project_id]), :class => ("active" if params[:i_previ_id].to_s == "2") do
=ic :"arrow-right"
Rapidement
=link_to admin_i_tasks_path(:i_previ_id => 3, :i_task_project_id => params[:i_task_project_id]), :class => ("active" if params[:i_previ_id].to_s == "3") do
=ic :history
Un jour
=link_to admin_i_tasks_path(:archive => 1, :i_task_project_id => params[:i_task_project_id]), :class => ("active" if params[:archive]) do
Journal
-if @i_task_project
.i_task_project
.right
=@i_task_project.admin.name if @i_task_project.admin
=link_to ic(:globe), "/p/#{@i_task_project.token}", :target => "_blank"
=@i_task_project.name
&nbsp;&nbsp;
=link_to ic(:times), params.merge(:i_task_project_id => "")
:scss
.tasks_menu{
a{
display:inline-block;
padding:4px 8px;
&:hover,&.active{
font-weight:bold;
}
}
}
#i_task_form
#new_i_task_form=render :partial => "admin/i_tasks/form", :locals => {:new_var => true}
.row
#i_tasks_results= render :partial => "admin/i_tasks/results"
.projects
%strong Projets avec des tâches en cours :
%br
-ITask.where(:done => false).where("i_website_id is not NULL").group(:i_website_id).map {|i| [i.i_website_id, i.i_website.name]}.sort.each do |iw|
=link_to iw[1],admin_i_tasks_path(:i_task_project_id => iw[0]), :class => "project"
:scss
.projects{
margin-bottom:100px;
.project{
display:inline-block;
padding:5px 8px;
margin:5px;
background:white;
}
}

View File

@ -0,0 +1,83 @@
.qi_header
%h1=@i_website.name
.qi_row
-if params[:i_previ_id]
-@i_tasks = ITask.where(:i_previ_id => params[:i_previ_id], :done => false).all
-elsif params[:archive]
-@i_tasks = ITask.where(:done => true).all
-elsif params[:urgent]
-@i_tasks = ITask.where(:urgent => true, :done => false).all
-elsif params[:no]
-@i_tasks = ITask.where(:done => false, :i_previ_id => nil).all
-else
-params[:all] = true
-@i_tasks = ITask.where(:done => false).all
-if params[:i_task_project_id] and params[:i_task_project_id].to_s != ""
-@i_task_project = IWebsite.where(:id => params[:i_task_project_id]).first
-@i_tasks = @i_tasks.where(:i_website_id => params[:i_task_project_id]).all
:scss
.i_task_project{
background:white;
font-weight:bold;
padding:10px 20px;
margin-top:10px;
}
.tasks_menu
=link_to url_for(:no => 1), :class => ("active" if params[:no]) do
Non planifiées
=link_to url_for(:all => 1), :class => ("active" if params[:all]) do
Toutes les tâches
-if false
=link_to url_for(:urgent => 1), :class => ("active" if params[:urgent]) do
=ic :"free-code-camp"
Urgent
=link_to url_for(:archive => 1), :class => ("active" if params[:archive]) do
Journal
-if @i_task_project
.i_task_project
.right
=@i_task_project.admin.name if @i_task_project.admin
=link_to ic(:globe), "/p/#{@i_task_project.token}", :target => "_blank"
=@i_task_project.name
&nbsp;&nbsp;
=link_to ic(:times), params.merge(:i_task_project_id => "")
:scss
.tasks_menu{
a{
display:inline-block;
padding:4px 8px;
&:hover,&.active{
font-weight:bold;
}
}
}
.row
#i_tasks_results= render :partial => "admin/i_tasks/results"

View File

@ -19,78 +19,79 @@
%body.admin
#right_bar
.element
=link_to "/" do
.cat#big_cat_clients
=ic :"home"
-if !@preview
#right_bar
.element
=link_to "/" do
.cat#big_cat_clients
=ic :"home"
.element
=link_to admin_p_customers_path do
.cat#big_cat_clients
=ic :"address-book-o"
Clients
.element
=link_to admin_p_customers_path do
.cat#big_cat_clients
=ic :"address-book-o"
Clients
.element
=link_to admin_p_customer_sheets_path do
.cat#big_cat_ventes
=ic :"shopping-cart"
Offres
.element
=link_to admin_p_customer_sheets_path do
.cat#big_cat_ventes
=ic :"shopping-cart"
Offres
.element
=link_to admin_i_websites_path do
.cat#big_cat_web
=ic :"globe"
Sites
.element
=link_to admin_p_documents_path do
.cat#big_cat_documents
=ic :"file-text-o"
Documents
.element
=link_to admin_p_payments_path do
.cat#big_cat_paiements
=ic :"eur"
Paiements
-if false
.element
=link_to admin_p_stats_path do
.cat#big_cat_charts
=ic :"bar-chart"
Stats
.bottom
=link_to admin_i_websites_path do
.cat#big_cat_web
=ic :"globe"
Sites
.element
=link_to admin_admins_path do
.cat#big_cat_preferences
=ic :"cog"
=link_to admin_p_documents_path do
.cat#big_cat_documents
=ic :"file-text-o"
Documents
.element
=link_to admin_p_payments_path do
.cat#big_cat_paiements
=ic :"eur"
Paiements
-if false
.element
=link_to admin_p_stats_path do
.cat#big_cat_charts
=ic :"bar-chart"
Stats
.bottom
.element
=link_to admin_admins_path do
.cat#big_cat_preferences
=ic :"cog"
-if @admin_space
%script
=raw '$("#big_cat_'+@admin_space.to_s+'").addClass("active");'
-if @admin_space
%script
=raw '$("#big_cat_'+@admin_space.to_s+'").addClass("active");'
%nav#admin_nav.navbar.navbar-default.navbar-inverse{role: "navigation"}
.container-fluid
%nav#admin_nav.navbar.navbar-default.navbar-inverse{role: "navigation"}
.container-fluid
.navbar-header
%button.navbar-toggle{"data-target" => "#bs-example-navbar-collapse-1", "data-toggle" => "collapse", type: "button"}
%span.sr-only Toggle navigation
%span.icon-bar
%span.icon-bar
%span.icon-bar
.navbar-header
%button.navbar-toggle{"data-target" => "#bs-example-navbar-collapse-1", "data-toggle" => "collapse", type: "button"}
%span.sr-only Toggle navigation
%span.icon-bar
%span.icon-bar
%span.icon-bar
#bs-example-navbar-collapse-1.collapse.navbar-collapse
%ul.nav.navbar-nav
-if @admin_space
=render :partial => "admin/admin_spaces/#{@admin_space.to_s}"
#bs-example-navbar-collapse-1.collapse.navbar-collapse
%ul.nav.navbar-nav
-if @admin_space
=render :partial => "admin/admin_spaces/#{@admin_space.to_s}"
@ -98,24 +99,28 @@
%ul.nav.navbar-nav.navbar-right
%li.dropdown
%a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
=current_admin.firstname
=current_admin.name
%b.caret
%ul.nav.navbar-nav.navbar-right
%li.dropdown
%a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
=current_admin.firstname
=current_admin.name
%b.caret
%ul.dropdown-menu
%li= link_to "Gestion des admins", admin_admins_path
%li.divider
%li=link_to "Se déconnecter", admin_admin_auth_path(1), method: :delete
%ul.dropdown-menu
%li= link_to "Gestion des admins", admin_admins_path
%li.divider
%li=link_to "Se déconnecter", admin_admin_auth_path(1), method: :delete
-else
#right_bar
=image_tag("/logo-olwen-technology.png", :style => "margin:10px auto;width:50%;display:block;")
= yield

View File

@ -7,7 +7,7 @@ Rails.application.routes.draw do
get "sitemap.:f" => "public/seo#sitemap"
get "p/:id" => "admin/i_websites#preview"

View File

@ -0,0 +1,10 @@
class AddTokenToIWebsites < ActiveRecord::Migration
def change
add_column :i_websites, :token, :string
IWebsite.all.each do |iw|
iw.save
end
end
end

View File

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20190722161039) do
ActiveRecord::Schema.define(version: 20191112110616) do
create_table "admin_admin_roles", force: :cascade do |t|
t.integer "admin_id", limit: 4
@ -464,6 +464,7 @@ ActiveRecord::Schema.define(version: 20190722161039) do
t.datetime "updated_at", null: false
t.integer "admin_id", limit: 4
t.string "state", limit: 255
t.string "token", limit: 255
end
create_table "image_contents", force: :cascade do |t|

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB