ish_manager 0.1.8.468 → 0.1.8.470

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/ish_manager/application.scss +9 -2
  3. data/app/controllers/ish_manager/application_controller.rb +1 -3
  4. data/app/controllers/ish_manager/email_conversations_controller.rb +9 -1
  5. data/app/controllers/ish_manager/email_templates_controller.rb +18 -2
  6. data/app/controllers/ish_manager/lead_action_templates_controller.rb +27 -0
  7. data/app/controllers/ish_manager/lead_actions_controller.rb +10 -0
  8. data/app/controllers/ish_manager/newsitems_controller.rb +18 -5
  9. data/app/controllers/ish_manager/user_profiles_controller.rb +4 -4
  10. data/app/helpers/ish_manager/application_helper.rb +14 -0
  11. data/app/mailers/ish_manager/application_mailer.rb +1 -1
  12. data/app/mailers/ish_manager/office_mailer.rb +14 -9
  13. data/app/views/ish_manager/application/_main_header_admin.haml +7 -4
  14. data/app/views/ish_manager/application/home.haml +85 -5
  15. data/app/views/ish_manager/email_campaigns/_form.haml +1 -1
  16. data/app/views/ish_manager/email_contexts/_form.haml +1 -1
  17. data/app/views/ish_manager/email_layouts/can_unsubscribe.html.erb +0 -0
  18. data/app/views/ish_manager/email_layouts/piousbox_roundborders.html.erb +0 -0
  19. data/app/views/ish_manager/email_layouts/plain.html.erb +0 -0
  20. data/app/views/ish_manager/email_layouts/roundborders.html.erb +0 -0
  21. data/app/views/ish_manager/email_layouts/wco_roundborders.html.erb +0 -0
  22. data/app/views/ish_manager/email_templates/_footer_unsubscribe.html.erb +26 -0
  23. data/app/views/ish_manager/email_templates/_form.haml +11 -1
  24. data/app/views/ish_manager/email_templates/_index.haml +1 -0
  25. data/app/views/ish_manager/email_templates/_m20221201react.html.erb +2 -2
  26. data/app/views/ish_manager/email_templates/_m202309_feedback.html.erb +1153 -0
  27. data/app/views/ish_manager/email_templates/_m202309_holiday_black_friday.html.erb +0 -0
  28. data/app/views/ish_manager/email_templates/_m202309_holiday_christmas.html.erb +0 -0
  29. data/app/views/ish_manager/email_templates/_m202309_holiday_cinco_de_mayo.html.erb +0 -0
  30. data/app/views/ish_manager/email_templates/_m202309_holiday_columbus_day.html.erb +0 -0
  31. data/app/views/ish_manager/email_templates/_m202309_holiday_cyber_monday.html.erb +0 -0
  32. data/app/views/ish_manager/email_templates/_m202309_holiday_easter.html.erb +0 -0
  33. data/app/views/ish_manager/email_templates/_m202309_holiday_fathers_day.html.erb +0 -0
  34. data/app/views/ish_manager/email_templates/_m202309_holiday_flag_day.html.erb +0 -0
  35. data/app/views/ish_manager/email_templates/_m202309_holiday_groundhog_day.html.erb +0 -0
  36. data/app/views/ish_manager/email_templates/_m202309_holiday_halloween.html.erb +0 -0
  37. data/app/views/ish_manager/email_templates/_m202309_holiday_inauguration_day.html.erb +0 -0
  38. data/app/views/ish_manager/email_templates/_m202309_holiday_independence_day.html.erb +0 -0
  39. data/app/views/ish_manager/email_templates/_m202309_holiday_juneteenth.html.erb +0 -0
  40. data/app/views/ish_manager/email_templates/_m202309_holiday_labor_day.html.erb +0 -0
  41. data/app/views/ish_manager/email_templates/_m202309_holiday_may_forth.html.erb +3 -0
  42. data/app/views/ish_manager/email_templates/_m202309_holiday_memorial_day.html.erb +0 -0
  43. data/app/views/ish_manager/email_templates/_m202309_holiday_mlk.html.erb +0 -0
  44. data/app/views/ish_manager/email_templates/_m202309_holiday_mothers_day.html.erb +0 -0
  45. data/app/views/ish_manager/email_templates/_m202309_holiday_newyear.html.erb +0 -0
  46. data/app/views/ish_manager/email_templates/_m202309_holiday_presidents_day.html.erb +0 -0
  47. data/app/views/ish_manager/email_templates/_m202309_holiday_st_patricks.html.erb +0 -0
  48. data/app/views/ish_manager/email_templates/_m202309_holiday_thanksgiving.html.erb +0 -0
  49. data/app/views/ish_manager/email_templates/_m202309_holiday_valentines.html.erb +0 -0
  50. data/app/views/ish_manager/email_templates/_m202309_holiday_veterans_day.html.erb +0 -0
  51. data/app/views/ish_manager/email_templates/_m202309_ror4.html.erb +985 -0
  52. data/app/views/ish_manager/email_templates/_marketing_node_1.html.erb +764 -456
  53. data/app/views/ish_manager/email_templates/edit.haml +3 -0
  54. data/app/views/ish_manager/lead_action_templates/_form.haml +12 -0
  55. data/app/views/ish_manager/lead_action_templates/edit.haml +5 -0
  56. data/app/views/ish_manager/lead_action_templates/index.haml +11 -0
  57. data/app/views/ish_manager/lead_actions/index.haml +12 -0
  58. data/config/routes.rb +12 -0
  59. data/lib/ish_manager.rb +0 -2
  60. data/lib/tasks/office_tasks.rake +15 -5
  61. metadata +40 -5
  62. data/app/controllers/ish_manager/email_unsubscribes_controller.rb +0 -17
  63. data/app/views/ish_manager/email_templates/done/_form.haml +0 -22
  64. data/app/views/ish_manager/email_templates/done/_form2.haml +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a492c50e41c699fff1935a0b1ad87337f6087cab2698ec5f5f3a6f4402db423f
4
- data.tar.gz: 8fcde4b2cb64b7861af5f4833e5b45d8abdf716ebd8d35c79bda5262ac0775ce
3
+ metadata.gz: 83591733d1b01247d332cf8f8530b2054de05f46cc11dba6869193a5b32a1ccb
4
+ data.tar.gz: 4f1443e9c20101dc1b24a7a889478b85933c95c4587e356849bbb49ccbd43711
5
5
  SHA512:
6
- metadata.gz: 4a90d269c7d3290e3867d83e7bd47d2ec8f20c7505930f5d1e93155cc72ef7f722d6b2589adc27f3803d03b1fc0df2f607708c403ee904370e3cb6ce6e38636d
7
- data.tar.gz: 16cd96ad71d52fcfda0f8753f2cdd21d1043aa0b28e114fe04c0c222b3f78654c1f615b08c48e440aadd08cb40b193d604164d6a621b5bdb5324cfd857c02664
6
+ metadata.gz: b1af535f9b4559c5c884741f743a5b6ca0b14bc59b409b7db34ce92d4de345648275ea3826b17f12b43fcad1ed828b6588d538ea3d78e3035a0fb4a6436cf4b4
7
+ data.tar.gz: 5c148eddff5913d73ec126c112801ef1881e868a796b90d8414e30b61012b66f55804bb09cd145f2f19c6b2f569919ca866729e6b2ef39dc79b5c712bdb48d51
@@ -415,7 +415,8 @@ textarea.large {
415
415
  z-index: -1;
416
416
  }
417
417
 
418
- .max-width {
418
+ .max-width,
419
+ .maxwidth {
419
420
  max-width: 1140px;
420
421
  width: 100%;
421
422
  margin: auto;
@@ -539,4 +540,10 @@ div.set-jwt-token {
539
540
  .jwt-token {
540
541
  flex-grow: 1;
541
542
  }
542
- }
543
+ }
544
+
545
+ /* V */
546
+
547
+ .valign-top {
548
+ align-items: flex-start;
549
+ }
@@ -106,7 +106,6 @@ class IshManager::ApplicationController < ActionController::Base
106
106
  @email_actions_list = [[nil,nil]] + Office::EmailAction.all.map { |a| [ a.slug, a.id ] }
107
107
  @email_templates_list = [[nil,nil]] + Ish::EmailTemplate.all.map { |t| [ t.slug, t.id ] }
108
108
  @email_tags_list = [[nil,nil]] + WpTag.email_tags.map { |t| [ t.name, t.id ] }
109
- @galleries_list = Gallery.all.list
110
109
  @leads_list = Lead.list
111
110
  @leadsets_list = Leadset.list
112
111
  @locations_list = ::Gameui::Map.list
@@ -117,14 +116,13 @@ class IshManager::ApplicationController < ActionController::Base
117
116
  @reports_list = Report.all.list
118
117
  @tags_list = [[nil,nil]] + WpTag.all.map { |t| [ t.name, t.id ] }
119
118
  @user_profiles_list = Ish::UserProfile.list
120
- @videos_list = Video.all.list
119
+
121
120
  end
122
121
 
123
122
  def set_title
124
123
  @page_title = "#{ params[:controller].gsub('ish_manager/', '') } #{params[:action]} #{params[:slug]||params[:id]} ".gsub(" ", " ")
125
124
  end
126
125
 
127
-
128
126
  end
129
127
 
130
128
 
@@ -7,6 +7,13 @@ class ::IshManager::EmailConversationsController < IshManager::ApplicationContro
7
7
  authorize! :email_conversations_index, IshManager::Ability
8
8
  @email_conversations = ::Office::EmailConversation.all
9
9
 
10
+ if current_profile.per_page > 100
11
+ flash_notice "Cannot display more than 100 conversations per page."
12
+ per_page = 100
13
+ else
14
+ per_page = current_profile.per_page
15
+ end
16
+
10
17
  if params[:slug]
11
18
  @email_conversations = @email_conversations.in_emailtag( params[:slug] )
12
19
  end
@@ -15,9 +22,10 @@ class ::IshManager::EmailConversationsController < IshManager::ApplicationContro
15
22
  end
16
23
  @email_conversations = @email_conversations.order_by( latest_at: :desc
17
24
  ).page( params[:conv_page]
18
- ).per( current_profile.per_page )
25
+ ).per( per_page )
19
26
  end
20
27
 
28
+
21
29
  def show
22
30
  authorize! :email_conversations_show, IshManager::Ability
23
31
  @email_conversation = ::Office::EmailConversation.find( params[:id] )
@@ -35,8 +35,8 @@ class ::IshManager::EmailTemplatesController < ::IshManager::ApplicationControll
35
35
  Ish::EmailTemplate.find_by({ slug: params[:id] })
36
36
  authorize! :iframe_src, @email_template
37
37
 
38
- pox = Lead.find_by({ email: 'poxlovi@gmail.com' })
39
- @ctx = Ctx.new({ email_template: @tmpl, lead_id: pox.id })
38
+ @lead = Lead.find_by({ email: 'poxlovi@gmail.com' })
39
+ @ctx = Ctx.new({ email_template: @tmpl, lead_id: @lead.id })
40
40
 
41
41
  @utm_tracking_str = {
42
42
  'cid' => @ctx.lead_id,
@@ -45,6 +45,22 @@ class ::IshManager::EmailTemplatesController < ::IshManager::ApplicationControll
45
45
  'utm_source' => @ctx.tmpl.slug,
46
46
  }.map { |k, v| "#{k}=#{v}" }.join("&")
47
47
 
48
+ to = Ishapi::Engine.routes.url_helpers.email_unsubscribes_url({
49
+ template_id: @ctx.tmpl.id,
50
+ lead_id: @lead.id,
51
+ token: @lead.unsubscribe_token,
52
+ })
53
+ obf = Office::ObfuscatedRedirect.find_or_create_by({ to: to })
54
+ @unsubscribe_url = Ishapi::Engine.routes.url_helpers.obf_url( obf.id )
55
+
56
+ to = Ishapi::Engine.routes.url_helpers.users_dashboard_url({
57
+ lead_id: @lead.id,
58
+ })
59
+ obf = Office::ObfuscatedRedirect.find_or_create_by({ to: to })
60
+ @update_preferences_url = Ishapi::Engine.routes.url_helpers.obf_url( obf.id )
61
+
62
+ eval( @ctx.tmpl.config_exe )
63
+
48
64
  render layout: false
49
65
  end
50
66
 
@@ -0,0 +1,27 @@
1
+
2
+ class IshManager::LeadActionTemplatesController < IshManager::ApplicationController
3
+
4
+ def create
5
+ authorize! :create, Office::LeadActionTemplate
6
+ @tmpl = ::Office::LeadActionTemplate.new params[:tmpl].permit!
7
+ if @tmpl.save
8
+ flash_notice 'saved'
9
+ else
10
+ flash_alert "cannot save: #{@tmpl.errors.full_messages.join(', ')}."
11
+ end
12
+ redirect_to action: :index
13
+ end
14
+
15
+ def edit
16
+ @tmpl = Office::LeadActionTemplate.find params[:id]
17
+ authorize! :edit, @tmpl
18
+ end
19
+
20
+ def index
21
+ authorize! :index, Office::LeadActionTemplate
22
+ @tmpls = ::Office::LeadActionTemplate.all
23
+ @new_lat = ::Office::LeadActionTemplate.new
24
+ end
25
+
26
+ end
27
+
@@ -0,0 +1,10 @@
1
+
2
+ class IshManager::LeadActionsController < IshManager::ApplicationController
3
+
4
+ def index
5
+ authorize! :index, Office::LeadAction
6
+ @lead_actions = Office::LeadAction.all
7
+ end
8
+
9
+ end
10
+
@@ -57,11 +57,6 @@ class IshManager::NewsitemsController < IshManager::ApplicationController
57
57
  def edit
58
58
  @newsitem = Newsitem.find( params[:id] )
59
59
  authorize! :edit, @newsitem
60
-
61
- ## @TODO: what on earth is this?
62
- out = Gallery.unscoped.where( :is_trash => false, :user_profile => @current_profile ).order_by( :created_at => :desc )
63
- @galleries_list = [['', nil]] + out.map { |item| [ "#{item.created_at.strftime('%Y%m%d')} #{item.name}", item.id ] }
64
-
65
60
  end
66
61
 
67
62
  def index
@@ -99,5 +94,23 @@ class IshManager::NewsitemsController < IshManager::ApplicationController
99
94
 
100
95
  end
101
96
 
97
+ ##
98
+ ## private
99
+ ##
100
+ private
101
+
102
+ def set_lists
103
+
104
+ ## NO SUPER!
105
+ # super
106
+
107
+ # out = Gallery.unscoped.where( :is_trash => false, :user_profile => @current_profile ).order_by( :created_at => :desc )
108
+ # @galleries_list = [['', nil]] + out.map { |item| [ "#{item.created_at.strftime('%Y%m%d')} #{item.name}", item.id ] }
109
+
110
+ @galleries_list = Gallery.all.list
111
+ @videos_list = Video.all.list
112
+
113
+ end
114
+
102
115
  end
103
116
 
@@ -18,9 +18,9 @@ class IshManager::UserProfilesController < IshManager::ApplicationController
18
18
  raise "cannot save profile.user: #{@user.errors.full_messages} profile errors: #{@user_profile.errors.full_messages}"
19
19
  end
20
20
  if @user_profile.save
21
- flash[:notice] = "Created profile"
21
+ flash_notice "Created profile."
22
22
  else
23
- flash[:alert] = "Cannot create profile: #{@user_profile.errors.messages}"
23
+ flash_alert "Cannot create profile: #{@user_profile.errors.messages} ."
24
24
  end
25
25
  redirect_to :action => :index
26
26
  end
@@ -67,9 +67,9 @@ class IshManager::UserProfilesController < IshManager::ApplicationController
67
67
  flag = @profile.update_attributes params[:profile].permit!
68
68
 
69
69
  if flag
70
- flash[:notice] = "Updated profile #{@profile.email}"
70
+ flash_notice "Updated profile #{@profile.email} ."
71
71
  else
72
- flash[:alert] = "Cannot update profile: #{@profile.errors.full_messages}"
72
+ flash_alert "Cannot update profile: #{@profile.errors.full_messages} ."
73
73
  end
74
74
  if params[:redirect_to]
75
75
  redirect_to params[:redirect_to]
@@ -34,6 +34,20 @@ module IshManager
34
34
  # "/manager/email_contexts/for_lead/#{lead.id.to_s}"
35
35
  # end
36
36
 
37
+ ##
38
+ ## O
39
+ ##
40
+
41
+ def obfuscate link
42
+ puts! link, 'obfuscate helper'
43
+ obf = Office::ObfuscatedRedirect.find_or_create_by({ to: link })
44
+ return Ishapi::Engine.routes.url_helpers.obf_url( obf.id )
45
+ end
46
+
47
+ ##
48
+ ## P
49
+ ##
50
+
37
51
  def pp_errors errors
38
52
  return errors
39
53
  end
@@ -1,7 +1,7 @@
1
1
 
2
2
  module IshManager
3
3
  class ApplicationMailer < ActionMailer::Base
4
- default from: 'WasyaCo Consulting <no-reply@wasya.co>'
4
+ default from: 'WasyaCo Consulting <no-reply@wco.com.de>'
5
5
  layout 'mailer'
6
6
 
7
7
  def shared_galleries profiles, gallery
@@ -1,6 +1,6 @@
1
1
 
2
2
  class IshManager::OfficeMailer < IshManager::ApplicationMailer
3
- default from: 'WasyaCo Consulting & Software Development <no-reply@mail.wasyaco.com>'
3
+ default from: 'WasyaCo Mailer <no-reply@wco.com.de>'
4
4
 
5
5
  ## 2023-04-02 _vp_ Continue.
6
6
  def send_context_email ctx_id
@@ -13,25 +13,30 @@ class IshManager::OfficeMailer < IshManager::ApplicationMailer
13
13
  'utm_source' => @ctx.tmpl.slug,
14
14
  }.map { |k, v| "#{k}=#{v}" }.join("&")
15
15
 
16
- ac = ActionController::Base.new
17
- ac.instance_variable_set( :@ctx, @ctx )
18
- ac.instance_variable_set( :@lead, @ctx.lead )
19
- ac.instance_variable_set( :@utm_tracking_str, @utm_tracking_str )
16
+ @domain = Rails.application.config.action_mailer.default_url_options[:host]
17
+ @origin = "https://#{Rails.application.config.action_mailer.default_url_options[:host]}"
18
+
19
+ renderer = ActionController::Base.new
20
+ renderer.instance_variable_set( :@ctx, @ctx )
21
+ renderer.instance_variable_set( :@lead, @ctx.lead )
22
+ renderer.instance_variable_set( :@utm_tracking_str, @utm_tracking_str )
23
+
24
+ eval( @ctx.tmpl.config_exe )
20
25
 
21
26
  if 'plain' == @ctx.tmpl.layout
22
27
  rendered_str = ERB.new( @ctx.body ).result( @ctx.get_binding )
23
28
  else
24
- rendered_str = ac.render_to_string("ish_manager/email_templates/_#{@ctx.tmpl.layout}")
29
+ rendered_str = renderer.render_to_string("ish_manager/email_templates/_#{@ctx.tmpl.layout}")
25
30
  end
26
31
  @ctx.update({
27
32
  rendered_str: rendered_str,
28
33
  sent_at: Time.now.to_s,
29
34
  })
30
35
 
31
- mail( from: @ctx.from_email,
32
- to: @ctx.to_email,
36
+ mail( from: @ctx.from_email,
37
+ to: @ctx.to_email,
33
38
  subject: ERB.new( @ctx.subject ).result( @ctx.get_binding ),
34
- body: rendered_str,
39
+ body: rendered_str,
35
40
  content_type: "text/html" )
36
41
  end
37
42
 
@@ -3,6 +3,8 @@
3
3
  .application--main-header-admin.main-header{ class: "#{ENV['RAILS_ENV']} #{ENV['RAILS_ENV'][0...3]=="dev" ? "development" : ''}" }
4
4
  %i.fa.fa-compress.collapse-expand#collapseHeaderMain
5
5
  Piousbox Suite
6
+ = link_to '[Current Issue]', '/'
7
+ = link_to '[Dashboard]', '/manager'
6
8
  .container
7
9
 
8
10
  %i.fa.fa-compress.collapse-expand#collapseHeaderPiCMS
@@ -64,8 +66,6 @@
64
66
  = form_tag leadsets_path, method: :get do
65
67
  = text_field_tag :q
66
68
  = link_to '[+]', new_leadset_path
67
-
68
-
69
69
  %li
70
70
  = link_to "EActions (#{Office::EmailAction.count})", email_actions_path
71
71
  = link_to '[+]', new_email_action_path
@@ -91,8 +91,11 @@
91
91
  = link_to '[+]', new_scheduled_email_action_path
92
92
 
93
93
  %ul
94
- %li &nbsp;
95
- %li &nbsp;
94
+ %li
95
+ = link_to 'Lead Actions', lead_actions_path
96
+ %li
97
+ = link_to 'Lead Action Templatess', lead_action_templates_path
98
+ -# = link_to '[+]', new_lead_action_template_path
96
99
  %li
97
100
  = link_to "Campaigns (#{Ish::EmailCampaign.count})", email_campaigns_path
98
101
  = link_to '[+]', new_email_campaign_path
@@ -1,8 +1,15 @@
1
1
 
2
- .application-home.max-width
3
- %h5 Welcome home
2
+ - yesterday = (Time.now - 1.day ).strftime('%Y-%m-%d')
3
+ - month_ago = (Time.now - 28.days ).strftime('%Y-%m-%d')
4
+ - month2_ago = (Time.now - 56.days ).strftime('%Y-%m-%d')
5
+ - month4_ago = (Time.now - 112.days ).strftime('%Y-%m-%d')
4
6
 
5
- .a
7
+ .application-home
8
+
9
+ .center
10
+ %h2 Welcome Home
11
+
12
+ .maxwidth.flex-row.justify-content-center
6
13
 
7
14
  .bordered-card
8
15
  = form_tag "https://www.cgtrader.com/free-3d-models", method: :get, target: :_blank do
@@ -23,11 +30,84 @@
23
30
  = text_field_tag "search"
24
31
  = submit_tag 'search'
25
32
 
33
+ .flex-row.valign-top.justify-content-center
34
+
35
+ .bordered-card
36
+ %h5.center Wasya Co KPI's
37
+ %ul
38
+ %li
39
+ = link_to 'Visits 1,2 mo', "https://analytics.wasya.co/index.php?module=CoreHome&action=index&idSite=2&period=day&date=yesterday#?period=range&date=#{month_ago},#{yesterday}&category=Dashboard_Dashboard&subcategory=1&comparePeriods%5B%5D=range&compareDates%5B%5D=#{month2_ago},#{month_ago}", target: :_blank
40
+ %li
41
+ = link_to 'Visits 2,4 mo', "https://analytics.wasya.co/index.php?module=CoreHome&action=index&idSite=2&period=day&date=yesterday#?period=range&date=#{month2_ago},#{yesterday}&category=Dashboard_Dashboard&subcategory=1&comparePeriods%5B%5D=range&compareDates%5B%5D=#{month4_ago},#{month2_ago}", target: :_blank
42
+ %li
43
+ = link_to 'Google Webmasters', 'https://search.google.com/search-console?utm_source=about-page&resource_id=https://wasya.co/'
44
+ %li
45
+ = link_to 'Bing Webmasters', 'https://www.bing.com/webmasters/home?siteUrl=https://wasya.co/'
46
+ %li
47
+ = link_to 'Persistent advertisement messages ', '#'
48
+ %br
49
+ (CL, maybe reddit?)
50
+ %li= link_to 'N Sitemap Pages', '#'
51
+ %li= link_to 'N Email Messages', '#'
52
+ %li= link_to 'N Email Filters', '#'
53
+ %li= link_to 'N Email Autoresponds', '#'
54
+ %li= link_to 'N Email templates', '#'
55
+ %li= link_to 'N Email campaigns', '#'
56
+
57
+ %hr
58
+
59
+ %li= link_to 'N mautic form responses', '#'
60
+
61
+ %hr
62
+
63
+ %li= link_to 'this month revenue', '#'
64
+ %li= link_to 'possible future revenue', '#'
26
65
 
27
66
  .bordered-card
28
- %h5.center KPI's
67
+ %h5.center Piousbox KPI's
29
68
  %ul
30
- %li= link_to 'WasyaCo Visits', '#'
69
+ %li
70
+ = link_to 'Visits', "https://analytics.wasya.co/index.php?module=CoreHome&action=index&idSite=3&period=day&date=yesterday#?period=day&date=yesterday&category=Dashboard_Dashboard&subcategory=1&idSite=3"
71
+ %li
72
+ = link_to 'Visits 2,4 mo', "https://analytics.wasya.co/index.php?module=CoreHome&action=index&idSite=3&period=day&date=yesterday#?period=range&date=#{month2_ago},#{yesterday}&category=Dashboard_Dashboard&subcategory=1&comparePeriods%5B%5D=range&compareDates%5B%5D=#{month4_ago},#{month2_ago}", target: :_blank
73
+ %li
74
+ = link_to 'Google Webmasters', 'https://search.google.com/search-console?resource_id=sc-domain%3Apiousbox.com'
75
+ %li
76
+ = link_to 'Bing Webmasters', 'https://www.bing.com/webmasters/home?siteUrl=https://piousbox.com'
77
+ %li= link_to 'N Sitemap Pages', '#'
78
+
79
+ %hr
80
+ %li= link_to 'Gym', '#'
81
+ %li
82
+ = link_to 'Aggressive Twice-a-day', '#'
83
+ = link_to '[~]', '#'
84
+
85
+
86
+ .bordered-card
87
+ %h5.center Infinite Shelter KPI's
88
+ %ul
89
+ %li
90
+ = link_to 'Visits', "https://analytics.wasya.co/index.php?module=CoreHome&action=index&idSite=5&period=day&date=yesterday#?period=day&date=yesterday&category=Dashboard_Dashboard&subcategory=1&idSite=3"
91
+ %li
92
+ = link_to 'Google Webmasters', 'https://search.google.com/search-console?resource_id=sc-domain%3Ainfiniteshelter.com'
93
+ %li
94
+ = link_to 'Bing Webmasters', 'https://www.bing.com/webmasters/home?siteUrl=https://infiniteshelter.com'
95
+ %li= link_to 'N contributed content', '#'
96
+
97
+ .bordered-card
98
+ %h5.center DemmiTV KPI's
99
+ %ul
100
+ %li
101
+ = link_to 'Visits', "https://analytics.wasya.co/index.php?module=CoreHome&action=index&idSite=5&period=day&date=yesterday#?period=day&date=yesterday&category=Dashboard_Dashboard&subcategory=1&idSite=3"
102
+ %li
103
+ = link_to 'Google Webmasters', 'https://search.google.com/search-console?resource_id=sc-domain%3Ainfiniteshelter.com'
104
+ %li
105
+ = link_to 'Bing Webmasters', 'https://www.bing.com/webmasters/home?siteUrl=https://infiniteshelter.com'
106
+ %li= link_to 'N Sitemap Pages', '#'
107
+
108
+ %li= link_to 'N contributed content', '#'
109
+
110
+ .maxwidth.flex-row.justify-content-center
31
111
 
32
112
  .bordered-card
33
113
  %h5.center KPI sent contexts
@@ -21,7 +21,7 @@
21
21
 
22
22
  .field
23
23
  = f.label "From"
24
- = f.select :from_email, options_for_select(Ish::EmailContext.from_email_list, selected: campaign.from_email), {}, class: 'select2'
24
+ = f.select :from_email, options_for_select(Ish::EmailTemplate.from_email_list, selected: campaign.from_email), {}, class: 'select2'
25
25
 
26
26
  .actions
27
27
  = f.submit 'Submit'
@@ -12,7 +12,7 @@
12
12
 
13
13
  .field
14
14
  = f.label "From"
15
- = f.select :from_email, options_for_select(Ish::EmailContext.from_email_list, selected: ctx.from_email)
15
+ = f.select :from_email, options_for_select(Ish::EmailTemplate.from_email_list, selected: ctx.from_email)
16
16
 
17
17
  .field.flex-row
18
18
  = f.label "To lead"
@@ -0,0 +1,26 @@
1
+ <table align="left" border="0" cellpadding="0" cellspacing="0"
2
+ style="max-width:100%; min-width:100%;" width="100%"
3
+ class="mcnTextContentContainer">
4
+ <tbody>
5
+ <tr>
6
+
7
+ <td valign="top" class="mcnTextContent"
8
+ style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
9
+
10
+ <em>Copyright © Wasya Co</em><br><br>
11
+
12
+ <strong>Our mailing address is:</strong><br>
13
+
14
+ 201 W 5th St 11th Floor, Austin, TX 78701<br><br>
15
+
16
+ Want to change how you receive these emails?<br>
17
+
18
+ You can <%= link_to 'update your preferences', @update_preferences_url %> or
19
+
20
+ <%= link_to 'unsubscribe from this list', @unsubscribe_url %>.<br><br>
21
+
22
+ </td>
23
+
24
+ </tr>
25
+ </tbody>
26
+ </table>
@@ -15,13 +15,16 @@
15
15
  .col-md-4
16
16
  .field
17
17
  = f.label "From"
18
- = f.select :from_email, options_for_select(Ish::EmailContext.from_email_list, selected: email_template.from_email)
18
+ = f.select :from_email, options_for_select(Ish::EmailTemplate.from_email_list, selected: email_template.from_email)
19
19
  .field.field-subject
20
20
  = f.label :subject
21
21
  = f.text_field :subject
22
22
  .field
23
23
  = f.label :preview_str
24
24
  = f.text_field :preview_str
25
+ .field
26
+ = f.label :can_unsubscribe
27
+ = f.check_box :can_unsubscribe
25
28
 
26
29
 
27
30
  .tab-labels
@@ -36,6 +39,13 @@
36
39
  -# .descr= render "ish_manager/email_templates/#{email_template.layout}", ctx: Ish::EmailContext.new, tmpl: email_template
37
40
  %iframe{ src: email_template_iframe_path(email_template), width: '100%', height: '100%' }
38
41
 
42
+ .field
43
+ = f.label :config_json
44
+ = f.text_area :config_json
45
+
46
+ .field
47
+ = f.label :config_exe
48
+ = f.text_area :config_exe
39
49
 
40
50
  .actions
41
51
  = f.submit 'Save'
@@ -3,6 +3,7 @@
3
3
 
4
4
  %h3.center.collapse-expand#emailTemplatesIndex
5
5
  Email Templates (#{Ish::EmailTemplate.all.count})
6
+ = link_to '[+]', new_email_template_path
6
7
 
7
8
  = paginate @templates, :param_name => :templates_page, :views_prefix => 'ish_manager'
8
9
  .email-templates-index.max-width
@@ -840,7 +840,7 @@
840
840
  <td align="center" valign="middle" class="mcnButtonContent"
841
841
  style="font-family: Helvetica; font-size: 18px; padding: 18px;">
842
842
  <a class="mcnButton " title="Wasya Co Project Intake for ReactJs Development"
843
- href="https://wasya.co/contact-us-2/" target="_blank"
843
+ href="https://wasyaco.com/contact-us-2/" target="_blank"
844
844
  style="font-weight: bold;letter-spacing: -0.5px;line-height: 100%;text-align: center;text-decoration: none;color: #FFFFFF;"
845
845
  >Tell us About your Project!</a>
846
846
  </td>
@@ -1040,7 +1040,7 @@
1040
1040
  style="font-family: Helvetica; font-size: 18px;">
1041
1041
  <a class="mcnButton "
1042
1042
  title="Wasya Co Project Intake for ReactJs Development"
1043
- href="https://wasya.co/our-work/" target="_blank"
1043
+ href="https://wasyaco.com/our-work/" target="_blank"
1044
1044
  style="padding: 18px; font-weight: bold;letter-spacing: -0.5px;line-height: 100%;text-align: center;text-decoration: none;color: #FFFFFF;"
1045
1045
  >See Our Successful <br />ReactJs Deliveries</a>
1046
1046
  </td>