ish_manager 0.1.8.458 → 0.1.8.459
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/ish_manager/appliances.scss +27 -0
- data/app/assets/stylesheets/ish_manager/application.scss +2 -1
- data/app/assets/stylesheets/ish_manager/leadsets.scss +14 -0
- data/app/controllers/ish_manager/appliance_tmpls_controller.rb +36 -0
- data/app/controllers/ish_manager/appliances_controller.rb +55 -0
- data/app/controllers/ish_manager/application_controller.rb +1 -0
- data/app/controllers/ish_manager/invoices_controller.rb +27 -1
- data/app/controllers/ish_manager/iro_option_gets_controller.rb +21 -23
- data/app/controllers/ish_manager/serverhosts_controller.rb +60 -0
- data/app/views/ish_manager/appliance_tmpls/_form.haml +14 -0
- data/app/views/ish_manager/appliance_tmpls/index.haml +14 -0
- data/app/views/ish_manager/appliances/_form.haml +15 -0
- data/app/views/ish_manager/appliances/_index.haml +21 -0
- data/app/views/ish_manager/appliances/edit.haml +5 -0
- data/app/views/ish_manager/appliances/index.haml +4 -0
- data/app/views/ish_manager/application/_main_header_admin.haml +18 -0
- data/app/views/ish_manager/email_templates/_marketing_node_1.html.erb +676 -0
- data/app/views/ish_manager/invoices/index.haml +4 -4
- data/app/views/ish_manager/invoices/new_pdf.haml +15 -0
- data/app/views/ish_manager/invoices/new_stripe.haml +38 -0
- data/app/views/ish_manager/iro_watches/index.haml +17 -5
- data/app/views/ish_manager/iro_watches/max_pain.haml +2 -0
- data/app/views/ish_manager/leads/show.haml +3 -1
- data/app/views/ish_manager/leadsets/show.haml +10 -3
- data/app/views/ish_manager/serverhosts/_form.haml +29 -0
- data/app/views/ish_manager/serverhosts/_index.haml +21 -0
- data/app/views/ish_manager/serverhosts/edit.haml +4 -0
- data/app/views/ish_manager/serverhosts/index.haml +8 -0
- data/app/views/ish_manager/user_profiles/_form.haml +4 -0
- data/config/routes.rb +9 -6
- metadata +35 -4
- data/app/views/ish_manager/invoices/new.haml +0 -7
- /data/app/views/ish_manager/invoices/{_form.haml → _form.haml-trash} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 480eee27f911a79cdf6e769fffda58864a271c85724d6585298003f509777683
|
4
|
+
data.tar.gz: 9b07d3b7bc759f71835140baa2fcbbc464cf89d414625f5c836fb30e0989254e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5495eb73bae8a554e2f347a5fb2a3de2e77b98f5b7646f030244ba61c9b301033bc021e6e455be664aa430752313fa6aa03cdc1cbdb6f4be8dc057d3a18ed1f
|
7
|
+
data.tar.gz: 6fe9553be026225f8a0266885e13a374e72a703bca567de593087e872b89f5ba47ca2bdf32095e1025d37f3c19c7601fc22bee94e65d3dd66027d5923830ff31
|
@@ -0,0 +1,27 @@
|
|
1
|
+
|
2
|
+
.appliances-index {
|
3
|
+
.items {
|
4
|
+
|
5
|
+
display: flex;
|
6
|
+
flex-wrap: wrap;
|
7
|
+
|
8
|
+
margin: 0;
|
9
|
+
padding: 0;
|
10
|
+
|
11
|
+
> * {
|
12
|
+
margin-right: 10px;
|
13
|
+
margin-bottom: 10px;
|
14
|
+
|
15
|
+
width: 300px;
|
16
|
+
max-width: 300px;
|
17
|
+
|
18
|
+
display: inline-block;
|
19
|
+
border: 1px solid blue;
|
20
|
+
border-radius: 5px;
|
21
|
+
background: #ccf;
|
22
|
+
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
|
@@ -5,16 +5,17 @@
|
|
5
5
|
* require ish_manager/vendor/summernote-bs4.min
|
6
6
|
*
|
7
7
|
*= require_self
|
8
|
+
*= require ish_manager/appliances
|
8
9
|
*= require ish_manager/email_contexts
|
9
10
|
*= require ish_manager/email_conversations
|
10
11
|
*= require ish_manager/email_messages
|
11
12
|
*= require ish_manager/email_templates
|
12
13
|
*= require ish_manager/email
|
13
|
-
*
|
14
14
|
*= require ish_manager/galleries
|
15
15
|
*= require ish_manager/iro
|
16
16
|
*= require ish_manager/iro1
|
17
17
|
*= require ish_manager/leads_leadsets
|
18
|
+
*= require ish_manager/leadsets
|
18
19
|
*= require ish_manager/maps
|
19
20
|
*= require ish_manager/markers
|
20
21
|
*= require ish_manager/office
|
@@ -0,0 +1,36 @@
|
|
1
|
+
|
2
|
+
class ::IshManager::ApplianceTmplsController < IshManager::ApplicationController
|
3
|
+
|
4
|
+
before_action :set_lists
|
5
|
+
|
6
|
+
def create
|
7
|
+
@appliance_tmpl = Wco::ApplianceTmpl.new params[:appliance].permit!
|
8
|
+
authorize! :create, @appliance_tmpl
|
9
|
+
|
10
|
+
flag = @appliance_tmpl.save
|
11
|
+
if flag
|
12
|
+
flash[:notice] = 'Success.'
|
13
|
+
redirect_to action: :index
|
14
|
+
else
|
15
|
+
flash[:alert] = "Cannot create appliance tmplate: #{@appliance_tmpl.errors.full_messages.join(', ')}."
|
16
|
+
render action: :index
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def index
|
21
|
+
authorize! :index, Wco::ApplianceTmpl
|
22
|
+
@appliance_tmpls = Wco::ApplianceTmpl.all
|
23
|
+
end
|
24
|
+
|
25
|
+
##
|
26
|
+
## private
|
27
|
+
##
|
28
|
+
private
|
29
|
+
|
30
|
+
def set_lists
|
31
|
+
super
|
32
|
+
@new_appliance_tmpl = Wco::ApplianceTmpl.new
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
@@ -0,0 +1,55 @@
|
|
1
|
+
|
2
|
+
class ::IshManager::AppliancesController < IshManager::ApplicationController
|
3
|
+
|
4
|
+
before_action :set_lists, only: %i| edit update |
|
5
|
+
|
6
|
+
# def create
|
7
|
+
# @appliance_tmpl = Wco::ApplianceTmpl.new params[:appliance].permit!
|
8
|
+
# authorize! :create, @appliance_tmpl
|
9
|
+
# flag = @appliance_tmpl.save
|
10
|
+
# if flag
|
11
|
+
# flash[:notice] = 'Success.'
|
12
|
+
# redirect_to action: :index
|
13
|
+
# else
|
14
|
+
# flash[:alert] = "Cannot create appliance tmplate: #{@appliance_tmpl.errors.full_messages.join(', ')}."
|
15
|
+
# render action: :index
|
16
|
+
# end
|
17
|
+
# end
|
18
|
+
|
19
|
+
|
20
|
+
def edit
|
21
|
+
authorize! :edit, @appliance
|
22
|
+
end
|
23
|
+
|
24
|
+
def index
|
25
|
+
authorize! :index, Wco::Appliance
|
26
|
+
@appliances = Wco::Appliance.all
|
27
|
+
end
|
28
|
+
|
29
|
+
def update
|
30
|
+
authorize! :edit, @appliance
|
31
|
+
flag = @appliance.update_attributes( params[:appliance].permit! )
|
32
|
+
if flag
|
33
|
+
flash[:notice] = "Successfully updated appliance #{@appliance.name}."
|
34
|
+
redirect_to controller: :leadsets, action: :show, id: @appliance.leadset_id
|
35
|
+
# redirect_to request.referrer ? request.referrer : { action: :edit, id: @appliance.id }
|
36
|
+
else
|
37
|
+
flash[:alert] = "Cannot update appliance: #{@appliance.errors.full_messages.join(', ')}."
|
38
|
+
render action: :edit, id: @appliance.id
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
##
|
44
|
+
## private
|
45
|
+
##
|
46
|
+
private
|
47
|
+
|
48
|
+
def set_lists
|
49
|
+
super
|
50
|
+
@appliance = Wco::Appliance.find params[:id]
|
51
|
+
@these_serverhosts_list = @appliance.leadset.serverhosts.map { |i| [ i.name, i.id] }
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
@@ -92,6 +92,7 @@ class IshManager::ApplicationController < ActionController::Base
|
|
92
92
|
@locations_list = ::Gameui::Map.list
|
93
93
|
@maps_list = ::Gameui::Map.list # @TODO: missing nonpublic!
|
94
94
|
@office_actions_list = [[nil,nil]] + Office::Action.all.map { |a| [ a.slug, a.id ] }
|
95
|
+
@option_watches_list = [nil] + Iro::OptionWatch.where({ kind: Iro::OptionWatch::KIND_GET_CHAINS }).order_by({ ticket: :desc }).map( &:ticker )
|
95
96
|
@profiles_list = Ish::UserProfile.list
|
96
97
|
@reports_list = Report.all.list
|
97
98
|
@tags_list = [[nil,nil]] + WpTag.all.map { |t| [ t.name, t.id ] }
|
@@ -3,6 +3,26 @@ class ::IshManager::InvoicesController < IshManager::ApplicationController
|
|
3
3
|
|
4
4
|
before_action :set_lists
|
5
5
|
|
6
|
+
def create_pdf
|
7
|
+
@invoice = Ish::Invoice.new
|
8
|
+
authorize! :new, @invoice
|
9
|
+
|
10
|
+
pdf = Prawn::Document.new
|
11
|
+
pdf.text "Job Summary."
|
12
|
+
|
13
|
+
filename = "a-summary.pdf"
|
14
|
+
path = Rails.root.join 'tmp', filename
|
15
|
+
pdf.render_file path
|
16
|
+
data = File.read path
|
17
|
+
File.delete(path) if File.exist?(path)
|
18
|
+
|
19
|
+
send_data( data, { :filename => filename,
|
20
|
+
:disposition => params[:disposition] ? params[:disposition] : :attachment,
|
21
|
+
:type => 'application/pdf'
|
22
|
+
})
|
23
|
+
end
|
24
|
+
|
25
|
+
## #create_stripe()
|
6
26
|
def create
|
7
27
|
@invoice = Ish::Invoice.new params[:invoice].permit!
|
8
28
|
authorize! :create, @invoice
|
@@ -43,7 +63,13 @@ class ::IshManager::InvoicesController < IshManager::ApplicationController
|
|
43
63
|
@invoices = @invoices.includes( :payments )
|
44
64
|
end
|
45
65
|
|
46
|
-
def
|
66
|
+
def new_pdf
|
67
|
+
authorize! :new, @invoice
|
68
|
+
@leadset = Leadset.find params[:leadset_id]
|
69
|
+
@products_list = Wco::Product.list
|
70
|
+
end
|
71
|
+
|
72
|
+
def new_stripe
|
47
73
|
authorize! :new, @invoice
|
48
74
|
@leadset = Leadset.find params[:leadset_id]
|
49
75
|
@products_list = Wco::Product.list
|
@@ -17,34 +17,32 @@ class ::IshManager::IroOptionGetsController < IshManager::ApplicationController
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def max_pain
|
20
|
-
@ticker = params[:ticker]
|
21
|
-
@date = params[:date].to_time.to_i
|
22
|
-
|
23
|
-
## 1689364800000
|
24
|
-
## Fri, 14 Jul 2023 15:00:00.000000000 CDT -05:00
|
25
|
-
|
26
20
|
authorize! :max_pain, Iro::Iro
|
21
|
+
@ticker = params[:ticker]
|
27
22
|
|
28
23
|
@expirationDate = ( params[:date].to_date + 15.hours ).to_time.to_i * 1000 # '1689364800000'
|
29
24
|
# expirationDate = '1689969600000'
|
30
25
|
# expirationDate = '1690574400000'
|
31
26
|
@all_items = {}
|
32
27
|
|
33
|
-
calls_sql = "select distinct symbol, strikePrice,
|
28
|
+
calls_sql = " select distinct putCall, symbol, strikePrice, openInterest, max(created_at)
|
34
29
|
from iro_option_price_items
|
35
30
|
where expirationDate = #{@expirationDate} and putCall = 'CALL' and ticker = '#{@ticker}'
|
36
|
-
group by symbol, strikePrice,
|
37
|
-
order by
|
31
|
+
group by putCall, symbol, strikePrice, openInterest
|
32
|
+
order by strikePrice, max(created_at) desc; "
|
38
33
|
@calls_items = []
|
39
34
|
@calls_array = ActiveRecord::Base.connection.execute(calls_sql)
|
40
35
|
calls_subtotal = 0
|
41
36
|
@calls_array.each do |_item|
|
37
|
+
# puts! _item, 'item'
|
42
38
|
item = {
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
oi:
|
39
|
+
putCall: _item[0],
|
40
|
+
symbol: _item[1],
|
41
|
+
strikePrice: _item[2],
|
42
|
+
oi: _item[3],
|
43
|
+
created_at: _item[4],
|
47
44
|
}
|
45
|
+
# puts! item, 'item'
|
48
46
|
item[:subtotal] = item[:strikePrice] * 100 * item[:oi]
|
49
47
|
calls_subtotal = calls_subtotal + item[:subtotal]
|
50
48
|
item[:total] = calls_subtotal
|
@@ -60,27 +58,27 @@ class ::IshManager::IroOptionGetsController < IshManager::ApplicationController
|
|
60
58
|
@all_items[item[:strikePrice]][:subtotal] = @all_items[item[:strikePrice]][:subtotal] + calls_subtotal
|
61
59
|
end
|
62
60
|
|
63
|
-
puts_sql = "select
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
61
|
+
puts_sql = "select putCall, symbol, strikePrice, openInterest, created_at
|
62
|
+
from iro_option_price_items
|
63
|
+
where expirationDate = #{@expirationDate} and putCall = 'PUT' and ticker = '#{@ticker}'
|
64
|
+
group by putCall, symbol, strikePrice, openInterest, created_at
|
65
|
+
order by putCall, strikePrice, created_at desc;"
|
68
66
|
@puts_items = []
|
69
67
|
@puts_array = ActiveRecord::Base.connection.execute(puts_sql)
|
70
68
|
puts_subtotal = 0
|
71
69
|
@puts_array.each do |_item|
|
72
70
|
item = {
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
oi:
|
71
|
+
putCall: _item[0],
|
72
|
+
symbol: _item[1],
|
73
|
+
strikePrice: _item[2],
|
74
|
+
oi: _item[3],
|
75
|
+
created_at: _item[4],
|
77
76
|
}
|
78
77
|
item[:subtotal] = item[:strikePrice] * 100 * item[:oi]
|
79
78
|
puts_subtotal = puts_subtotal + item[:subtotal]
|
80
79
|
item[:total] = puts_subtotal
|
81
80
|
puts! item, 'item'
|
82
81
|
@puts_items.push( item )
|
83
|
-
|
84
82
|
@all_items[item[:strikePrice]] ||= {
|
85
83
|
subtotal: 0,
|
86
84
|
strikePrice: item[:strikePrice],
|
@@ -0,0 +1,60 @@
|
|
1
|
+
|
2
|
+
class ::IshManager::ServerhostsController < IshManager::ApplicationController
|
3
|
+
|
4
|
+
# before_action :set_lists
|
5
|
+
|
6
|
+
def create
|
7
|
+
@serverhost = Wco::Serverhost.new params[:serverhost].permit!
|
8
|
+
authorize! :create, @serverhost
|
9
|
+
|
10
|
+
flag = @serverhost.save
|
11
|
+
if flag
|
12
|
+
flash[:notice] = 'Success.'
|
13
|
+
redirect_to action: :index
|
14
|
+
else
|
15
|
+
flash[:alert] = "Cannot create serverhost: #{@serverhost.errors.full_messages.join(', ')}."
|
16
|
+
render action: :index
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def edit
|
21
|
+
@serverhost = Wco::Serverhost.find params[:id]
|
22
|
+
authorize! :edit, @serverhost
|
23
|
+
end
|
24
|
+
|
25
|
+
def index
|
26
|
+
authorize! :index, Wco::Serverhost
|
27
|
+
@serverhosts = Wco::Serverhost.all
|
28
|
+
@new_serverhost = Wco::Serverhost.new
|
29
|
+
end
|
30
|
+
|
31
|
+
def update
|
32
|
+
@serverhost = Wco::Serverhost.find params[:id]
|
33
|
+
authorize! :update, @serverhost
|
34
|
+
flag = @serverhost.update_attributes params[:serverhost].permit!
|
35
|
+
if flag
|
36
|
+
flash[:notice] = "Success."
|
37
|
+
redirect_to action: :index
|
38
|
+
else
|
39
|
+
flash[:alert] = "Cannot update serverhost: #{@serverhost.errors.full_messages.join(', ')}."
|
40
|
+
render action: :edit
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
##
|
47
|
+
## private
|
48
|
+
##
|
49
|
+
private
|
50
|
+
|
51
|
+
# def set_lists
|
52
|
+
# super
|
53
|
+
# @new_serverhost = Wco::Serverhost.new
|
54
|
+
# puts! @new_serverhost.class, 'ze'
|
55
|
+
# puts! @new_serverhost, '@new_serverhost'
|
56
|
+
# @new_serverhost.name = 'some name'
|
57
|
+
# end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
|
2
|
+
- url = appliance_tmpl.new_record? ? appliance_tmpls_path : appliance_tmpls_path( appliance_tmpl )
|
3
|
+
|
4
|
+
.appliance-tmpls--form
|
5
|
+
= form_for appliance_tmpl, as: :appliance, url: url do |f|
|
6
|
+
.input-field
|
7
|
+
= f.label :kind
|
8
|
+
= f.text_field :kind
|
9
|
+
.input-field
|
10
|
+
= f.label :image
|
11
|
+
= f.text_field :image
|
12
|
+
|
13
|
+
.actions
|
14
|
+
= f.submit 'Submit'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
- url = appliance.new_record? ? appliances_path : appliance_path( appliance )
|
3
|
+
|
4
|
+
.appliances--form
|
5
|
+
= form_for appliance, url: url, as: :appliance do |f|
|
6
|
+
.field
|
7
|
+
= f.label :name
|
8
|
+
= f.text_field :name
|
9
|
+
|
10
|
+
.field
|
11
|
+
= f.label :serverhost
|
12
|
+
= f.select :serverhost, options_for_select( @these_serverhosts_list, selected: appliance.serverhost ), {}, class: :select2
|
13
|
+
|
14
|
+
.actions
|
15
|
+
= f.submit 'Submit'
|
@@ -0,0 +1,21 @@
|
|
1
|
+
|
2
|
+
.appliances--index
|
3
|
+
%h5 Appliances (#{appliances.length})
|
4
|
+
- if appliances.present?
|
5
|
+
%hr
|
6
|
+
%ul.items
|
7
|
+
- appliances.each do |i|
|
8
|
+
%li
|
9
|
+
%ul
|
10
|
+
%li.name <b>name:</b> #{i.name} #{link_to '[~]', edit_appliance_path(i)}
|
11
|
+
%li.kind <b>kind:</b> #{i.kind}
|
12
|
+
%li.leadset_id <b>leadset_id:</b> #{i.leadset_id}
|
13
|
+
|
14
|
+
%li.serverhost
|
15
|
+
<b>serverhost:</b>
|
16
|
+
- if i.serverhost
|
17
|
+
#{ link_to i.serverhost.name, serverhost_path(i.serverhost) }
|
18
|
+
- else
|
19
|
+
<no-serverhost>
|
20
|
+
%li.host <b>host:</b> #{i.host}
|
21
|
+
-# %li.inspect= i.inspect
|
@@ -108,10 +108,28 @@
|
|
108
108
|
|
109
109
|
.c
|
110
110
|
|
111
|
+
%i.fa.fa-compress.collapse-expand#collapseHeaderWco
|
112
|
+
Wasya Co Rb
|
113
|
+
.a
|
114
|
+
%ul
|
115
|
+
%li
|
116
|
+
= link_to 'ApplianceTmpl\'s', appliance_tmpls_path
|
117
|
+
%li
|
118
|
+
= link_to 'Appliance\'s', appliances_path
|
119
|
+
%li
|
120
|
+
= link_to 'Serverhost\'s', serverhosts_path
|
121
|
+
.c
|
122
|
+
|
123
|
+
|
124
|
+
|
111
125
|
%i.fa.fa-compress.collapse-expand#collapseHeaderIro
|
112
126
|
Iro Wor
|
113
127
|
.a
|
114
128
|
%ul
|
129
|
+
-# %li
|
130
|
+
-# = form_tag iro_watches_path, method: :get do
|
131
|
+
-# -# = select_get :ticker, options_for_select( @option_watches_list )
|
132
|
+
-# = link_to '[+]', new_iro_watch_path
|
115
133
|
|
116
134
|
%li
|
117
135
|
= link_to 'Watches', iro_watches_path
|