ish_manager 0.1.8.282 → 0.1.8.288
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/ish_manager/application.js +2 -2
- data/app/assets/stylesheets/ish_manager/application.scss +10 -2
- data/app/controllers/ish_manager/application_controller.rb +1 -1
- data/app/controllers/ish_manager/galleries_controller.rb +5 -4
- data/app/controllers/ish_manager/image_assets_controller.rb +10 -0
- data/app/controllers/ish_manager/maps_controller.rb +81 -1
- data/app/controllers/ish_manager/markers_controller.rb +6 -1
- data/app/controllers/ish_manager/sites_controller.rb +46 -48
- data/app/helpers/ish_manager/images_helper.rb +38 -37
- data/app/mailers/ish_manager/application_mailer.rb +4 -1
- data/app/models/ish_manager/ability.rb +5 -2
- data/app/views/ish_manager/application/_debug.haml +2 -1
- data/app/views/ish_manager/application/_main_header_admin.haml +6 -2
- data/app/views/ish_manager/application_mailer/option_alert.html.erb +9 -0
- data/app/views/ish_manager/image_assets/index.haml +6 -0
- data/app/views/ish_manager/maps/_form.haml +4 -0
- data/app/views/ish_manager/maps/index.haml +8 -1
- data/app/views/ish_manager/maps/map_editor.haml +2 -17
- data/app/views/ish_manager/maps/show.haml +10 -2
- data/app/views/ish_manager/markers/_index_small.haml +28 -0
- data/app/views/ish_manager/photos/_meta.haml +2 -2
- data/app/views/ish_manager/{option_watches → trash/option_watches-trash}/_form.haml +0 -0
- data/app/views/ish_manager/{stock_actions → trash/stock_actions}/_form.haml +0 -0
- data/app/views/ish_manager/{stock_actions → trash/stock_actions}/index.haml +0 -0
- data/app/views/ish_manager/{stock_options → trash/stock_options}/_form.haml +0 -0
- data/app/views/ish_manager/{stock_options → trash/stock_options}/index.haml +0 -0
- data/app/views/ish_manager/{stock_watches → trash/stock_watches}/_form.haml +0 -0
- data/app/views/ish_manager/{stock_watches → trash/stock_watches}/index.haml +0 -0
- data/app/views/ish_manager/videos/show.haml +1 -1
- data/app/views/layouts/ish_manager/README.txt +3 -0
- data/app/views/layouts/ish_manager/application.haml +1 -0
- data/app/views/layouts/ish_manager/application.haml-trash +40 -0
- data/app/views/layouts/ish_manager/application2.haml +17 -15
- data/config/routes.rb +5 -0
- data/config/systemd/system/README.txt +3 -0
- data/{lib/systemd/system/watch_stocks.service → config/systemd/system/stockwatcher.service} +0 -0
- data/config/systemd/system/watch_stocks.service +13 -0
- data/lib/ish_manager/engine.rb +1 -0
- data/lib/tasks/ish_manager_tasks.rake +7 -0
- data/lib/tasks/migrate.rake +16 -1
- data/lib/tasks/{warbler_tasks.rake → warbler_tasks.rake-trash} +15 -1
- metadata +105 -32
- data/app/controllers/ish_manager/features_controller.rb +0 -150
- data/app/controllers/ish_manager/option_watches_controller.rb +0 -60
- data/app/controllers/ish_manager/stock_watches_controller.rb +0 -63
- data/app/views/ish_manager/application/_main_header_admin.haml-trash +0 -21
- data/app/views/ish_manager/maps/index.haml-trash +0 -17
- data/app/views/layouts/ish_manager/application.haml +0 -40
@@ -42,6 +42,10 @@
|
|
42
42
|
= f.label :image
|
43
43
|
= file_field_tag :image
|
44
44
|
= image_tag @map.image.image.url(:thumb) rescue nil
|
45
|
+
.col.s4
|
46
|
+
.field
|
47
|
+
= f.label :creator_profile
|
48
|
+
= f.select :creator_profile, options_for_select(@user_profiles_list, selected: @current_user.profile.id)
|
45
49
|
|
46
50
|
= render 'ish_manager/application/form_nonpublic', f: f, model: @map
|
47
51
|
|
@@ -3,7 +3,14 @@
|
|
3
3
|
-#
|
4
4
|
|
5
5
|
.maps-index
|
6
|
-
%h1
|
6
|
+
%h1
|
7
|
+
Maps (#{@maps.length})
|
8
|
+
= link_to '[+]', new_map_path
|
9
|
+
.red-border
|
10
|
+
= form_tag import_map_path, :multipart => true do
|
11
|
+
= file_field_tag :input
|
12
|
+
= submit_tag 'Import Map'
|
13
|
+
|
7
14
|
- @maps.each do |map|
|
8
15
|
= render 'index_item', map: map
|
9
16
|
|
@@ -7,23 +7,8 @@
|
|
7
7
|
= image_tag @map.image.image.url(:original)
|
8
8
|
- @markers.each do |m|
|
9
9
|
.marker{ data: { 'slug': m.slug, 'center-offset-x': m.centerOffsetX, 'center-offset-y': m.centerOffsetY }, style: "top: #{m.y-m.centerOffsetY}px; left: #{m.x-m.centerOffsetX}px;" }
|
10
|
-
= image_tag m.image.image.url(:original)
|
10
|
+
= image_tag m.image ? m.image.image.url(:original) : image_missing
|
11
11
|
= image_tag('icons/10x10_red-cross.png', class: 'red-cross', style: "top: #{m.centerOffsetY-10}px; left: #{m.centerOffsetX-10}px;" )
|
12
12
|
|
13
|
-
|
14
|
-
%h1
|
15
|
-
Markers (#{@markers.length})
|
16
|
-
= link_to '[+]', new_marker_path({ map_id: @map.id })
|
17
|
-
- @markers.each do |m|
|
18
|
-
= form_for m, { html: { class: "item #{m.slug}" }, url: marker_path(m.id) } do |f|
|
19
|
-
= m.slug
|
20
|
-
= link_to '[~]', edit_marker_path(m.id)
|
21
|
-
.field
|
22
|
-
= f.label :x
|
23
|
-
= f.text_field :x
|
24
|
-
.field
|
25
|
-
= f.label :y
|
26
|
-
= f.text_field :y
|
27
|
-
.field
|
28
|
-
= f.submit 'Save'
|
13
|
+
= render 'ish_manager/markers/index_small', markers: @markers, map: @map
|
29
14
|
|
@@ -16,13 +16,19 @@
|
|
16
16
|
- @markers.each do |marker|
|
17
17
|
-# @TODO: this should be a partial
|
18
18
|
.marker{ style: "position: absolute; left: #{marker.x - marker.centerOffsetX}px; top: #{marker.y - marker.centerOffsetY}px;" }
|
19
|
-
|
19
|
+
- if marker.image
|
20
|
+
= image_tag marker.image.image.url(:original)
|
21
|
+
- else
|
22
|
+
= image_missing_tag
|
20
23
|
|
21
24
|
%p.addToggle Markers (#{@markers.count}) [<>]
|
22
25
|
.markers-list
|
23
26
|
- @markers.each do |marker|
|
24
27
|
.flex-row.bordered
|
25
|
-
|
28
|
+
- if marker.title_image
|
29
|
+
= image_tag marker.title_image.image.url(:original)
|
30
|
+
- else
|
31
|
+
= image_missing_tag
|
26
32
|
.flat-row
|
27
33
|
.a= marker.slug
|
28
34
|
.a= button_to '~', edit_marker_path(marker), method: :get
|
@@ -44,3 +50,5 @@
|
|
44
50
|
|
45
51
|
%hr
|
46
52
|
= render 'form'
|
53
|
+
|
54
|
+
= button_to 'Export Subtree', export_map_path(@map.id, format: :json)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
.markers--index-small.markers-list
|
3
|
+
%h1
|
4
|
+
Markers (#{markers.length})
|
5
|
+
= link_to '[+]', new_marker_path({ map_id: map.id })
|
6
|
+
- markers.each do |m|
|
7
|
+
= form_for m, { html: { class: "item #{m.slug}" }, url: marker_path(m.id) } do |f|
|
8
|
+
.flex-row
|
9
|
+
.flex-column
|
10
|
+
.a= m.name
|
11
|
+
%b= m.slug
|
12
|
+
= link_to '[~]', edit_marker_path(m.id)
|
13
|
+
.flex-row
|
14
|
+
.flex-column
|
15
|
+
.a on map:
|
16
|
+
= image_tag( m.image ? m.image.image.url(:thumb) : image_missing )
|
17
|
+
.flex-column
|
18
|
+
.a title:
|
19
|
+
= image_tag( m.title_image ? m.title_image.image.url(:thumb) : image_missing )
|
20
|
+
.field
|
21
|
+
= f.label :x
|
22
|
+
= f.text_field :x
|
23
|
+
.field
|
24
|
+
= f.label :y
|
25
|
+
= f.text_field :y
|
26
|
+
.field
|
27
|
+
= f.submit 'Save'
|
28
|
+
|
@@ -2,8 +2,8 @@
|
|
2
2
|
.photos-meta.row
|
3
3
|
.meta
|
4
4
|
On #{ pretty_date photo.created_at }
|
5
|
-
- unless photo.user.blank?
|
6
|
-
|
5
|
+
-# - unless photo.user.blank?
|
6
|
+
-# By #{ link_to photo.user.username, user_path(photo.user.username) }
|
7
7
|
- unless photo.gallery.blank?
|
8
8
|
In #{ link_to photo.gallery.name, gallery_path(photo.gallery.slug, 0) }
|
9
9
|
= photo.name unless photo.name.blank?
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
app/views/layouts/ish_manager/application2.haml
|
@@ -0,0 +1,40 @@
|
|
1
|
+
!!!
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%title Ish Manager
|
5
|
+
%link{ :rel => 'icon', :href => "/favicon_#{ENV['RAILS_ENV']}.gif" }
|
6
|
+
%meta{ :name => :viewport, :content => 'width=device-width, initial-scale=1.0' }
|
7
|
+
%meta{ :charset => 'UTF-8' }
|
8
|
+
%meta{ :description => 'some description' }
|
9
|
+
%script{ :src => "//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" }
|
10
|
+
%script{ :src => "//cdnjs.cloudflare.com/ajax/libs/tinymce/4.6.3/jquery.tinymce.min.js" }
|
11
|
+
%script{ :src => "//cdnjs.cloudflare.com/ajax/libs/tinymce/4.6.3/tinymce.min.js" }
|
12
|
+
%script{ :src => "//cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js" }
|
13
|
+
= stylesheet_link_tag "//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css"
|
14
|
+
= stylesheet_link_tag "//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css", :media => 'all'
|
15
|
+
= stylesheet_link_tag "//fonts.googleapis.com/icon?family=Material+Icons"
|
16
|
+
|
17
|
+
= stylesheet_link_tag "ish_manager/materialize", media: "all"
|
18
|
+
= stylesheet_link_tag "ish_manager/application", media: "all"
|
19
|
+
|
20
|
+
= javascript_include_tag "ish_manager/application"
|
21
|
+
= javascript_include_tag "ish_manager/materialize"
|
22
|
+
|
23
|
+
= csrf_meta_tags
|
24
|
+
%body{ class: [ params[:controller].gsub("ish_manager/",""), "#{params[:controller].gsub("ish_manager/","")}-#{params[:action]}", params[:action]] }
|
25
|
+
.bg-white
|
26
|
+
- role = current_user ? current_user.profile.role_name : ''
|
27
|
+
= render :partial => "ish_manager/application/main_header_#{role}"
|
28
|
+
.container
|
29
|
+
.row
|
30
|
+
.col.s12
|
31
|
+
- if notice
|
32
|
+
%p.notice= notice
|
33
|
+
- if alert
|
34
|
+
%p.alert= alert
|
35
|
+
.container
|
36
|
+
= yield
|
37
|
+
= render 'ish_manager/application/main_footer'
|
38
|
+
= render 'analytics' unless Rails.env.development?
|
39
|
+
= render 'debug' if Rails.env.development?
|
40
|
+
|
@@ -2,42 +2,44 @@
|
|
2
2
|
%html
|
3
3
|
%head
|
4
4
|
%title Ish Manager
|
5
|
-
%link{ :rel => 'icon', :href => '
|
5
|
+
%link{ :rel => 'icon', :href => "/favicon_#{ENV['RAILS_ENV']}.gif" }
|
6
6
|
%meta{ :name => :viewport, :content => 'width=device-width, initial-scale=1.0' }
|
7
7
|
%meta{ :charset => 'UTF-8' }
|
8
|
-
%meta{ :description => '
|
9
|
-
|
8
|
+
%meta{ :description => 'some description' }
|
10
9
|
%script{ :src => "//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" }
|
11
10
|
%script{ :src => "//cdnjs.cloudflare.com/ajax/libs/tinymce/4.6.3/jquery.tinymce.min.js" }
|
12
11
|
%script{ :src => "//cdnjs.cloudflare.com/ajax/libs/tinymce/4.6.3/tinymce.min.js" }
|
13
12
|
%script{ :src => "//cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js" }
|
14
|
-
|
15
|
-
|
16
|
-
= stylesheet_link_tag "//cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"
|
17
13
|
= stylesheet_link_tag "//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css"
|
18
|
-
= stylesheet_link_tag "//fonts.googleapis.com/icon?family=Material+Icons"
|
19
14
|
= stylesheet_link_tag "//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css", :media => 'all'
|
15
|
+
= stylesheet_link_tag "//fonts.googleapis.com/icon?family=Material+Icons"
|
20
16
|
|
17
|
+
= stylesheet_link_tag "ish_manager/materialize", media: "all"
|
21
18
|
= stylesheet_link_tag "ish_manager/application", media: "all"
|
22
19
|
|
23
20
|
= javascript_include_tag "ish_manager/application"
|
21
|
+
= javascript_include_tag "ish_manager/materialize"
|
24
22
|
|
25
23
|
= csrf_meta_tags
|
26
|
-
%body#
|
24
|
+
%body{ class: [ params[:controller].gsub("ish_manager/",""), "#{params[:controller].gsub("ish_manager/","")}-#{params[:action]}", params[:action]] }
|
27
25
|
.bg-white
|
28
|
-
|
29
|
-
= render :partial => "ish_manager/application/main_header_#{role}"
|
26
|
+
= render :partial => "ish_manager/application/main_header_#{current_user.profile.role_name}"
|
30
27
|
.container
|
31
28
|
.row
|
32
29
|
.col.s12
|
33
30
|
- if notice
|
31
|
+
- if notice.class == Array
|
32
|
+
%ul
|
33
|
+
- notice.map do |n|
|
34
|
+
%li
|
35
|
+
- n.map do |k,v|
|
36
|
+
<b>#{k} :</b> #{v}
|
34
37
|
%p.notice= notice
|
35
38
|
- if alert
|
36
39
|
%p.alert= alert
|
37
40
|
.container
|
38
41
|
= yield
|
39
|
-
= render
|
40
|
-
= render '
|
41
|
-
|
42
|
-
|
43
|
-
M.AutoInit();
|
42
|
+
= render 'ish_manager/application/main_footer'
|
43
|
+
= render 'analytics' if Rails.env.production?
|
44
|
+
= render 'debug' if !Rails.env.production?
|
45
|
+
|
data/config/routes.rb
CHANGED
@@ -33,6 +33,8 @@ IshManager::Engine.routes.draw do
|
|
33
33
|
post 'multiadd', :to => 'photos#j_create', :as => :multiadd
|
34
34
|
end
|
35
35
|
|
36
|
+
get 'image_assets', to: 'image_assets#index', as: :image_assets
|
37
|
+
|
36
38
|
resources :invoices do
|
37
39
|
# resources :payments
|
38
40
|
end
|
@@ -48,7 +50,10 @@ IshManager::Engine.routes.draw do
|
|
48
50
|
resources 'markers'
|
49
51
|
resources 'newsitems'
|
50
52
|
end
|
53
|
+
post 'maps/import', to: 'maps#import', as: :import_map
|
51
54
|
get 'maps/:id', to: 'maps#edit'
|
55
|
+
post 'maps/:id/export', to: 'maps#export', as: :export_map
|
56
|
+
|
52
57
|
resources 'markers'
|
53
58
|
end
|
54
59
|
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
[Unit]
|
2
|
+
Description=watch stocks
|
3
|
+
|
4
|
+
[Service]
|
5
|
+
Type=forking
|
6
|
+
WorkingDirectory=/home/ubuntu/projects/microsites3/current
|
7
|
+
ExecStart=/usr/bin/bundle exec rake ish_manager:watch_stocks
|
8
|
+
ExecStop=/bin/echo nothing
|
9
|
+
Restart=on-failure
|
10
|
+
Environment=RAILS_ENV=production
|
11
|
+
|
12
|
+
[Install]
|
13
|
+
WantedBy=multi-user.target
|
data/lib/ish_manager/engine.rb
CHANGED
@@ -12,6 +12,7 @@ module IshManager
|
|
12
12
|
initializer "ish_manager.assets.precompile" do |app|
|
13
13
|
app.config.assets.precompile << %w( ish_manager/application.js ish_manager/application.css )
|
14
14
|
app.config.assets.precompile << %w( ish_manager/materialize.js ish_manager/materialize.css )
|
15
|
+
app.config.assets.precompile << %w( missing.png )
|
15
16
|
end
|
16
17
|
end
|
17
18
|
end
|
@@ -18,6 +18,13 @@ namespace :ish_manager do
|
|
18
18
|
puts 'OK'
|
19
19
|
end
|
20
20
|
|
21
|
+
desc 'assign my creator_profile to Gameui::Marker where missing'
|
22
|
+
task :gameui_markers_creator_profile => :environment do
|
23
|
+
ms = Gameui::Marker.where( creator_profile_id: nil )
|
24
|
+
profile = User.find_by( email: 'piousbox@gmail.com' ).profile
|
25
|
+
ms.update_all( creator_profile_id: profile.id )
|
26
|
+
end
|
27
|
+
|
21
28
|
desc 'watch the stocks, and trigger actions - not alphavantage, tda now. 2021-08-08'
|
22
29
|
task watch_stocks: :environment do
|
23
30
|
while true
|
data/lib/tasks/migrate.rake
CHANGED
@@ -15,5 +15,20 @@ namespace :migrate do
|
|
15
15
|
puts 'Each gallery is associated with a user profile.'
|
16
16
|
end
|
17
17
|
|
18
|
+
desc 'destination for every marker'
|
19
|
+
task :markers_destinations => :environment do
|
20
|
+
ms = Marker.where( destination: nil )
|
21
|
+
ms.each do |m|
|
22
|
+
d = Map.where( slug: m.slug ).first
|
23
|
+
if d
|
24
|
+
m.destination = d
|
25
|
+
m.save
|
26
|
+
puts "Marker |#{m.name}| got destination |#{m.slug}|."
|
27
|
+
else
|
28
|
+
puts "+++ +++ #{m.slug}, No destination for this one."
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
18
33
|
end
|
19
|
-
|
34
|
+
|
@@ -6,6 +6,18 @@ end
|
|
6
6
|
|
7
7
|
namespace :warbler do
|
8
8
|
|
9
|
+
desc 'test placing orders for stock' do
|
10
|
+
task place_order_stock: :environment do
|
11
|
+
opts = {
|
12
|
+
"instruction": "BUY",
|
13
|
+
"price": "1.10",
|
14
|
+
"quantity": 1,
|
15
|
+
"symbol": "BAC",
|
16
|
+
}
|
17
|
+
out = Warbler::Ameritrade::Api.place_stock_limit_order opts
|
18
|
+
puts! out, 'out'
|
19
|
+
end
|
20
|
+
|
9
21
|
## @TODO: this is still in ish_manager namespace, need to actually move it here.
|
10
22
|
desc 'watch the stocks, and trigger actions - not alphavantage, tda now. 2021-08-08'
|
11
23
|
task watch_stocks: :environment do
|
@@ -25,6 +37,7 @@ namespace :warbler do
|
|
25
37
|
puts! e, 'Error in ish_manager:watch_stocks :'
|
26
38
|
end
|
27
39
|
end
|
40
|
+
print '.'
|
28
41
|
sleep Warbler::StockWatch::SLEEP_TIME_SECONDS
|
29
42
|
end
|
30
43
|
end
|
@@ -41,13 +54,14 @@ namespace :warbler do
|
|
41
54
|
r = out[:last]
|
42
55
|
if option.direction == :ABOVE && r >= option.price ||
|
43
56
|
option.direction == :BELOW && r <= option.price
|
44
|
-
|
57
|
+
IshManager::ApplicationMailer.option_alert( option ).deliver
|
45
58
|
end
|
46
59
|
end
|
47
60
|
rescue Exception => e
|
48
61
|
puts! e, 'Error in ish_manager:watch_options :'
|
49
62
|
end
|
50
63
|
end
|
64
|
+
print '.'
|
51
65
|
sleep Warbler::OptionWatch::SLEEP_TIME_SECONDS
|
52
66
|
end
|
53
67
|
end
|