suite
This commit is contained in:
parent
e4c6b8f768
commit
bd72e6a621
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
=link_to ic(:times), params.merge(:i_task_project_id => "")
|
||||
|
||||
|
||||
:scss
|
||||
.tasks_menu{
|
||||
a{
|
||||
|
113
app/views/admin/i_tasks/preview.html.haml
Normal file
113
app/views/admin/i_tasks/preview.html.haml
Normal 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
|
||||
|
||||
=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;
|
||||
}
|
||||
|
||||
}
|
||||
|
83
app/views/admin/i_websites/preview.html.haml
Normal file
83
app/views/admin/i_websites/preview.html.haml
Normal 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
|
||||
|
||||
=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"
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -7,7 +7,7 @@ Rails.application.routes.draw do
|
||||
get "sitemap.:f" => "public/seo#sitemap"
|
||||
|
||||
|
||||
|
||||
get "p/:id" => "admin/i_websites#preview"
|
||||
|
||||
|
||||
|
||||
|
10
db/migrate/20191112110616_add_token_to_i_websites.rb
Normal file
10
db/migrate/20191112110616_add_token_to_i_websites.rb
Normal 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
|
@ -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|
|
||||
|
BIN
public/logo-olwen-technology.png
Normal file
BIN
public/logo-olwen-technology.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
Loading…
x
Reference in New Issue
Block a user