dorsale 2.1.10 → 2.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/dorsale/all.sass +1 -0
- data/app/assets/stylesheets/dorsale/users.sass +8 -0
- data/app/controllers/dorsale/billing_machine/invoices_controller.rb +2 -1
- data/app/controllers/dorsale/billing_machine/quotations_controller.rb +2 -1
- data/app/controllers/dorsale/users_controller.rb +69 -0
- data/app/mailers/dorsale/application_mailer.rb +8 -0
- data/app/mailers/dorsale/user_mailer.rb +9 -0
- data/app/models/dorsale/ability_helper.rb +4 -0
- data/app/models/dorsale/billing_machine/ability_helper.rb +2 -2
- data/app/models/dorsale/users/active.rb +20 -0
- data/app/models/dorsale/users/password_generation.rb +17 -0
- data/app/views/dorsale/billing_machine/invoices/show.html.slim +8 -4
- data/app/views/dorsale/billing_machine/quotations/show.html.slim +8 -4
- data/app/views/dorsale/comments/_comment.html.slim +1 -1
- data/app/views/dorsale/flyboy/tasks/_form.html.slim +1 -1
- data/app/views/dorsale/user_mailer/new_account.html.slim +4 -0
- data/app/views/dorsale/users/_details.html.slim +1 -0
- data/app/views/dorsale/users/_form.html.slim +6 -0
- data/app/views/dorsale/users/_list.html.slim +18 -0
- data/app/views/dorsale/users/edit.html.slim +3 -0
- data/app/views/dorsale/users/index.html.slim +5 -0
- data/app/views/dorsale/users/new.html.slim +1 -0
- data/app/views/dorsale/users/show.html.slim +1 -0
- data/config/locales/common.fr.yml +1 -0
- data/config/locales/en.yml +17 -1
- data/config/locales/fr.yml +16 -0
- data/config/routes.rb +4 -0
- data/db/migrate/20151103110115_add_is_active_to_users.rb +5 -0
- data/lib/dorsale/version.rb +1 -1
- data/spec/dummy/app/models/ability.rb +1 -0
- data/spec/dummy/app/models/user.rb +3 -0
- data/spec/dummy/app/views/layouts/application.html.slim +5 -0
- data/spec/dummy/db/schema.rb +2 -1
- data/spec/mailers/user_mailer.rb +22 -0
- data/spec/models/dorsale/users_spec.rb +33 -0
- data/spec/routing/dorsale/users_routing_spec.rb +38 -0
- metadata +23 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: af0902e5d1cea5200ee84a3f215f7bc8ccdc2feb
|
|
4
|
+
data.tar.gz: 4d9781ebd5ff206216889eed95d17bc525d6705a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f2b3f6483735d74a8671217ff2e31453c24d7548defd451a59c768977fb2954c808d8357ced70110399a18b575c24dda35bbc1a343ec0bf1c371e7ca8bcc2181
|
|
7
|
+
data.tar.gz: bc818dd46b78f372a8039ff22ab9f39879e2a0fafc145f4599338923019c77e1fdc59773e6648f3bd0d1f30eef7e6697394b235482a8379ec0b534e92a2c000a
|
|
@@ -66,6 +66,7 @@ module Dorsale
|
|
|
66
66
|
|
|
67
67
|
respond_to do |format|
|
|
68
68
|
format.pdf {
|
|
69
|
+
authorize! :download, @invoice
|
|
69
70
|
pdf_data = @invoice.pdf.render
|
|
70
71
|
|
|
71
72
|
file_name = [
|
|
@@ -87,7 +88,7 @@ module Dorsale
|
|
|
87
88
|
def copy
|
|
88
89
|
# callback in BillingMachine::ApplicationController
|
|
89
90
|
@original = @invoice
|
|
90
|
-
authorize! :
|
|
91
|
+
authorize! :copy, @original
|
|
91
92
|
|
|
92
93
|
@invoice = @original.dup
|
|
93
94
|
|
|
@@ -86,6 +86,7 @@ module Dorsale
|
|
|
86
86
|
|
|
87
87
|
respond_to do |format|
|
|
88
88
|
format.pdf {
|
|
89
|
+
authorize! :download, @quotation
|
|
89
90
|
pdf_data = @quotation.pdf.render_with_attachments
|
|
90
91
|
|
|
91
92
|
file_name = [
|
|
@@ -135,7 +136,7 @@ module Dorsale
|
|
|
135
136
|
end
|
|
136
137
|
|
|
137
138
|
def copy
|
|
138
|
-
authorize! :
|
|
139
|
+
authorize! :copy, @quotation
|
|
139
140
|
|
|
140
141
|
new_quotation = @quotation.create_copy!
|
|
141
142
|
flash[:notice] = t("messages.quotations.copy_ok")
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
module Dorsale
|
|
2
|
+
class UsersController < ::Dorsale::ApplicationController
|
|
3
|
+
handles_sortable_columns
|
|
4
|
+
|
|
5
|
+
before_action :set_user, only: [
|
|
6
|
+
:show,
|
|
7
|
+
:edit,
|
|
8
|
+
:update,
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
def show
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def index
|
|
16
|
+
authorize! :list, User
|
|
17
|
+
@users = User.all
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def new
|
|
21
|
+
@user = User.new
|
|
22
|
+
authorize! :create, @user
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def edit
|
|
26
|
+
authorize! :update, @user
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def create
|
|
30
|
+
@user = User.new(user_params)
|
|
31
|
+
authorize! :create, @user
|
|
32
|
+
if @user.save
|
|
33
|
+
redirect_to dorsale.users_path, notice: t("messages.users.create_ok")
|
|
34
|
+
else
|
|
35
|
+
flash[:error] = t("messages.users.create_error")
|
|
36
|
+
render :new
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def update
|
|
41
|
+
authorize! :update, @user
|
|
42
|
+
if @user.update(user_params)
|
|
43
|
+
redirect_to dorsale.users_path, notice: t("messages.users.update_ok")
|
|
44
|
+
else
|
|
45
|
+
flash[:error] = t("messages.users.update_error")
|
|
46
|
+
render :edit
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
private
|
|
51
|
+
|
|
52
|
+
def set_user
|
|
53
|
+
@user = User.find(params[:id])
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def permitted_params
|
|
57
|
+
[
|
|
58
|
+
:email,
|
|
59
|
+
:password,
|
|
60
|
+
:password_confirmation,
|
|
61
|
+
:is_active,
|
|
62
|
+
]
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def user_params
|
|
66
|
+
params.require(:user).permit(permitted_params)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -2,8 +2,8 @@ module Dorsale
|
|
|
2
2
|
module BillingMachine
|
|
3
3
|
module AbilityHelper
|
|
4
4
|
def define_dorsale_billing_machine_abilities
|
|
5
|
-
can [:list, :create, :read, :update, :pay, :copy], ::Dorsale::BillingMachine::Invoice
|
|
6
|
-
can [:list, :create, :read, :update, :delete],
|
|
5
|
+
can [:list, :create, :read, :update, :pay, :copy, :download], ::Dorsale::BillingMachine::Invoice
|
|
6
|
+
can [:list, :create, :read, :update, :delete, :copy, :download], ::Dorsale::BillingMachine::Quotation
|
|
7
7
|
end
|
|
8
8
|
end
|
|
9
9
|
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Dorsale::Users::Active
|
|
2
|
+
def self.included(user_model)
|
|
3
|
+
user_model.class_eval do
|
|
4
|
+
validates :is_active, inclusion: {in: [true, false]}
|
|
5
|
+
|
|
6
|
+
def initialize(*)
|
|
7
|
+
super
|
|
8
|
+
self.is_active = true if is_active.nil?
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def active_for_authentication?
|
|
12
|
+
super && self.is_active?
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def inactive_message
|
|
16
|
+
I18n.t("messages.users.inactive")
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Dorsale::Users::PasswordGeneration
|
|
2
|
+
def self.included(user_model)
|
|
3
|
+
user_model.class_eval do
|
|
4
|
+
before_validation :generate_password, on: :create
|
|
5
|
+
after_create :send_welcome_email
|
|
6
|
+
|
|
7
|
+
def generate_password
|
|
8
|
+
self.password ||= SecureRandom.hex(6).to_s
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def send_welcome_email
|
|
12
|
+
Dorsale::UserMailer.new_account(self, password).deliver_later
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
.billing_machine
|
|
2
2
|
.invoice-details class="#{@invoice.payment_status}"
|
|
3
3
|
.actions
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
- if can?(:copy, @invoice)
|
|
5
|
+
= copy_button dorsale.copy_billing_machine_invoice_path(@invoice)
|
|
6
|
+
- if can?(:update, @invoice)
|
|
7
|
+
= update_button dorsale.edit_billing_machine_invoice_path(@invoice)
|
|
8
|
+
- if can?(:download, @invoice)
|
|
9
|
+
= download_button dorsale.billing_machine_invoice_path(@invoice, format: :pdf)
|
|
10
|
+
- if can?(:pay, @invoice)
|
|
11
|
+
= dorsale_button dorsale.pay_billing_machine_invoice_path(@invoice), icon: :check, action: :pay, method: :patch
|
|
8
12
|
|
|
9
13
|
- if @invoice.customer
|
|
10
14
|
.row
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
.billing_machine
|
|
2
2
|
.quotation-details
|
|
3
3
|
.actions
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
- if can?(:update, @quotation)
|
|
5
|
+
= update_button dorsale.edit_billing_machine_quotation_path(@quotation)
|
|
6
|
+
- if can?(:download, @quotation)
|
|
7
|
+
= download_button dorsale.billing_machine_quotation_path(@quotation, format: :pdf)
|
|
8
|
+
- if can?(:copy, @quotation)
|
|
9
|
+
= copy_button dorsale.copy_billing_machine_quotation_path(@quotation), method: :post, confirm: true
|
|
10
|
+
- if can?(:create, @quotation)
|
|
11
|
+
= dorsale_button dorsale.create_invoice_billing_machine_quotation_path(@quotation), method: :post, action: :create_invoice, confirm: true, icon: :magic
|
|
8
12
|
|
|
9
13
|
|
|
10
14
|
- if @quotation.customer
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
h1 = @user
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
table.default
|
|
2
|
+
thead
|
|
3
|
+
tr
|
|
4
|
+
th.hidden-xs
|
|
5
|
+
= t("attributes.email")
|
|
6
|
+
|
|
7
|
+
th
|
|
8
|
+
= t("actions.actions")
|
|
9
|
+
|
|
10
|
+
tbody
|
|
11
|
+
- users.each do |user|
|
|
12
|
+
tr.user-line
|
|
13
|
+
|
|
14
|
+
td.hidden-xs.email
|
|
15
|
+
= user
|
|
16
|
+
|
|
17
|
+
td.actions
|
|
18
|
+
= update_button dorsale.edit_user_path(user)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render "form"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render 'details'
|
data/config/locales/en.yml
CHANGED
|
@@ -7,4 +7,20 @@ en:
|
|
|
7
7
|
update_ok : "Comment updated."
|
|
8
8
|
update_error : "One error occurs, comment can't be updated."
|
|
9
9
|
delete_ok : "Comment deleted."
|
|
10
|
-
delete_error : "One error occurs, comment can't be deleted."
|
|
10
|
+
delete_error : "One error occurs, comment can't be deleted."
|
|
11
|
+
users:
|
|
12
|
+
inactive: "This account is inactive"
|
|
13
|
+
create_ok : "User created."
|
|
14
|
+
create_error : "One error occurs, user can't be created."
|
|
15
|
+
update_ok : "User updated."
|
|
16
|
+
update_error : "One error occurs, user can't be updated."
|
|
17
|
+
emails:
|
|
18
|
+
user:
|
|
19
|
+
new_account:
|
|
20
|
+
title: "New account"
|
|
21
|
+
body:
|
|
22
|
+
title: "New account created"
|
|
23
|
+
subtitle: "Congratulation for your new account"
|
|
24
|
+
login: "Your login is: %{login}"
|
|
25
|
+
password: "Your password is: %{password}"
|
|
26
|
+
url_label: "Click here to access service"
|
data/config/locales/fr.yml
CHANGED
|
@@ -8,3 +8,19 @@ fr:
|
|
|
8
8
|
update_error : "Impossible de modifier le commentaire."
|
|
9
9
|
delete_ok : "Le commentaire a été supprimé."
|
|
10
10
|
delete_error : "Impossible de supprimer le commentaire."
|
|
11
|
+
users:
|
|
12
|
+
inactive: "Ce compte est inactif"
|
|
13
|
+
create_ok : "L'utilisateur a été créé."
|
|
14
|
+
create_error : "Impossible de créer l'utilisateur."
|
|
15
|
+
update_ok : "L'utilisateur a été modifié."
|
|
16
|
+
update_error : "Impossible de modifier l'utilisateur."
|
|
17
|
+
emails:
|
|
18
|
+
user:
|
|
19
|
+
new_account:
|
|
20
|
+
title: "Nouveau compte"
|
|
21
|
+
body:
|
|
22
|
+
title: "Nouveau compte créé"
|
|
23
|
+
subtitle: "Félicitation pour la création de votre compte."
|
|
24
|
+
login: "Votre login est: %{login}"
|
|
25
|
+
password: "Votre mot de passe est: %{password}"
|
|
26
|
+
url_label: "Cliquez ici pour accéder au service"
|
data/config/routes.rb
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
Dorsale::Engine.routes.draw do
|
|
2
2
|
resources :comments, only: [:create, :edit, :update, :destroy]
|
|
3
3
|
|
|
4
|
+
resources :users, except: [:destroy]
|
|
5
|
+
|
|
4
6
|
namespace :small_data do
|
|
5
7
|
resources :filters, only: [:create]
|
|
6
8
|
end
|
|
7
9
|
|
|
10
|
+
|
|
11
|
+
|
|
8
12
|
namespace :alexandrie do
|
|
9
13
|
resources :attachments, only: [:create, :destroy]
|
|
10
14
|
end
|
data/lib/dorsale/version.rb
CHANGED
|
@@ -20,6 +20,11 @@ html
|
|
|
20
20
|
= icon_link_to "check-square-o", "Tâches", dorsale.flyboy_tasks_path
|
|
21
21
|
= icon_link_to "euro", "Devis", dorsale.billing_machine_quotations_path
|
|
22
22
|
= icon_link_to "euro", "Factures", dorsale.billing_machine_invoices_path
|
|
23
|
+
= icon_link_to "users", "Utilisateurs", dorsale.users_path
|
|
24
|
+
- if current_user
|
|
25
|
+
= link_to "Déconnexion", main_app.destroy_user_session_path, method: :delete
|
|
26
|
+
- else
|
|
27
|
+
= link_to "Connexion", main_app.new_user_session_path
|
|
23
28
|
|
|
24
29
|
#flash.container
|
|
25
30
|
= render "dorsale/flash"
|
data/spec/dummy/db/schema.rb
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
#
|
|
12
12
|
# It's strongly recommended that you check this file into your version control system.
|
|
13
13
|
|
|
14
|
-
ActiveRecord::Schema.define(version:
|
|
14
|
+
ActiveRecord::Schema.define(version: 20151103110115) do
|
|
15
15
|
|
|
16
16
|
create_table "dorsale_addresses", force: :cascade do |t|
|
|
17
17
|
t.string "street"
|
|
@@ -295,6 +295,7 @@ ActiveRecord::Schema.define(version: 20151023135421) do
|
|
|
295
295
|
t.string "last_sign_in_ip"
|
|
296
296
|
t.datetime "created_at", null: false
|
|
297
297
|
t.datetime "updated_at", null: false
|
|
298
|
+
t.boolean "is_active"
|
|
298
299
|
end
|
|
299
300
|
|
|
300
301
|
add_index "users", ["email"], name: "index_users_on_email", unique: true
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require 'rails_helper'
|
|
2
|
+
|
|
3
|
+
describe ::Dorsale::UserMailer do
|
|
4
|
+
describe "New Account" do
|
|
5
|
+
let(:user) { create(:user) }
|
|
6
|
+
let(:email) { ::Dorsale::UserMailer.new_account(user, user.password) }
|
|
7
|
+
|
|
8
|
+
it 'should send to the right person' do
|
|
9
|
+
expect(email.to).to eq([user.email])
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it 'should have the right sender' do
|
|
13
|
+
expect(email.from).to eq(["contact@example.org"])
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'should contain user_type, login and password' do
|
|
17
|
+
expect(email.body).to include user.email
|
|
18
|
+
expect(email.body).to include user.password
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require "rails_helper"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
RSpec.describe User, type: :model do
|
|
5
|
+
|
|
6
|
+
it "should have a valid factores" do
|
|
7
|
+
expect(create(:user)).to be_valid
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it { is_expected.to respond_to :is_active }
|
|
11
|
+
|
|
12
|
+
describe "default values" do
|
|
13
|
+
it "default active value should be true" do
|
|
14
|
+
@user = create(:user)
|
|
15
|
+
expect(@user.is_active).to eq true
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'should create a valid password upon creation' do
|
|
19
|
+
user = create(:user, password: nil, password_confirmation: nil)
|
|
20
|
+
expect(user).to be_persisted
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'should not override choosen password' do
|
|
24
|
+
user = create(:user, password: "totototo", password_confirmation: nil)
|
|
25
|
+
expect(user.password).to eq "totototo"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it 'should send a welcome message upon creation' do
|
|
29
|
+
expect { create(:user)}.to change(ActionMailer::Base.deliveries, :count).by(1)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require "rails_helper"
|
|
2
|
+
|
|
3
|
+
RSpec.describe ::Dorsale::UsersController, type: :routing do
|
|
4
|
+
describe "routing" do
|
|
5
|
+
routes { ::Dorsale::Engine.routes }
|
|
6
|
+
it "routes to #index" do
|
|
7
|
+
expect(:get => "users").to route_to("dorsale/users#index")
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it "routes to #new" do
|
|
11
|
+
expect(:get => "users/new").to route_to("dorsale/users#new")
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "route to #show" do
|
|
15
|
+
expect(:get => "users/1").to route_to("dorsale/users#show", :id => "1")
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it "routes to #edit" do
|
|
19
|
+
expect(:get => "users/1/edit").to route_to("dorsale/users#edit", :id => "1")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "routes to #create" do
|
|
23
|
+
expect(:post => "users").to route_to("dorsale/users#create")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it "routes to #update via PUT" do
|
|
27
|
+
expect(:put => "users/1").to route_to("dorsale/users#update", :id => "1")
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "routes to #update via PATCH" do
|
|
31
|
+
expect(:patch => "users/1").to route_to("dorsale/users#update", :id => "1")
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it "doesn't route to #destroy" do
|
|
35
|
+
expect(:delete => "users/1").not_to be_routable
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dorsale
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.11
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- agilidée
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-11-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -429,6 +429,7 @@ files:
|
|
|
429
429
|
- app/assets/stylesheets/dorsale/pagination.sass
|
|
430
430
|
- app/assets/stylesheets/dorsale/styles.sass
|
|
431
431
|
- app/assets/stylesheets/dorsale/tables.sass
|
|
432
|
+
- app/assets/stylesheets/dorsale/users.sass
|
|
432
433
|
- app/controllers/dorsale/alexandrie/attachments_controller.rb
|
|
433
434
|
- app/controllers/dorsale/application_controller.rb
|
|
434
435
|
- app/controllers/dorsale/billing_machine/application_controller.rb
|
|
@@ -446,6 +447,7 @@ files:
|
|
|
446
447
|
- app/controllers/dorsale/flyboy/task_comments_controller.rb
|
|
447
448
|
- app/controllers/dorsale/flyboy/tasks_controller.rb
|
|
448
449
|
- app/controllers/dorsale/small_data/filters_controller.rb
|
|
450
|
+
- app/controllers/dorsale/users_controller.rb
|
|
449
451
|
- app/helpers/dorsale/alexandrie/attachments_helper.rb
|
|
450
452
|
- app/helpers/dorsale/all_helpers.rb
|
|
451
453
|
- app/helpers/dorsale/billing_machine/application_helper.rb
|
|
@@ -460,6 +462,8 @@ files:
|
|
|
460
462
|
- app/helpers/dorsale/pagination_helper.rb
|
|
461
463
|
- app/helpers/dorsale/routes_helper.rb
|
|
462
464
|
- app/helpers/dorsale/text_helper.rb
|
|
465
|
+
- app/mailers/dorsale/application_mailer.rb
|
|
466
|
+
- app/mailers/dorsale/user_mailer.rb
|
|
463
467
|
- app/models/dorsale/ability_helper.rb
|
|
464
468
|
- app/models/dorsale/address.rb
|
|
465
469
|
- app/models/dorsale/alexandrie/ability_helper.rb
|
|
@@ -497,6 +501,8 @@ files:
|
|
|
497
501
|
- app/models/dorsale/small_data/filter.rb
|
|
498
502
|
- app/models/dorsale/small_data/filter_strategy.rb
|
|
499
503
|
- app/models/dorsale/user_scope.rb
|
|
504
|
+
- app/models/dorsale/users/active.rb
|
|
505
|
+
- app/models/dorsale/users/password_generation.rb
|
|
500
506
|
- app/pdfs/dorsale/billing_machine/invoice_pdf.rb
|
|
501
507
|
- app/pdfs/dorsale/billing_machine/quotation_pdf.rb
|
|
502
508
|
- app/pdfs/dorsale/flyboy/roadmap.rb
|
|
@@ -584,6 +590,14 @@ files:
|
|
|
584
590
|
- app/views/dorsale/flyboy/tasks/show.html.slim
|
|
585
591
|
- app/views/dorsale/flyboy/tasks/summary.html.slim
|
|
586
592
|
- app/views/dorsale/search/_form.html.slim
|
|
593
|
+
- app/views/dorsale/user_mailer/new_account.html.slim
|
|
594
|
+
- app/views/dorsale/users/_details.html.slim
|
|
595
|
+
- app/views/dorsale/users/_form.html.slim
|
|
596
|
+
- app/views/dorsale/users/_list.html.slim
|
|
597
|
+
- app/views/dorsale/users/edit.html.slim
|
|
598
|
+
- app/views/dorsale/users/index.html.slim
|
|
599
|
+
- app/views/dorsale/users/new.html.slim
|
|
600
|
+
- app/views/dorsale/users/show.html.slim
|
|
587
601
|
- config/locales/alexandrie.en.yml
|
|
588
602
|
- config/locales/alexandrie.fr.yml
|
|
589
603
|
- config/locales/billing_machine.en.yml
|
|
@@ -613,6 +627,7 @@ files:
|
|
|
613
627
|
- db/migrate/20151012181412_add_commercial_discount_to_invoices_and_quotations.rb
|
|
614
628
|
- db/migrate/20151019100134_customer_vault_individuals_add_skype.rb
|
|
615
629
|
- db/migrate/20151023135421_dorsale_billing_machine_quotations_add_state.rb
|
|
630
|
+
- db/migrate/20151103110115_add_is_active_to_users.rb
|
|
616
631
|
- lib/active_record_comma_type_cast.rb
|
|
617
632
|
- lib/dorsale.rb
|
|
618
633
|
- lib/dorsale/alexandrie/prawn.rb
|
|
@@ -1552,6 +1567,7 @@ files:
|
|
|
1552
1567
|
- spec/helpers/dorsale/flyboy/application_helper_spec.rb
|
|
1553
1568
|
- spec/helpers/dorsale/link_helper_spec.rb
|
|
1554
1569
|
- spec/helpers/dorsale/text_helper_spec.rb
|
|
1570
|
+
- spec/mailers/user_mailer.rb
|
|
1555
1571
|
- spec/models/dorsale/ability_helper_spec.rb
|
|
1556
1572
|
- spec/models/dorsale/address_spec.rb
|
|
1557
1573
|
- spec/models/dorsale/alexandrie/ability_helper_spec.rb
|
|
@@ -1571,6 +1587,7 @@ files:
|
|
|
1571
1587
|
- spec/models/dorsale/flyboy/task_comment_spec.rb
|
|
1572
1588
|
- spec/models/dorsale/flyboy/task_spec.rb
|
|
1573
1589
|
- spec/models/dorsale/small_data/filter_spec.rb
|
|
1590
|
+
- spec/models/dorsale/users_spec.rb
|
|
1574
1591
|
- spec/pdfs/dorsale/billing_machine/invoice_pdf_spec.rb
|
|
1575
1592
|
- spec/pdfs/dorsale/billing_machine/quotation_pdf_spec.rb
|
|
1576
1593
|
- spec/rails_helper.rb
|
|
@@ -1585,6 +1602,7 @@ files:
|
|
|
1585
1602
|
- spec/routing/dorsale/flyboy/task_comments_routing_spec.rb
|
|
1586
1603
|
- spec/routing/dorsale/flyboy/tasks_routing_spec.rb
|
|
1587
1604
|
- spec/routing/dorsale/small_data_routing_spec.rb
|
|
1605
|
+
- spec/routing/dorsale/users_routing_spec.rb
|
|
1588
1606
|
- spec/spec_helper.rb
|
|
1589
1607
|
- spec/support/devise.rb
|
|
1590
1608
|
homepage: https://github.com/agilidee/dorsale
|
|
@@ -2537,6 +2555,7 @@ test_files:
|
|
|
2537
2555
|
- spec/helpers/dorsale/flyboy/application_helper_spec.rb
|
|
2538
2556
|
- spec/helpers/dorsale/link_helper_spec.rb
|
|
2539
2557
|
- spec/helpers/dorsale/text_helper_spec.rb
|
|
2558
|
+
- spec/mailers/user_mailer.rb
|
|
2540
2559
|
- spec/models/dorsale/ability_helper_spec.rb
|
|
2541
2560
|
- spec/models/dorsale/address_spec.rb
|
|
2542
2561
|
- spec/models/dorsale/alexandrie/ability_helper_spec.rb
|
|
@@ -2556,6 +2575,7 @@ test_files:
|
|
|
2556
2575
|
- spec/models/dorsale/flyboy/task_comment_spec.rb
|
|
2557
2576
|
- spec/models/dorsale/flyboy/task_spec.rb
|
|
2558
2577
|
- spec/models/dorsale/small_data/filter_spec.rb
|
|
2578
|
+
- spec/models/dorsale/users_spec.rb
|
|
2559
2579
|
- spec/pdfs/dorsale/billing_machine/invoice_pdf_spec.rb
|
|
2560
2580
|
- spec/pdfs/dorsale/billing_machine/quotation_pdf_spec.rb
|
|
2561
2581
|
- spec/rails_helper.rb
|
|
@@ -2570,5 +2590,6 @@ test_files:
|
|
|
2570
2590
|
- spec/routing/dorsale/flyboy/task_comments_routing_spec.rb
|
|
2571
2591
|
- spec/routing/dorsale/flyboy/tasks_routing_spec.rb
|
|
2572
2592
|
- spec/routing/dorsale/small_data_routing_spec.rb
|
|
2593
|
+
- spec/routing/dorsale/users_routing_spec.rb
|
|
2573
2594
|
- spec/spec_helper.rb
|
|
2574
2595
|
- spec/support/devise.rb
|