ish_manager 0.1.8.414 → 0.1.8.416

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ad6332705588cd6755bfb1bc2523291c5fa58240f548f7b7d0596123b280918
4
- data.tar.gz: 4fdb537240ff5f95220dc2337f8e2dd49bf3d2cdc05b8ffee7eada2e660d53d6
3
+ metadata.gz: dc54a836a0fb0b1a3c99d313011c26d16e22ba75b6c631b82eec0dcd2854ac7c
4
+ data.tar.gz: aa7e5a284ebb5646eb2288e4e1e9009b4409ed22b08e09895a3a8b1aaec5f78a
5
5
  SHA512:
6
- metadata.gz: feadba78e9e42914933a39332d4f8bdb377c1b75e1d5b61e72511c03f99617b4f8e9b0c396c0e181edf5e3ed4e4a8c72d95bb7034e206a3d8714cb8677ea5102
7
- data.tar.gz: 2b6cbd12bfbdd15717f0400a4ed97e58960ae10668a376a95b95a598f39a64a532296e84a4ce44db4719f3627e2296e0771a9a55985de35165da12ecd0c9b33f
6
+ metadata.gz: 75e169cb64cb20dec6c015c9c8e9c9057cecb7a62549ae25ca6144a90259fcc0c98c99391350b85d25973403eb61ca679305e2fd4195dd905fda28a5e4a5fee9
7
+ data.tar.gz: 15badb0af441666f1b14c3d874e4c9b7dd6e31a7d8a540f8a5f2915fea7f6c041fee9c47f74c0384458a362b04f96c46bee2f67311d5dbb26b8561da34361d28
@@ -7,18 +7,22 @@ $(document).ready(function () {
7
7
 
8
8
 
9
9
  $(".gameuiW").each( function (idx, w) {
10
+ // logg($(w).data(), 'data')
11
+
12
+ let ans
10
13
 
11
14
  let ccStrike = $(w).data('ccStrike')
12
15
  let ccStartPrice = $(w).data('ccStartprice') // e.g. 0.88
13
16
  let ccCurrentPrice = $(w).data('ccCurrentprice')
14
- let cUS = $(w).data('cus')
17
+ let cUS = $(w).data('ccCus')
15
18
 
16
19
  $(".c-u-s").each(function (idx, elem) {
17
20
  $(elem).html(cUS)
18
21
  })
19
22
 
20
23
  $(".windW").each(function (idx, elem) {
21
- $(elem).css('left', (origin - cUS)*scale)
24
+ ans = ( origin - cUS ) * scale
25
+ $(elem).css('left', ans)
22
26
  })
23
27
 
24
28
  $($(w).find('.elephantW')).css('left', (origin - ccStrike)* scale )
@@ -28,24 +32,37 @@ $(document).ready(function () {
28
32
  $(w).find('.riderStart').css('left', -1 * scale * ccStartPrice )
29
33
  $(w).find('.riderStart2').css('width', scale * ccStartPrice )
30
34
 
31
- let currentAmount = ((ccStartPrice - ccCurrentPrice)*100).toPrecision(1)/100
35
+ let currentAmount = ((ccStartPrice - ccCurrentPrice)*100).toPrecision(2)/100
32
36
  let ccCurrentGain = ccStartPrice - ccCurrentPrice
33
- // logg(ccCurrentGain, 'ccCurrentGain')
34
- // logg(currentAmount, 'currentAmount')
35
37
  $(w).find('.riderCurrent > .amount').html( " $" + currentAmount )
36
- let ans = `${-1*ccCurrentGain*scale}px`
37
- logg(ans, 'ans')
38
+ ans = `${-1*ccCurrentGain*scale}px`
38
39
  $(w).find('.riderW').css('left', ans)
39
40
 
40
41
  if (ccCurrentGain > 0) {
41
42
  $(w).find('.riderCurrent').css('width', scale * ccCurrentGain )
42
43
  } else {
43
- ccCurrentGain = -1 * ccCurrentGain
44
- $(w).find('.riderCurrent').css('width', scale * ccCurrentGain )
45
- $(w).find('.riderCurrent').css('background', 'red')
46
- $(w).find('.riderCurrent').css('right', `-${ccCurrentGain*scale}px`)
44
+ $(w).find('.riderCurrent').css('display', 'none')
45
+ $(w).find('.riderCurrent2').css('display', 'block')
46
+ $(w).find('.riderCurrent2').css('width', -1 * scale * ccCurrentGain )
47
47
  $(w).find('.rider').addClass('riderF')
48
48
  }
49
49
  })
50
50
 
51
+
52
+
53
+ $(".gameuiW.next-position").each( function (idx, w) {
54
+ logg($(w).data(), 'next-position')
55
+
56
+ let ans
57
+
58
+ let gainp = $(w).data('ccGainp')
59
+ if (gainp > 0) {
60
+ $(w).find('.elephant').css('border-width', `${gainp*200 + 1}px` )
61
+ $(w).find('.elephantLoss').css('display', 'none')
62
+ } else {
63
+ gainp = -1 * gainp
64
+ $(w).find('.elephantLoss').css('border-width', `${gainp*200 + 1}px` )
65
+ }
66
+ })
67
+
51
68
  })
@@ -122,6 +122,7 @@
122
122
 
123
123
  /*
124
124
  * GameUI in Purse
125
+ * 2023-04-06 _vp_ Continue
125
126
  **/
126
127
  .gameuiW {
127
128
  border: 1px solid #ff9966;
@@ -146,8 +147,8 @@
146
147
  left: 50%;
147
148
  width: 600px;
148
149
 
149
- .gameuiC {
150
- // border: 2px solid red;
150
+ .gameuiC { /* 1/2 of the ground */
151
+ // border: 2px solid #ff9900;
151
152
 
152
153
  background-color: brown;
153
154
 
@@ -181,6 +182,7 @@
181
182
  .elephantW {
182
183
  border: 2px solid black;
183
184
  position: absolute;
185
+ bottom: 0;
184
186
  // left: ?? ; /* data: cc strike */
185
187
  }
186
188
 
@@ -214,9 +216,6 @@
214
216
  .elephantC {
215
217
  // border: 10px solid black;
216
218
 
217
- // width: 10px;
218
- // height: 10px;
219
-
220
219
  z-index: 1;
221
220
  position: absolute;
222
221
  color: #333;
@@ -235,23 +234,8 @@
235
234
  top: -25px;
236
235
  }
237
236
  }
238
-
239
-
240
237
  }
241
238
 
242
- .elephantNext {
243
- // border: 5px solid white;
244
- border-radius: 50%;
245
-
246
- display: none;
247
-
248
- position: absolute;
249
- bottom: -50px;
250
- margin-left: 50px;
251
- transform: scale(1.2);
252
- opacity: 0.33;
253
- background-color: green;
254
- }
255
239
 
256
240
  .groundedW {
257
241
  position: absolute;
@@ -294,15 +278,21 @@
294
278
  }
295
279
 
296
280
  .riderCurrent {
297
- display: none;
298
-
299
- position: absolute;
300
281
  background: #339933;
301
- bottom: -7px;
302
- height: 5px;
303
- right: 0;
304
- // width: 105px;
282
+ left: 0;
283
+ }
305
284
 
285
+ .riderCurrent,
286
+ .riderCurrent2,
287
+ ._ {
288
+ position: absolute;
289
+ bottom: 7px;
290
+ top: -7px;
291
+ }
292
+ .riderCurrent2 {
293
+ display: none;
294
+ lefts: 0;
295
+ background: #993333;
306
296
  }
307
297
  .riderStart {
308
298
  // border: 2px solid #cc33ff;
@@ -387,7 +377,7 @@
387
377
  border: 2px solid blue;
388
378
 
389
379
  position: absolute;
390
- left: 232px; /* Data: current underlying strike */
380
+ // left: 232px; /* Data: current underlying strike */
391
381
  bottom: 0;
392
382
 
393
383
 
@@ -439,3 +429,32 @@
439
429
  }
440
430
  }
441
431
  }
432
+ .next-position {
433
+ .elephant {
434
+ border: 1px solid white; /* 4.5% more */
435
+ border-radius: 50% 50% 0 0;
436
+ // background-size: 120%;
437
+
438
+ background-image: url('https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2023/04/04103931/200x125-elephant-1rmTiny.png');
439
+ width: 200px;
440
+ height: 125px;
441
+
442
+ padding-left: 100px;
443
+
444
+ position: absolute;
445
+ left: -100px;
446
+ bottom: 0;
447
+
448
+ z-index: 1;
449
+ }
450
+ .elephantLoss {
451
+ border: 1px solid red;
452
+ border-radius: 50% 50% 0 0;
453
+ width: 200px;
454
+ height: 125px;
455
+
456
+ position: absolute;
457
+ left: 0;
458
+ bottom: 0;
459
+ }
460
+ }
@@ -33,8 +33,26 @@ class ::IshManager::EmailTemplatesController < ::IshManager::ApplicationControll
33
33
  def iframe_src
34
34
  @tmpl = @email_template = Ish::EmailTemplate.where({ id: params[:id] }).first ||
35
35
  Ish::EmailTemplate.find_by({ slug: params[:id] })
36
- @ctx = Ctx.new({ email_template: @tmpl })
37
36
  authorize! :iframe_src, @email_template
37
+
38
+ @ctx = Ctx.new({ email_template: @tmpl, lead_id: 999 })
39
+
40
+ @utm_tracking_str = {
41
+ # 'v' => 1,
42
+ # 'tid' => 'UA-53077236-2',
43
+ 'cid' => @ctx.lead_id,
44
+ # 'uid' => @ctx.lead_id,
45
+ # 't' => 'event',
46
+ # 'ec' => 'email',
47
+ # 'ea' => 'open',
48
+ # 'cn' => @campaign.slug,
49
+ # 'ci' => @campaign.slug,
50
+ # 'cm' => 'email',
51
+ # 'utm_source' => @campaign.slug,
52
+ 'utm_medium' => 'email',
53
+ 'utm_campaign' => 'campaign-1', # @campaign.slug,
54
+ }.map { |k, v| "#{k}=#{v}" }.join("&")
55
+
38
56
  render layout: false
39
57
  end
40
58
 
@@ -28,6 +28,15 @@ class ::IshManager::IroPositionsController < IshManager::ApplicationController
28
28
  authorize! :new, @position
29
29
  end
30
30
 
31
+ ## prepare to roll
32
+ def roll
33
+ @position = Iro::Position.find( params[:id] )
34
+ # puts! @position, 'zze'
35
+
36
+ authorize! :roll, @position
37
+ @next_positions = Iro::Position.find( 13, 14, 15, 16 )
38
+ end
39
+
31
40
  def update
32
41
  @position = Iro::Position.find params[:id]
33
42
  authorize! :update, @position
@@ -34,9 +34,11 @@ class ::IshManager::IroPursesController < IshManager::ApplicationController
34
34
 
35
35
  @strategies = @purse.strategies
36
36
 
37
+
37
38
  underlyings = Tda::Stock.get_quotes( @strategies.map(&:ticker).compact.uniq.join(",") )
38
- # json_puts! underlyings, 'out'
39
+ json_puts! underlyings, 'out'
39
40
  underlyings.each do |ticker, v|
41
+ puts! v[:mark], 'ze mark'
40
42
  Iro::CoveredCallStrategy.where( ticker: ticker ).update( current_underlying_strike: v[:mark] )
41
43
  end
42
44
 
@@ -31,7 +31,7 @@ class ::IshManager::IroStrategiesController < IshManager::ApplicationController
31
31
  flag = @strategy.update params[:iro_strategy].permit!
32
32
  if flag
33
33
  flash[:notice] = 'Success.'
34
- redirect_to my_purse_path
34
+ redirect_to controller: 'ish_manager/iro_purses', action: :show, id: @strategy.iro_purse_id
35
35
  else
36
36
  flash[:alert] = "No luck: #{@strategy.errors.full_messages.join(', ')}."
37
37
  render action: 'new'
@@ -57,8 +57,16 @@ class IshManager::OfficeMailer < IshManager::ApplicationMailer
57
57
  ## 2023-04-02 _vp_ Continue.
58
58
  def send_context_email ctx_id
59
59
  @ctx = Ctx.find ctx_id
60
+
61
+ @utm_tracking_str = {
62
+ 'cid' => @ctx.lead_id,
63
+ 'utm_medium' => 'email',
64
+ 'utm_campaign' => @ctx.tmpl.slug,
65
+ }.map { |k, v| "#{k}=#{v}" }.join("&")
66
+
60
67
  ac = ActionController::Base.new
61
68
  ac.instance_variable_set( :@ctx, @ctx )
69
+ ac.instance_variable_set( :@utm_tracking_str, @utm_tracking_str )
62
70
 
63
71
  rendered_str = ac.render_to_string("ish_manager/email_templates/_#{@ctx.tmpl.layout}")
64
72
  @ctx.update({
@@ -9,9 +9,9 @@
9
9
  = f.label :slug
10
10
  = f.text_field :slug
11
11
  .col-md-4
12
- .field
12
+ .flex-row
13
13
  = f.label :layout
14
- = f.select :layout, options_for_select(Ish::EmailTemplate::LAYOUTS, selected: email_template.layout)
14
+ = f.select :layout, options_for_select(Ish::EmailTemplate::LAYOUTS, selected: email_template.layout), {}, class: 'select2'
15
15
  .col-md-4
16
16
  .field
17
17
  = f.label "From"
@@ -0,0 +1,749 @@
1
+ <!doctype html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
3
+ <head>
4
+ <!--[if gte mso 15]>
5
+ <xml>
6
+ <o:OfficeDocumentSettings>
7
+ <o:AllowPNG/>
8
+ <o:PixelsPerInch>96</o:PixelsPerInch>
9
+ </o:OfficeDocumentSettings>
10
+ </xml>
11
+ <![endif]-->
12
+ <meta charset="UTF-8">
13
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
14
+ <meta name="viewport" content="width=device-width, initial-scale=1">
15
+ <title><%= @ctx.subject -%></title>
16
+
17
+ <style type="text/css">
18
+ p{
19
+ margin:10px 0;
20
+ padding:0;
21
+ }
22
+ table{
23
+ border-collapse:collapse;
24
+ }
25
+ h1,h2,h3,h4,h5,h6{
26
+ display:block;
27
+ margin:0;
28
+ padding:0;
29
+ }
30
+ img,a img{
31
+ border:0;
32
+ height:auto;
33
+ outline:none;
34
+ text-decoration:none;
35
+ }
36
+ body,#bodyTable,#bodyCell{
37
+ height:100%;
38
+ margin:0;
39
+ padding:0;
40
+ width:100%;
41
+ }
42
+ .mcnPreviewText{
43
+ display:none !important;
44
+ }
45
+ #outlook a{
46
+ padding:0;
47
+ }
48
+ img{
49
+ -ms-interpolation-mode:bicubic;
50
+ }
51
+ table{
52
+ mso-table-lspace:0pt;
53
+ mso-table-rspace:0pt;
54
+ }
55
+ .ReadMsgBody{
56
+ width:100%;
57
+ }
58
+ .ExternalClass{
59
+ width:100%;
60
+ }
61
+ p,a,li,td,blockquote{
62
+ mso-line-height-rule:exactly;
63
+ }
64
+ a[href^=tel],a[href^=sms]{
65
+ color:inherit;
66
+ cursor:default;
67
+ text-decoration:none;
68
+ }
69
+ p,a,li,td,body,table,blockquote{
70
+ -ms-text-size-adjust:100%;
71
+ -webkit-text-size-adjust:100%;
72
+ }
73
+ .ExternalClass,.ExternalClass p,.ExternalClass td,.ExternalClass div,.ExternalClass span,.ExternalClass font{
74
+ line-height:100%;
75
+ }
76
+ a[x-apple-data-detectors]{
77
+ color:inherit !important;
78
+ text-decoration:none !important;
79
+ font-size:inherit !important;
80
+ font-family:inherit !important;
81
+ font-weight:inherit !important;
82
+ line-height:inherit !important;
83
+ }
84
+ #bodyCell{
85
+ padding:10px;
86
+ }
87
+ .templateContainer{
88
+ max-width:600px !important;
89
+ }
90
+ a.mcnButton{
91
+ display:block;
92
+ }
93
+ .mcnImage,.mcnRetinaImage{
94
+ vertical-align:bottom;
95
+ }
96
+ .mcnTextContent{
97
+ word-break:break-word;
98
+ }
99
+ .mcnTextContent img{
100
+ height:auto !important;
101
+ }
102
+ .mcnDividerBlock{
103
+ table-layout:fixed !important;
104
+ }
105
+ /*
106
+ @tab Page
107
+ @section Background Style
108
+ @tip Set the background color and top border for your email. You may want to choose colors that match your company's branding.
109
+ */
110
+ body,#bodyTable{
111
+ /*@editable*/background-color:#FAFAFA;
112
+ }
113
+ /*
114
+ @tab Page
115
+ @section Background Style
116
+ @tip Set the background color and top border for your email. You may want to choose colors that match your company's branding.
117
+ */
118
+ #bodyCell{
119
+ /*@editable*/border-top:0;
120
+ }
121
+ /*
122
+ @tab Page
123
+ @section Email Border
124
+ @tip Set the border for your email.
125
+ */
126
+ .templateContainer{
127
+ /*@editable*/border:0;
128
+ }
129
+ /*
130
+ @tab Page
131
+ @section Heading 1
132
+ @tip Set the styling for all first-level headings in your emails. These should be the largest of your headings.
133
+ @style heading 1
134
+ */
135
+ h1{
136
+ /*@editable*/color:#202020;
137
+ /*@editable*/font-family:Helvetica;
138
+ /*@editable*/font-size:26px;
139
+ /*@editable*/font-style:normal;
140
+ /*@editable*/font-weight:bold;
141
+ /*@editable*/line-height:125%;
142
+ /*@editable*/letter-spacing:normal;
143
+ /*@editable*/text-align:left;
144
+ }
145
+ /*
146
+ @tab Page
147
+ @section Heading 2
148
+ @tip Set the styling for all second-level headings in your emails.
149
+ @style heading 2
150
+ */
151
+ h2{
152
+ /*@editable*/color:#202020;
153
+ /*@editable*/font-family:Helvetica;
154
+ /*@editable*/font-size:22px;
155
+ /*@editable*/font-style:normal;
156
+ /*@editable*/font-weight:bold;
157
+ /*@editable*/line-height:125%;
158
+ /*@editable*/letter-spacing:normal;
159
+ /*@editable*/text-align:left;
160
+ }
161
+ /*
162
+ @tab Page
163
+ @section Heading 3
164
+ @tip Set the styling for all third-level headings in your emails.
165
+ @style heading 3
166
+ */
167
+ h3{
168
+ /*@editable*/color:#202020;
169
+ /*@editable*/font-family:Helvetica;
170
+ /*@editable*/font-size:20px;
171
+ /*@editable*/font-style:normal;
172
+ /*@editable*/font-weight:bold;
173
+ /*@editable*/line-height:125%;
174
+ /*@editable*/letter-spacing:normal;
175
+ /*@editable*/text-align:left;
176
+ }
177
+ /*
178
+ @tab Page
179
+ @section Heading 4
180
+ @tip Set the styling for all fourth-level headings in your emails. These should be the smallest of your headings.
181
+ @style heading 4
182
+ */
183
+ h4{
184
+ /*@editable*/color:#202020;
185
+ /*@editable*/font-family:Helvetica;
186
+ /*@editable*/font-size:18px;
187
+ /*@editable*/font-style:normal;
188
+ /*@editable*/font-weight:bold;
189
+ /*@editable*/line-height:125%;
190
+ /*@editable*/letter-spacing:normal;
191
+ /*@editable*/text-align:left;
192
+ }
193
+ /*
194
+ @tab Preheader
195
+ @section Preheader Style
196
+ @tip Set the background color and borders for your email's preheader area.
197
+ */
198
+ #templatePreheader{
199
+ /*@editable*/background-color:#FAFAFA;
200
+ /*@editable*/background-image:none;
201
+ /*@editable*/background-repeat:no-repeat;
202
+ /*@editable*/background-position:center;
203
+ /*@editable*/background-size:cover;
204
+ /*@editable*/border-top:0;
205
+ /*@editable*/border-bottom:0;
206
+ /*@editable*/padding-top:9px;
207
+ /*@editable*/padding-bottom:9px;
208
+ }
209
+ /*
210
+ @tab Preheader
211
+ @section Preheader Text
212
+ @tip Set the styling for your email's preheader text. Choose a size and color that is easy to read.
213
+ */
214
+ #templatePreheader .mcnTextContent,#templatePreheader .mcnTextContent p{
215
+ /*@editable*/color:#656565;
216
+ /*@editable*/font-family:Helvetica;
217
+ /*@editable*/font-size:12px;
218
+ /*@editable*/line-height:150%;
219
+ /*@editable*/text-align:left;
220
+ }
221
+ /*
222
+ @tab Preheader
223
+ @section Preheader Link
224
+ @tip Set the styling for your email's preheader links. Choose a color that helps them stand out from your text.
225
+ */
226
+ #templatePreheader .mcnTextContent a,#templatePreheader .mcnTextContent p a{
227
+ /*@editable*/color:#656565;
228
+ /*@editable*/font-weight:normal;
229
+ /*@editable*/text-decoration:underline;
230
+ }
231
+ /*
232
+ @tab Header
233
+ @section Header Style
234
+ @tip Set the background color and borders for your email's header area.
235
+ */
236
+ #templateHeader{
237
+ /*@editable*/background-color:#FFFFFF;
238
+ /*@editable*/background-image:none;
239
+ /*@editable*/background-repeat:no-repeat;
240
+ /*@editable*/background-position:center;
241
+ /*@editable*/background-size:cover;
242
+ /*@editable*/border-top:0;
243
+ /*@editable*/border-bottom:0;
244
+ /*@editable*/padding-top:9px;
245
+ /*@editable*/padding-bottom:0;
246
+ }
247
+ /*
248
+ @tab Header
249
+ @section Header Text
250
+ @tip Set the styling for your email's header text. Choose a size and color that is easy to read.
251
+ */
252
+ #templateHeader .mcnTextContent,#templateHeader .mcnTextContent p{
253
+ /*@editable*/color:#202020;
254
+ /*@editable*/font-family:Helvetica;
255
+ /*@editable*/font-size:16px;
256
+ /*@editable*/line-height:150%;
257
+ /*@editable*/text-align:left;
258
+ }
259
+ /*
260
+ @tab Header
261
+ @section Header Link
262
+ @tip Set the styling for your email's header links. Choose a color that helps them stand out from your text.
263
+ */
264
+ #templateHeader .mcnTextContent a,#templateHeader .mcnTextContent p a{
265
+ /*@editable*/color:#007C89;
266
+ /*@editable*/font-weight:normal;
267
+ /*@editable*/text-decoration:underline;
268
+ }
269
+ /*
270
+ @tab Body
271
+ @section Body Style
272
+ @tip Set the background color and borders for your email's body area.
273
+ */
274
+ #templateBody{
275
+ /*@editable*/background-color:#FFFFFF;
276
+ /*@editable*/background-image:none;
277
+ /*@editable*/background-repeat:no-repeat;
278
+ /*@editable*/background-position:center;
279
+ /*@editable*/background-size:cover;
280
+ /*@editable*/border-top:0;
281
+ /*@editable*/border-bottom:2px solid #EAEAEA;
282
+ /*@editable*/padding-top:0;
283
+ /*@editable*/padding-bottom:9px;
284
+ }
285
+ /*
286
+ @tab Body
287
+ @section Body Text
288
+ @tip Set the styling for your email's body text. Choose a size and color that is easy to read.
289
+ */
290
+ #templateBody .mcnTextContent,#templateBody .mcnTextContent p{
291
+ /*@editable*/color:#202020;
292
+ /*@editable*/font-family:Helvetica;
293
+ /*@editable*/font-size:16px;
294
+ /*@editable*/line-height:150%;
295
+ /*@editable*/text-align:left;
296
+ }
297
+ /*
298
+ @tab Body
299
+ @section Body Link
300
+ @tip Set the styling for your email's body links. Choose a color that helps them stand out from your text.
301
+ */
302
+ #templateBody .mcnTextContent a,#templateBody .mcnTextContent p a{
303
+ /*@editable*/color:#007C89;
304
+ /*@editable*/font-weight:normal;
305
+ /*@editable*/text-decoration:underline;
306
+ }
307
+ /*
308
+ @tab Footer
309
+ @section Footer Style
310
+ @tip Set the background color and borders for your email's footer area.
311
+ */
312
+ #templateFooter{
313
+ /*@editable*/background-color:#FAFAFA;
314
+ /*@editable*/background-image:none;
315
+ /*@editable*/background-repeat:no-repeat;
316
+ /*@editable*/background-position:center;
317
+ /*@editable*/background-size:cover;
318
+ /*@editable*/border-top:0;
319
+ /*@editable*/border-bottom:0;
320
+ /*@editable*/padding-top:9px;
321
+ /*@editable*/padding-bottom:9px;
322
+ }
323
+ /*
324
+ @tab Footer
325
+ @section Footer Text
326
+ @tip Set the styling for your email's footer text. Choose a size and color that is easy to read.
327
+ */
328
+ #templateFooter .mcnTextContent,#templateFooter .mcnTextContent p{
329
+ /*@editable*/color:#656565;
330
+ /*@editable*/font-family:Helvetica;
331
+ /*@editable*/font-size:12px;
332
+ /*@editable*/line-height:150%;
333
+ /*@editable*/text-align:center;
334
+ }
335
+ /*
336
+ @tab Footer
337
+ @section Footer Link
338
+ @tip Set the styling for your email's footer links. Choose a color that helps them stand out from your text.
339
+ */
340
+ #templateFooter .mcnTextContent a,#templateFooter .mcnTextContent p a{
341
+ /*@editable*/color:#656565;
342
+ /*@editable*/font-weight:normal;
343
+ /*@editable*/text-decoration:underline;
344
+ }
345
+ @media only screen and (min-width:768px){
346
+ .templateContainer{
347
+ width:600px !important;
348
+ }
349
+
350
+ } @media only screen and (max-width: 480px){
351
+ body,table,td,p,a,li,blockquote{
352
+ -webkit-text-size-adjust:none !important;
353
+ }
354
+
355
+ } @media only screen and (max-width: 480px){
356
+ body{
357
+ width:100% !important;
358
+ min-width:100% !important;
359
+ }
360
+
361
+ } @media only screen and (max-width: 480px){
362
+ .mcnRetinaImage{
363
+ max-width:100% !important;
364
+ }
365
+
366
+ } @media only screen and (max-width: 480px){
367
+ .mcnImage{
368
+ width:100% !important;
369
+ }
370
+
371
+ } @media only screen and (max-width: 480px){
372
+ .mcnCartContainer,.mcnCaptionTopContent,.mcnRecContentContainer,.mcnCaptionBottomContent,.mcnTextContentContainer,.mcnBoxedTextContentContainer,.mcnImageGroupContentContainer,.mcnCaptionLeftTextContentContainer,.mcnCaptionRightTextContentContainer,.mcnCaptionLeftImageContentContainer,.mcnCaptionRightImageContentContainer,.mcnImageCardLeftTextContentContainer,.mcnImageCardRightTextContentContainer,.mcnImageCardLeftImageContentContainer,.mcnImageCardRightImageContentContainer{
373
+ max-width:100% !important;
374
+ width:100% !important;
375
+ }
376
+
377
+ } @media only screen and (max-width: 480px){
378
+ .mcnBoxedTextContentContainer{
379
+ min-width:100% !important;
380
+ }
381
+
382
+ } @media only screen and (max-width: 480px){
383
+ .mcnImageGroupContent{
384
+ padding:9px !important;
385
+ }
386
+
387
+ } @media only screen and (max-width: 480px){
388
+ .mcnCaptionLeftContentOuter .mcnTextContent,.mcnCaptionRightContentOuter .mcnTextContent{
389
+ padding-top:9px !important;
390
+ }
391
+
392
+ } @media only screen and (max-width: 480px){
393
+ .mcnImageCardTopImageContent,.mcnCaptionBottomContent:last-child .mcnCaptionBottomImageContent,.mcnCaptionBlockInner .mcnCaptionTopContent:last-child .mcnTextContent{
394
+ padding-top:18px !important;
395
+ }
396
+
397
+ } @media only screen and (max-width: 480px){
398
+ .mcnImageCardBottomImageContent{
399
+ padding-bottom:9px !important;
400
+ }
401
+
402
+ } @media only screen and (max-width: 480px){
403
+ .mcnImageGroupBlockInner{
404
+ padding-top:0 !important;
405
+ padding-bottom:0 !important;
406
+ }
407
+
408
+ } @media only screen and (max-width: 480px){
409
+ .mcnImageGroupBlockOuter{
410
+ padding-top:9px !important;
411
+ padding-bottom:9px !important;
412
+ }
413
+
414
+ } @media only screen and (max-width: 480px){
415
+ .mcnTextContent,.mcnBoxedTextContentColumn{
416
+ padding-right:18px !important;
417
+ padding-left:18px !important;
418
+ }
419
+
420
+ } @media only screen and (max-width: 480px){
421
+ .mcnImageCardLeftImageContent,.mcnImageCardRightImageContent{
422
+ padding-right:18px !important;
423
+ padding-bottom:0 !important;
424
+ padding-left:18px !important;
425
+ }
426
+
427
+ } @media only screen and (max-width: 480px){
428
+ .mcpreview-image-uploader{
429
+ display:none !important;
430
+ width:100% !important;
431
+ }
432
+
433
+ } @media only screen and (max-width: 480px){
434
+ /*
435
+ @tab Mobile Styles
436
+ @section Heading 1
437
+ @tip Make the first-level headings larger in size for better readability on small screens.
438
+ */
439
+ h1{
440
+ /*@editable*/font-size:22px !important;
441
+ /*@editable*/line-height:125% !important;
442
+ }
443
+
444
+ } @media only screen and (max-width: 480px){
445
+ /*
446
+ @tab Mobile Styles
447
+ @section Heading 2
448
+ @tip Make the second-level headings larger in size for better readability on small screens.
449
+ */
450
+ h2{
451
+ /*@editable*/font-size:20px !important;
452
+ /*@editable*/line-height:125% !important;
453
+ }
454
+
455
+ } @media only screen and (max-width: 480px){
456
+ /*
457
+ @tab Mobile Styles
458
+ @section Heading 3
459
+ @tip Make the third-level headings larger in size for better readability on small screens.
460
+ */
461
+ h3{
462
+ /*@editable*/font-size:18px !important;
463
+ /*@editable*/line-height:125% !important;
464
+ }
465
+
466
+ } @media only screen and (max-width: 480px){
467
+ /*
468
+ @tab Mobile Styles
469
+ @section Heading 4
470
+ @tip Make the fourth-level headings larger in size for better readability on small screens.
471
+ */
472
+ h4{
473
+ /*@editable*/font-size:16px !important;
474
+ /*@editable*/line-height:150% !important;
475
+ }
476
+
477
+ } @media only screen and (max-width: 480px){
478
+ /*
479
+ @tab Mobile Styles
480
+ @section Boxed Text
481
+ @tip Make the boxed text larger in size for better readability on small screens. We recommend a font size of at least 16px.
482
+ */
483
+ .mcnBoxedTextContentContainer .mcnTextContent,.mcnBoxedTextContentContainer .mcnTextContent p{
484
+ /*@editable*/font-size:14px !important;
485
+ /*@editable*/line-height:150% !important;
486
+ }
487
+
488
+ } @media only screen and (max-width: 480px){
489
+ /*
490
+ @tab Mobile Styles
491
+ @section Preheader Visibility
492
+ @tip Set the visibility of the email's preheader on small screens. You can hide it to save space.
493
+ */
494
+ #templatePreheader{
495
+ /*@editable*/display:block !important;
496
+ }
497
+
498
+ } @media only screen and (max-width: 480px){
499
+ /*
500
+ @tab Mobile Styles
501
+ @section Preheader Text
502
+ @tip Make the preheader text larger in size for better readability on small screens.
503
+ */
504
+ #templatePreheader .mcnTextContent,#templatePreheader .mcnTextContent p{
505
+ /*@editable*/font-size:14px !important;
506
+ /*@editable*/line-height:150% !important;
507
+ }
508
+
509
+ } @media only screen and (max-width: 480px){
510
+ /*
511
+ @tab Mobile Styles
512
+ @section Header Text
513
+ @tip Make the header text larger in size for better readability on small screens.
514
+ */
515
+ #templateHeader .mcnTextContent,#templateHeader .mcnTextContent p{
516
+ /*@editable*/font-size:16px !important;
517
+ /*@editable*/line-height:150% !important;
518
+ }
519
+
520
+ } @media only screen and (max-width: 480px){
521
+ /*
522
+ @tab Mobile Styles
523
+ @section Body Text
524
+ @tip Make the body text larger in size for better readability on small screens. We recommend a font size of at least 16px.
525
+ */
526
+ #templateBody .mcnTextContent,#templateBody .mcnTextContent p{
527
+ /*@editable*/font-size:16px !important;
528
+ /*@editable*/line-height:150% !important;
529
+ }
530
+
531
+ } @media only screen and (max-width: 480px){
532
+ /*
533
+ @tab Mobile Styles
534
+ @section Footer Text
535
+ @tip Make the footer content text larger in size for better readability on small screens.
536
+ */
537
+ #templateFooter .mcnTextContent,#templateFooter .mcnTextContent p{
538
+ /*@editable*/font-size:14px !important;
539
+ /*@editable*/line-height:150% !important;
540
+ }
541
+
542
+ }</style></head>
543
+ <body>
544
+ <!--[if !gte mso 9]><!----><span class="mcnPreviewText" style="display:none; font-size:0px; line-height:0px; max-height:0px; max-width:0px; opacity:0; overflow:hidden; visibility:hidden; mso-hide:all;"><%= @ctx.preview_str -%></span><!--<![endif]-->
545
+ <center>
546
+ <table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable">
547
+ <tr>
548
+ <td align="center" valign="top" id="bodyCell">
549
+ <!-- BEGIN TEMPLATE // -->
550
+ <!--[if (gte mso 9)|(IE)]>
551
+ <table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
552
+ <tr>
553
+ <td align="center" valign="top" width="600" style="width:600px;">
554
+ <![endif]-->
555
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" class="templateContainer">
556
+
557
+
558
+
559
+
560
+
561
+
562
+ <!-- herehere begin -->
563
+ <tr>
564
+ <td valign="top" id="templateColumns">
565
+ <!--[if (gte mso 9)|(IE)]>
566
+ <table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
567
+ <tr>
568
+ <td align="center" valign="top" width="300" style="width:300px;">
569
+ <![endif]-->
570
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="300" class="columnWrapper">
571
+ <tbody><tr>
572
+ <td valign="top" class="columnContainer"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnImageCardBlock">
573
+ <tbody class="mcnImageCardBlockOuter">
574
+ <tr>
575
+ <td class="mcnImageCardBlockInner" valign="top" style="padding-top:9px; padding-right:18px; padding-bottom:9px; padding-left:18px;">
576
+
577
+
578
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" >
579
+ <tbody>
580
+ <tr>
581
+ <td valign="bottom" style="padding: 9px 18px; font-family: Helvetica; font-size: 14px; font-weight: normal;" width="246" height="300" >
582
+
583
+ <a href="https://wasya.co?<%= @utm_tracking_str -%>" target="_blank" >
584
+ <img src="https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2022/09/29185755/259x66-WasyaCo-Logo-YellowShadow.png" width=228 alt="Wasya Co" />
585
+ </a>
586
+ <h1 style="margin-left: 30px" >ReactJS</h1>
587
+ <i style="color: #666; margin-left: 30px;">Web Application Development</i>
588
+ &nbsp;<br />&nbsp;<br />&nbsp;<br />
589
+ </td>
590
+ </tr>
591
+ </tbody>
592
+ </table>
593
+
594
+
595
+
596
+
597
+ </td>
598
+ </tr>
599
+ </tbody>
600
+ </table></td>
601
+ </tr>
602
+ </tbody></table>
603
+ <!--[if (gte mso 9)|(IE)]>
604
+ </td>
605
+ <td align="center" valign="top" width="300" style="width:300px;">
606
+ <![endif]-->
607
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="300" class="columnWrapper">
608
+ <tbody><tr>
609
+ <td valign="top" class="columnContainer"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnImageCardBlock">
610
+ <tbody class="mcnImageCardBlockOuter">
611
+ <tr>
612
+ <td class="mcnImageCardBlockInner" valign="top" style="padding-top:9px; padding-right:18px; padding-bottom:9px; padding-left:18px;">
613
+
614
+ <table align="left" border="0" cellpadding="0" cellspacing="0" class="mcnImageCardBottomContent" width="100%" >
615
+ <tbody><tr>
616
+ <td class="mcnImageCardBottomImageContent" align="left" valign="top" style="padding-top:0px; padding-right:0px; padding-bottom:0; padding-left:0px;">
617
+
618
+ </td>
619
+ </tr>
620
+ <tr>
621
+ <td class="mcnTextContent" valign="top" style="padding: 9px 18px; font-family: Helvetica; font-size: 14px; font-weight: normal; text-align: center;" width="246" height="300" >
622
+
623
+
624
+ <img align="center" alt="Poster Illustration" src="https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2023/04/06152121/200x300-poster-1tiny.png" width="200" style="max-width: 200px; padding-bottom: 0; display: inline !important; vertical-align: bottom;" alt="Illustrated Poster" class="mcnImage">
625
+
626
+
627
+ </td>
628
+ </tr>
629
+ </tbody></table>
630
+
631
+
632
+
633
+
634
+ </td>
635
+ </tr>
636
+ </tbody>
637
+ </table></td>
638
+ </tr>
639
+ </tbody></table>
640
+ <!--[if (gte mso 9)|(IE)]>
641
+ </td>
642
+ </tr>
643
+ </table>
644
+ <![endif]-->
645
+ </td>
646
+ </tr>
647
+ <!-- herehere end -->
648
+
649
+
650
+
651
+
652
+ <!-- herehere another begin -->
653
+ <tr>
654
+ <td valign="top" id="templateFooter"><table border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width:100%;">
655
+ <tbody>
656
+ <tr>
657
+ <td align="center" valign="top" style="padding:9px" class="mcnFollowBlockInner">
658
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnFollowContentContainer" style="min-width:100%;">
659
+ <tbody><tr>
660
+ <td width="100" >&nbsp;</td>
661
+ <td align="center" style="padding-left:9px;padding-right:9px;">
662
+
663
+ <h3><a href="https://wasya.co/our-services-2?<%= @utm_tracking_str %>" style="color: #00c8cc;" target="_blank" >https://wasya.co/w/our-services</a></h3>
664
+ <br />
665
+ <h3><a href="https://wasya.co/contact-us-2?<%= @utm_tracking_str %>" style="color: #00c8cc;" target="_blank" >https://wasya.co/w/contact-us</a></h3>
666
+
667
+ </td>
668
+ </tr>
669
+ </tbody></table>
670
+
671
+ </td>
672
+ </tr>
673
+ </tbody>
674
+ </table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnDividerBlock" style="min-width:100%;">
675
+ <tbody class="mcnDividerBlockOuter">
676
+ <tr>
677
+ <td class="mcnDividerBlockInner" style="min-width: 100%; padding: 10px 18px 25px;">
678
+ <table class="mcnDividerContent" border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width: 100%;border-top: 2px solid #EEEEEE;">
679
+ <tbody><tr>
680
+ <td>
681
+ <span></span>
682
+ </td>
683
+ </tr>
684
+ </tbody></table>
685
+ <!--
686
+ <td class="mcnDividerBlockInner" style="padding: 18px;">
687
+ <hr class="mcnDividerContent" style="border-bottom-color:none; border-left-color:none; border-right-color:none; border-bottom-width:0; border-left-width:0; border-right-width:0; margin-top:0; margin-right:0; margin-bottom:0; margin-left:0;" />
688
+ -->
689
+ </td>
690
+ </tr>
691
+ </tbody>
692
+ </table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="min-width:100%;">
693
+ <tbody class="mcnTextBlockOuter">
694
+ <tr>
695
+ <td valign="top" class="mcnTextBlockInner" style="padding-top:9px;">
696
+ <!--[if mso]>
697
+ <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
698
+ <tr>
699
+ <![endif]-->
700
+
701
+ <!--[if mso]>
702
+ <td valign="top" width="600" style="width:600px;">
703
+ <![endif]-->
704
+ <table align="left" border="0" cellpadding="0" cellspacing="0" style="max-width:100%; min-width:100%;" width="100%" class="mcnTextContentContainer">
705
+ <tbody><tr>
706
+
707
+ <td valign="top" class="mcnTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
708
+
709
+ <em>Copyright © 2023 Wasya Co</em>
710
+ <br>
711
+ <strong>Our mailing address is:</strong>
712
+
713
+ 201 W 5th St 11th Floor, Austin, TX 78701
714
+
715
+ <br>
716
+ Want to change how you receive these emails?
717
+ You can <a href="https://wasya.co/unsubscribe-1?<%= @utm_tracking_str -%>">click to unsubscribe</a>.
718
+
719
+ </td>
720
+ </tr>
721
+ </tbody></table>
722
+ <!--[if mso]>
723
+ </td>
724
+ <![endif]-->
725
+
726
+ <!--[if mso]>
727
+ </tr>
728
+ </table>
729
+ <![endif]-->
730
+ </td>
731
+ </tr>
732
+ </tbody>
733
+ </table></td>
734
+ </tr>
735
+ <!-- herehere another end -->
736
+
737
+ </table>
738
+ <!--[if (gte mso 9)|(IE)]>
739
+ </td>
740
+ </tr>
741
+ </table>
742
+ <![endif]-->
743
+ <!-- // END TEMPLATE -->
744
+ </td>
745
+ </tr>
746
+ </table>
747
+ </center>
748
+ </body>
749
+ </html>
@@ -6,8 +6,8 @@
6
6
  %h2.title
7
7
  = @email_template.slug
8
8
  = link_to '[~]', edit_email_template_path( @email_template )
9
- = link_to '[src ^]', '#'
10
- = link_to '[preview ^]', '#'
11
- = link_to '[use]', '#'
9
+ = link_to 'src', email_template_iframe_path(@email_template.slug), target: :_blank
10
+ -# = link_to '[preview ^]', '#'
11
+ -# = link_to '[use]', '#'
12
12
 
13
13
  %iframe{ src: email_template_iframe_path(@email_template.slug), width: '100%', height: '100%' }
@@ -0,0 +1,105 @@
1
+
2
+
3
+ .iro-positions-roll.max-width
4
+
5
+ - p = @position
6
+ .gameuiW.show-amounts{ data: { cc: { strike: p.strike, startPrice: p.opened_price, currentPrice: p.current_price, cus: p.strategy.current_underlying_strike } } }
7
+ .gameui
8
+ .gameuiC
9
+ = link_to '[roll]', roll_iro_position_path(p)
10
+
11
+ .elephantW
12
+ .elephant
13
+ .elephantC
14
+
15
+ .amount
16
+
17
+ .q= p.quantity
18
+
19
+ .riderW
20
+ .rider
21
+ .riderC
22
+
23
+ .riderStart
24
+ .amount
25
+ .riderCurrent
26
+ .amount
27
+
28
+ .riderStart2
29
+ .amount
30
+ .riderCurrent2
31
+ .amount
32
+
33
+
34
+ .sunflowerW
35
+ .sunflower
36
+ .sunflowerC
37
+
38
+ .days-left= (p.expires_on.to_date - Time.now.to_date).to_i
39
+
40
+ .windW
41
+ .wind
42
+ .c-u-s= pp_currency p.strategy.current_underlying_strike
43
+ .windC
44
+
45
+
46
+ .spearW
47
+ .spear
48
+ .spearC
49
+ .spearStart
50
+ .spearCurrent
51
+ .c
52
+
53
+ -# next position
54
+ - @next_positions.each do |p|
55
+ - gainp = p.strike / @position.strike - 1
56
+ .gameuiW.next-position.show-amounts{ data: { cc: { gainp: gainp, strike: p.strike, startPrice: p.current_price, currentPrice: @position.current_price, cus: p.strategy.current_underlying_strike } } }
57
+ .gameui
58
+ .gameuiC
59
+ = link_to '[roll]', roll_iro_position_path(p)
60
+
61
+ .elephantW
62
+
63
+ .elephant
64
+ .elephantLoss
65
+ .elephantC
66
+
67
+ .amount
68
+
69
+ .q= p.quantity
70
+
71
+ .riderW
72
+ .rider
73
+ .riderC
74
+
75
+ .riderStart
76
+ .amount
77
+ .riderCurrent
78
+ .amount
79
+
80
+ .riderStart2
81
+ .amount
82
+ .riderCurrent2
83
+ .amount
84
+
85
+
86
+ .sunflowerW
87
+ .sunflower
88
+ .sunflowerC
89
+
90
+ .days-left= (p.expires_on.to_date - Time.now.to_date).to_i
91
+
92
+ .windW
93
+ .wind
94
+ .c-u-s= pp_currency p.strategy.current_underlying_strike
95
+ .windC
96
+
97
+
98
+ .spearW
99
+ .spear
100
+ .spearC
101
+ .spearStart
102
+ .spearCurrent
103
+ .c
104
+
105
+
@@ -26,8 +26,6 @@
26
26
  Positions (#{@positions.length})
27
27
  = link_to '[+]', new_iro_position_path({ iro_purse_id: @purse.id })
28
28
  .positions
29
-
30
-
31
29
  %table.bordered
32
30
  %thead
33
31
  %tr
@@ -92,7 +90,8 @@
92
90
  %td.q= p.quantity
93
91
  %td.begin-on= pp_date p.opened_on
94
92
  %td.price= p.opened_price
95
- %td.to-open= pp_amount( p.opened_price * 100 * p.quantity )
93
+ %td.to-open
94
+ -# pp_amount( p.opened_price * 100 * p.quantity )
96
95
  %td.begin-delta= sprintf('%.2f', p.opened_delta ) rescue nil
97
96
  %td= pp_money p.current_price
98
97
  %td.net= pp_money ( p.opened_price - p.current_price ) * 100 - 1.3
@@ -9,10 +9,9 @@
9
9
 
10
10
  %h5.collapse-expand#iroPurseConfig
11
11
  Config
12
- -# #{link_to '[~]', edit_iro_purse_path(@purse)}
13
12
  .config
14
- -# %pre= @purse.config
15
13
  = render 'form', iro_purse: @purse
14
+ .c
16
15
 
17
16
  %h5.collapse-expand#strategies
18
17
  Strategies (#{@strategies.length})
@@ -20,12 +19,11 @@
20
19
  .strategies.items
21
20
  - @strategies.each do |strat|
22
21
  .strategy.item= render 'ish_manager/iro_strategies/form', strategy: strat
23
-
22
+ .c
24
23
 
25
24
  %h5.collapse-expand#gameuiPositions
26
25
  Gameui Positions (#{@positions.length})
27
26
  = link_to '[+]', new_iro_position_path({ iro_purse_id: @purse.id })
28
-
29
27
  .gameui-positions
30
28
  - @positions.each do |p|
31
29
 
@@ -33,6 +31,7 @@
33
31
  .gameuiW.show-amounts{ data: { cc: { strike: p.strike, startPrice: p.opened_price, currentPrice: p.current_price, cus: p.strategy.current_underlying_strike } } }
34
32
  .gameui
35
33
  .gameuiC
34
+ = link_to '[roll]', roll_iro_position_path(p)
36
35
 
37
36
  .elephantW
38
37
  .elephant
@@ -50,7 +49,12 @@
50
49
  .amount
51
50
  .riderCurrent
52
51
  .amount
52
+
53
53
  .riderStart2
54
+ .amount
55
+ .riderCurrent2
56
+ .amount
57
+
54
58
 
55
59
  .sunflowerW
56
60
  .sunflower
@@ -69,14 +73,12 @@
69
73
  .spearC
70
74
  .spearStart
71
75
  .spearCurrent
72
-
76
+ .c
73
77
 
74
78
  %h5.collapse-expand#spreadsheetPositions
75
79
  Positions (#{@positions.length})
76
80
  = link_to '[+]', new_iro_position_path({ iro_purse_id: @purse.id })
77
81
  .positions
78
-
79
-
80
82
  %table.bordered
81
83
  %thead
82
84
  %tr
@@ -99,7 +101,7 @@
99
101
  %td
100
102
  .begin-on Begin On
101
103
  %td
102
- .price Price
104
+ .price Begin Price
103
105
  %td
104
106
  .to-open To Open
105
107
  %td
@@ -140,12 +142,15 @@
140
142
  %td.days-left= (p.expires_on.to_date - Time.now.to_date).to_i
141
143
  %td.q= p.quantity
142
144
  %td.begin-on= pp_date p.opened_on
143
- %td.price= p.opened_price
144
- %td.to-open= pp_amount( p.opened_price * 100 * p.quantity )
145
+ %td.price= pp_amount p.opened_price
146
+ %td.to-open
147
+ -# = pp_amount( p.opened_price * p.quantity )
145
148
  %td.begin-delta= sprintf('%.2f', p.opened_delta ) rescue nil
146
149
  %td= pp_money p.current_price
147
- %td.net= pp_money ( p.opened_price - p.current_price ) * 100 - 1.3
148
- %td.netp= pp_percent ( p.opened_price - p.current_price ) / p.opened_price
150
+ %td.net
151
+ = pp_money ( p.opened_price - p.current_price ) - 0.013
152
+ %td.netp
153
+ = pp_percent ( p.opened_price - p.current_price ) / p.opened_price
149
154
  %td= sprintf('%.2f', p.current_delta ) rescue nil
150
155
  %td= (p.expires_on.to_date - p.opened_on).to_i
151
156
  %td.must-roll= pp_bool p.must_roll?
@@ -157,5 +162,5 @@
157
162
  %td.next-delta= p.next_position[:delta]
158
163
  %td.next-outcome= pp_money p.next_outcome
159
164
  %td.state= p.status
160
-
165
+ .c
161
166
 
@@ -2,7 +2,8 @@
2
2
  - url = strategy.new_record? ? iro_strategies_path : iro_strategy_path(strategy)
3
3
  .iro-strategies--form
4
4
  = form_for strategy, url: url, as: :iro_strategy do |f|
5
- = hidden_field_tag 'iro_strategy[iro_purse_id]', params[:iro_purse_id]
5
+ - if params[:iro_purse_id]
6
+ = hidden_field_tag 'iro_strategy[iro_purse_id]', params[:iro_purse_id]
6
7
  .field
7
8
  = "#{strategy.id}." if strategy.id
8
9
  = f.label :slug
data/config/routes.rb CHANGED
@@ -24,6 +24,7 @@ IshManager::Engine.routes.draw do
24
24
  # end
25
25
  # resources :orders
26
26
 
27
+ get 'iro_positions/roll/:id', to: 'iro_positions#roll', as: :roll_iro_position
27
28
  resources :iro_positions
28
29
 
29
30
  resources :iro_watches
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ish_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8.414
4
+ version: 0.1.8.416
5
5
  platform: ruby
6
6
  authors:
7
7
  - piousbox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-06 00:00:00.000000000 Z
11
+ date: 2023-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -418,6 +418,7 @@ files:
418
418
  - app/views/ish_manager/email_templates/_m20221201react.html.erb
419
419
  - app/views/ish_manager/email_templates/_m20221222merryxmas.html.erb
420
420
  - app/views/ish_manager/email_templates/_marketing_react_1.html
421
+ - app/views/ish_manager/email_templates/_marketing_react_2.html.erb
421
422
  - app/views/ish_manager/email_templates/_marketing_ror_1.html
422
423
  - app/views/ish_manager/email_templates/_marketing_ror_2.html.erb
423
424
  - app/views/ish_manager/email_templates/_marketing_wordpress_1.html
@@ -467,6 +468,7 @@ files:
467
468
  - app/views/ish_manager/iro_positions/_form.haml
468
469
  - app/views/ish_manager/iro_positions/edit.haml
469
470
  - app/views/ish_manager/iro_positions/new.haml
471
+ - app/views/ish_manager/iro_positions/roll.haml
470
472
  - app/views/ish_manager/iro_purses/_form.haml
471
473
  - app/views/ish_manager/iro_purses/edit.haml
472
474
  - app/views/ish_manager/iro_purses/new.haml