code réseaux

This commit is contained in:
Nicolas Bally 2017-05-23 10:07:58 +02:00
parent 6e04868116
commit 7e9d3177fa
8 changed files with 72 additions and 7 deletions

View File

@ -46,10 +46,10 @@ class Admin::ReseauxesController < ApplicationController
def destroy
@reseaux = Reseaux.find(params[:id])
if !@reseaux.superadmin and @reseaux.destroy
flash[:notice] = "Reseauxe supprimée avec succès."
if @reseaux.destroy
flash[:notice] = "Reseaux supprimée avec succès."
else
flash[:error] = "Impossible de supprimer ce reseauxe."
flash[:error] = "Impossible de supprimer ce reseaux."
end
redirect_to :action => :index

View File

@ -103,8 +103,24 @@ class Customer < ActiveRecord::Base
end
before_validation do
if !self.id
if self.reseaux_token?
if reseaux = Reseaux.find_by_token(self.reseaux_token)
self.reseaux_token = reseaux.token
else
errors.add(:reseaux_token, "Ce code de réseau n'est pas valide, merci de vérifier son exactitude. ")
end
end
end
if !self.id
if self.parent_code?
@ -120,6 +136,16 @@ class Customer < ActiveRecord::Base
end
after_create do
if self.reseaux_token?
if reseaux = Reseaux.find_by_token(self.reseaux_token)
self.reseauxes << reseaux
else
end
end
newsgroups = Newsgroup.where(:default_checked => true).all

View File

@ -9,5 +9,20 @@ class Reseaux < ActiveRecord::Base
has_many :offer_reseauxes
has_many :offers, :through => :offer_reseauxes
before_create do
self.generate_token
end
def generate_token
self.token = loop do
token = SecureRandom.hex(3)
token = token.upcase
break token unless Reseaux.exists?(token: token) or token.include?("0") or token.include?("O") or token.include?("1") or token.include?("L") or token.include?("I")
end
end
end

View File

@ -2,6 +2,10 @@
%tr{:id => reseaux.id}
%td
= reseaux.name
%td
= reseaux.chef_reseau.pseudo_admin if reseaux.chef_reseau
%td
= reseaux.token
%td
= reseaux.customers.count

View File

@ -5,6 +5,10 @@
%tr
%th
Nom
%th
Chef réseau
%th
Code
%th Utilisateurs
%th{:style => "width:100px"}
&nbsp;

View File

@ -72,6 +72,13 @@
Votre mot de passe
= error
.form-group{:class => ("has-error has-feedback" if @customer.errors[:reseaux_token].size > 0)}
=f.text_field :reseaux_token, :class => "form-control", :placeholder => "Code réseau"
-if @customer.errors[:reseaux_token].uniq
-@customer.errors[:reseaux_token].uniq.each do |error|
.error
= error

View File

@ -0,0 +1,7 @@
class AddTokenToReseauxes < ActiveRecord::Migration
def change
add_column :reseauxes, :token, :string
add_column :customers, :reseaux_token, :string
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: 20170517225135) do
ActiveRecord::Schema.define(version: 20170523073951) do
create_table "accepted_offers", force: :cascade do |t|
t.datetime "created_at", null: false
@ -247,6 +247,7 @@ ActiveRecord::Schema.define(version: 20170517225135) do
t.string "role_signataire", limit: 255
t.boolean "referent", limit: 1, default: false
t.boolean "chef_reseau", limit: 1, default: false
t.string "reseaux_token", limit: 255
end
create_table "data_files", force: :cascade do |t|
@ -604,6 +605,7 @@ ActiveRecord::Schema.define(version: 20170517225135) do
t.integer "chef_reseau_id", limit: 4
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "token", limit: 255
end
create_table "sessions", force: :cascade do |t|