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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/ish_manager/application.js +2 -2
  3. data/app/assets/stylesheets/ish_manager/application.scss +10 -2
  4. data/app/controllers/ish_manager/application_controller.rb +1 -1
  5. data/app/controllers/ish_manager/galleries_controller.rb +5 -4
  6. data/app/controllers/ish_manager/image_assets_controller.rb +10 -0
  7. data/app/controllers/ish_manager/maps_controller.rb +81 -1
  8. data/app/controllers/ish_manager/markers_controller.rb +6 -1
  9. data/app/controllers/ish_manager/sites_controller.rb +46 -48
  10. data/app/helpers/ish_manager/images_helper.rb +38 -37
  11. data/app/mailers/ish_manager/application_mailer.rb +4 -1
  12. data/app/models/ish_manager/ability.rb +5 -2
  13. data/app/views/ish_manager/application/_debug.haml +2 -1
  14. data/app/views/ish_manager/application/_main_header_admin.haml +6 -2
  15. data/app/views/ish_manager/application_mailer/option_alert.html.erb +9 -0
  16. data/app/views/ish_manager/image_assets/index.haml +6 -0
  17. data/app/views/ish_manager/maps/_form.haml +4 -0
  18. data/app/views/ish_manager/maps/index.haml +8 -1
  19. data/app/views/ish_manager/maps/map_editor.haml +2 -17
  20. data/app/views/ish_manager/maps/show.haml +10 -2
  21. data/app/views/ish_manager/markers/_index_small.haml +28 -0
  22. data/app/views/ish_manager/photos/_meta.haml +2 -2
  23. data/app/views/ish_manager/{option_watches → trash/option_watches-trash}/_form.haml +0 -0
  24. data/app/views/ish_manager/{stock_actions → trash/stock_actions}/_form.haml +0 -0
  25. data/app/views/ish_manager/{stock_actions → trash/stock_actions}/index.haml +0 -0
  26. data/app/views/ish_manager/{stock_options → trash/stock_options}/_form.haml +0 -0
  27. data/app/views/ish_manager/{stock_options → trash/stock_options}/index.haml +0 -0
  28. data/app/views/ish_manager/{stock_watches → trash/stock_watches}/_form.haml +0 -0
  29. data/app/views/ish_manager/{stock_watches → trash/stock_watches}/index.haml +0 -0
  30. data/app/views/ish_manager/videos/show.haml +1 -1
  31. data/app/views/layouts/ish_manager/README.txt +3 -0
  32. data/app/views/layouts/ish_manager/application.haml +1 -0
  33. data/app/views/layouts/ish_manager/application.haml-trash +40 -0
  34. data/app/views/layouts/ish_manager/application2.haml +17 -15
  35. data/config/routes.rb +5 -0
  36. data/config/systemd/system/README.txt +3 -0
  37. data/{lib/systemd/system/watch_stocks.service → config/systemd/system/stockwatcher.service} +0 -0
  38. data/config/systemd/system/watch_stocks.service +13 -0
  39. data/lib/ish_manager/engine.rb +1 -0
  40. data/lib/tasks/ish_manager_tasks.rake +7 -0
  41. data/lib/tasks/migrate.rake +16 -1
  42. data/lib/tasks/{warbler_tasks.rake → warbler_tasks.rake-trash} +15 -1
  43. metadata +105 -32
  44. data/app/controllers/ish_manager/features_controller.rb +0 -150
  45. data/app/controllers/ish_manager/option_watches_controller.rb +0 -60
  46. data/app/controllers/ish_manager/stock_watches_controller.rb +0 -63
  47. data/app/views/ish_manager/application/_main_header_admin.haml-trash +0 -21
  48. data/app/views/ish_manager/maps/index.haml-trash +0 -17
  49. 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 Maps (#{@maps.length}) #{link_to '[+]', new_map_path}
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
- .markers-list
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
- = image_tag marker.image.image.url(:original)
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
- = image_tag marker.image.image.url(:original)
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
- By #{ link_to photo.user.username, user_path(photo.user.username) }
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?
@@ -15,5 +15,5 @@
15
15
  .flex-row
16
16
  = render 'meta_edit', item: @video
17
17
  = render 'ish_manager/application/meta', :item => @video
18
- = link_to @video.video_file_name, @video.video.url
18
+ .flex-row= link_to @video.video_file_name, @video.video.url
19
19
 
@@ -0,0 +1,3 @@
1
+
2
+ The application2 and application layouts are the same. Let's converge.
3
+
@@ -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 => '/favicon.ico?v=1' }
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 => 'Ish CMS - Ish Manager' }
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#application_no_materialize
24
+ %body{ class: [ params[:controller].gsub("ish_manager/",""), "#{params[:controller].gsub("ish_manager/","")}-#{params[:action]}", params[:action]] }
27
25
  .bg-white
28
- - role = current_user ? current_user.profile.role_name : ''
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 :partial => 'ish_manager/application/main_footer'
40
- = render 'debug' if Rails.env.development?
41
- %script{ src: "//cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js" }
42
- :javascript
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
 
@@ -0,0 +1,3 @@
1
+
2
+ actually /lib/systemd/system/watch_stocks.service
3
+
@@ -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
@@ -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
@@ -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
- Warbler::ApplicationMailer.option_alert( option ).deliver
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