Skip to content

Commit f03ed68

Browse files
authored
Merge pull request #45 from Mehonoshin/admin-create-users
Admin create users
2 parents 2ebfe71 + 1fcb1e5 commit f03ed68

File tree

100 files changed

+1459
-981
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+1459
-981
lines changed

.env.sample

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,20 @@
11
SECRET_TOKEN=
2+
3+
EMAIL_USER=
4+
EMAIL_PASS=
5+
EMAIL_FROM=
6+
7+
ROLLBAR_ACCESS_TOKEN=
8+
9+
NEWRELIC_LICENSE_KEY=
10+
11+
ROBOKASSA_LOGIN=
12+
ROBOKASSA_SECRET1=
13+
ROBOKASSA_SECRET2=
14+
15+
WEBMONEY_SECRET=
16+
WEBMONEY_WALLET_WMZ=
17+
WEBMONEY_WALLET_WMR=
18+
19+
MAILCHIMP_API_KEY=
20+
MAILCHIMP_ALL_CLIENTS_LIST_ID=

.env.test

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,13 @@
1-
SECRET_TOKEN=0e89a81d2e7be3cce9c45d154df16269b5878061c9967c15329adf1490941e613f0b24dd4955b9e0b0e1356180ae8314b879f20150abad78e1ff4bc039a06d75
1+
SECRET_TOKEN='0e89a81d2e7be3cce9c45d154df16269b5878061c9967c15329adf1490941e613f0b24dd4955b9e0b0e1356180ae8314b879f20150abad78e1ff4bc039a06d75'
2+
DEFAULT_HOST='smartvpn.dev'
3+
EMAIL_FROM='admin@smartvpn.biz'
4+
5+
ROBOKASSA_LOGIN='login'
6+
ROBOKASSA_SECRET1='password'
7+
ROBOKASSA_SECRET2='password2'
8+
9+
WEBMONEY_SECRET='secret value'
10+
WEBMONEY_WALLET_WMZ='Z1234567890'
11+
12+
MAILCHIMP_API_KEY='mailchimp-key'
13+
MAILCHIMP_ALL_CLIENTS_LIST_ID='test'

.travis.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
dist: xenial
22
language: ruby
33
sudo: true
4+
cache: bundler
45

56
rvm:
67
- 2.1.1
@@ -11,15 +12,19 @@ matrix:
1112
allow_failures:
1213
- rvm: 2.1.1
1314
- rvm: 2.6.0
15+
1416
addons:
1517
chrome: stable
18+
1619
services:
1720
- postgresql
1821
- redis-server
22+
1923
before_install:
2024
- gem install bundler -v '1.17.3'
2125
- cp config/database.yml.sample config/database.yml
2226
- cp .env.test .env
27+
2328
before_script:
2429
- bundle exec rake db:create
2530
- bundle exec rake db:schema:load
@@ -29,7 +34,5 @@ before_script:
2934
- sudo apt-get --only-upgrade install google-chrome-stable
3035
- sudo cp chromedriver /usr/local/bin/.
3136
- sudo chmod +x /usr/local/bin/chromedriver
32-
- export DISPLAY=:99.0
33-
- sh -e /etc/init.d/xvfb start
34-
- sleep 3
37+
3538
script: bundle exec rspec

Gemfile

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ gem 'whenever', '0.9.0', require: false
4343
gem 'sidekiq'
4444
gem 'sinatra', require: false
4545

46-
# TODO: make it optional via ENV flag
4746
gem 'rollbar'
4847
# TODO: make it optional via ENV flag
4948
gem 'newrelic_rpm'
@@ -65,7 +64,6 @@ gem 'jbuilder', '~> 1.0.1'
6564
gem 'puma'
6665

6766
group :development do
68-
gem 'awesome_print'
6967
gem 'better_errors'
7068
gem 'foreman'
7169
gem 'letter_opener'
@@ -76,20 +74,18 @@ group :development do
7674
end
7775

7876
group :test, :development do
77+
gem 'awesome_print'
7978
gem 'capybara'
8079
gem 'database_cleaner', '1.0.0.RC1'
81-
gem 'hirb'
82-
gem 'mocha', require: false
83-
gem 'rb-fchange', require: false
84-
gem 'vcr'
85-
# TODO: switch to stable version
8680
gem 'dotenv-rails'
8781
gem 'factory_girl_rails', '~> 4.0'
8882
gem 'faker'
89-
gem 'pry-rails'
90-
gem 'rspec-rails'
83+
gem 'rspec-its'
84+
gem 'rspec-rails', '~> 3.8'
85+
gem 'shoulda-matchers', '4.0.0.rc1'
86+
gem 'vcr'
87+
# TODO: switch to stable version
9188
gem 'selenium-webdriver'
92-
gem 'shoulda-matchers', github: 'thoughtbot/shoulda-matchers'
9389
gem 'timecop'
9490
end
9591

Gemfile.lock

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,6 @@ GIT
1818
specs:
1919
state_machine (1.2.0)
2020

21-
GIT
22-
remote: git://github.com/thoughtbot/shoulda-matchers.git
23-
revision: 380d18f0621c66a79445ebc6dcc0048fcc969911
24-
specs:
25-
shoulda-matchers (2.6.1)
26-
activesupport (>= 3.0.0)
27-
2821
GEM
2922
remote: http://rubygems.org/
3023
specs:
@@ -83,7 +76,7 @@ GEM
8376
ast (2.4.0)
8477
autoprefixer-rails (9.4.4)
8578
execjs
86-
awesome_print (1.6.1)
79+
awesome_print (1.8.0)
8780
bcrypt (3.1.12)
8881
better_errors (0.8.0)
8982
coderay (>= 1.0.0)
@@ -170,7 +163,6 @@ GEM
170163
activesupport (>= 4.2.0)
171164
gyoku (1.1.1)
172165
builder (>= 2.1.2)
173-
hirb (0.7.1)
174166
http-cookie (1.0.2)
175167
domain_name (~> 0.5)
176168
httparty (0.13.3)
@@ -220,17 +212,13 @@ GEM
220212
nokogiri (~> 1.4)
221213
ntlm-http (~> 0.1, >= 0.1.1)
222214
webrobots (>= 0.0.9, < 0.2)
223-
metaclass (0.0.1)
224-
method_source (0.9.2)
225215
migration_opener (0.0.2)
226216
rails
227217
mime-types (1.25.1)
228218
mini_mime (1.0.1)
229219
mini_portile2 (2.4.0)
230220
minitest (5.11.3)
231221
mixlib-cli (1.4.0)
232-
mocha (0.13.3)
233-
metaclass (~> 0.0.1)
234222
money (6.5.0)
235223
i18n (>= 0.6.4, <= 0.7.0)
236224
multi_json (1.13.1)
@@ -254,11 +242,6 @@ GEM
254242
activerecord (>= 3.0)
255243
popper_js (1.14.5)
256244
powerpack (0.1.2)
257-
pry (0.12.2)
258-
coderay (~> 1.1.0)
259-
method_source (~> 0.9.0)
260-
pry-rails (0.3.9)
261-
pry (>= 0.10.4)
262245
puma (3.12.0)
263246
rack (1.6.11)
264247
rack-protection (1.5.5)
@@ -301,8 +284,6 @@ GEM
301284
activesupport (>= 3.0)
302285
i18n
303286
polyamorous (~> 1.1)
304-
rb-fchange (0.0.6)
305-
ffi
306287
rb-fsevent (0.10.3)
307288
rb-inotify (0.10.0)
308289
ffi (~> 1.0)
@@ -319,6 +300,9 @@ GEM
319300
rspec-expectations (3.8.2)
320301
diff-lcs (>= 1.2.0, < 2.0)
321302
rspec-support (~> 3.8.0)
303+
rspec-its (1.2.0)
304+
rspec-core (>= 3.0.0)
305+
rspec-expectations (>= 3.0.0)
322306
rspec-mocks (3.8.0)
323307
diff-lcs (>= 1.2.0, < 2.0)
324308
rspec-support (~> 3.8.0)
@@ -379,6 +363,8 @@ GEM
379363
selenium-webdriver (3.141.0)
380364
childprocess (~> 0.5)
381365
rubyzip (~> 1.2, >= 1.2.2)
366+
shoulda-matchers (4.0.0.rc1)
367+
activesupport (>= 4.2.0)
382368
sidekiq (5.2.3)
383369
connection_pool (~> 2.2, >= 2.2.2)
384370
rack-protection (>= 1.5.0)
@@ -469,7 +455,6 @@ DEPENDENCIES
469455
font-awesome-sass (~> 5.6.1)
470456
foreman
471457
gibbon
472-
hirb
473458
jbuilder (~> 1.0.1)
474459
jquery-rails
475460
jquery-ui-rails
@@ -478,25 +463,23 @@ DEPENDENCIES
478463
letter_opener
479464
mechanize
480465
migration_opener
481-
mocha
482466
newrelic_rpm
483467
pg
484468
pghero
485-
pry-rails
486469
puma
487470
rails (= 4.2.11)
488471
rails-i18n
489472
rails_config
490473
ransack (= 1.5.1)
491-
rb-fchange
492474
rollbar
493-
rspec-rails
475+
rspec-its
476+
rspec-rails (~> 3.8)
494477
rubocop
495478
russian_central_bank
496479
sandi_meter
497480
sass-rails
498481
selenium-webdriver
499-
shoulda-matchers!
482+
shoulda-matchers (= 4.0.0.rc1)
500483
show_for!
501484
sidekiq
502485
simple_form
Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,59 @@
1-
class Admin::ServersController < Admin::BaseController
2-
before_action :load_resource, only: [:show, :edit, :update, :destroy, :generate_config]
1+
# frozen_string_literal: true
32

4-
def index
5-
@servers = Server.all
6-
end
3+
class Admin
4+
class ServersController < Admin::BaseController
5+
before_action :load_resource, only: %i[show edit update destroy generate_config]
76

8-
def show
9-
end
7+
def index
8+
@servers = Server.all
9+
end
1010

11-
def new
12-
@server = Server.new
13-
end
11+
def show; end
1412

15-
def create
16-
@server = Server.new(resource_params)
17-
if @server.save
18-
redirect_to admin_servers_path, notice: "Сервер успешно добавлен"
19-
else
20-
render :new
13+
def new
14+
@server = Server.new
2115
end
22-
end
2316

24-
def edit
25-
end
17+
def create
18+
@server = Server.new(resource_params)
19+
if @server.save
20+
redirect_to admin_servers_path, notice: t('admin.servers.notices.created')
21+
else
22+
render :new
23+
end
24+
end
2625

27-
def update
28-
if @server.update(resource_params)
29-
redirect_to admin_servers_path, notice: "Сервер успешно обновлен"
30-
else
31-
render :edit
26+
def edit; end
27+
28+
def update
29+
if @server.update(resource_params)
30+
redirect_to admin_servers_path, notice: t('admin.servers.notices.updated')
31+
else
32+
render :edit
33+
end
3234
end
33-
end
3435

35-
def destroy
36-
@server.delete
37-
redirect_to admin_servers_path, notice: "Сервер удален"
38-
end
36+
def destroy
37+
@server.delete
38+
redirect_to admin_servers_path, notice: t('admin.servers.notices.destroyed')
39+
end
3940

40-
def generate_config
41-
builder = ServerConfigBuilder.new(@server)
42-
config_file = builder.generate_config
43-
send_data config_file.to_text, filename: "#{@server.hostname}.ovpn"
44-
end
41+
def generate_config
42+
builder = ServerConfigBuilder.new(server: @server)
43+
config_file = builder.to_text
44+
send_data config_file, filename: "#{@server.hostname}.ovpn"
45+
end
4546

46-
private
47+
private
4748

48-
def load_resource
49-
@server = Server.find(params[:id])
50-
end
49+
def load_resource
50+
@server = Server.find(params[:id])
51+
end
5152

52-
def resource_params
53-
params.require(:server).permit(:hostname, :ip_address, :state,
54-
:config, :protocol, :port, :country_code,
55-
plan_ids: []
56-
)
53+
def resource_params
54+
params.require(:server).permit(:hostname, :ip_address, :state,
55+
:config, :protocol, :port, :country_code,
56+
plan_ids: [])
57+
end
5758
end
5859
end
59-

0 commit comments

Comments
 (0)