diff --git a/vasl_templates/webapp/data/default-template-pack/ob_ma_notes.j2 b/vasl_templates/webapp/data/default-template-pack/ob_ma_notes.j2
index b5421f0..9b28e2e 100644
--- a/vasl_templates/webapp/data/default-template-pack/ob_ma_notes.j2
+++ b/vasl_templates/webapp/data/default-template-pack/ob_ma_notes.j2
@@ -16,6 +16,7 @@
.ma-note table th { padding: 2px 10px 2px 5px ; text-align: left ; background: #f0f0f0 ; }
.ma-note table td { padding: 0 10px 0 5px ; }
.extra-notes-caption { border: 1px solid #e0e0e0 ; background: #fcfcfc ; font-weight: bold ; padding: 2px 5px ; }
+.disabled { color: #808080 ; }
.slashed { text-decoration: line-through ; }
@@ -36,7 +37,9 @@
{%if OB_MA_NOTES%}
{%for ma_note in OB_MA_NOTES%}
- {{ma_note}}
+ {%if not ma_note[0]%} {%endif%}
+ {{ma_note[1]}}
+ {%if not ma_note[0]%} {%endif%}
{%endfor%}
{%endif%}
@@ -44,7 +47,9 @@
|
{%if OB_EXTRA_MA_NOTES_CAPTION%} {%endif%}
{%for ma_note in OB_EXTRA_MA_NOTES%}
- {{ma_note}}
+ {%if not ma_note[0]%} {%endif%}
+ {{ma_note[1]}}
+ {%if not ma_note[0]%} {%endif%}
{%endfor%}
{%endif%}
diff --git a/vasl_templates/webapp/static/snippets.js b/vasl_templates/webapp/static/snippets.js
index 892bb94..62eb28b 100644
--- a/vasl_templates/webapp/static/snippets.js
+++ b/vasl_templates/webapp/static/snippets.js
@@ -254,13 +254,17 @@ function make_snippet( $btn, params, extra_params, show_date_warnings )
key = key.substring( pos+1 ) ;
}
}
- if ( ! ma_note && gUserSettings["hide-unavailable-ma-notes"] )
+ if ( !ma_note && gUserSettings["hide-unavailable-ma-notes"] )
continue ;
- params[ param_name ].push(
+ // NOTE: We don't exclude disabled multi-applicable notes, since it can be confusing for
+ // the user (e.g. a vehicle references note X, but note X is not there), so instead,
+ // we allow them to be styled to have less visual impact.
+ var ma_note_enabled = ma_note && ma_note.indexOf( "" ) === -1 ;
+ params[ param_name ].push( [ ma_note_enabled,
extn_marker +
"" + key + ":" + " " +
(ma_note || "Unavailable.")
- ) ;
+ ] ) ;
}
}
function get_ma_notes( vo_type, player_no, param_name ) {
diff --git a/vasl_templates/webapp/tests/fixtures/data/default-template-pack/ob_ma_notes.j2 b/vasl_templates/webapp/tests/fixtures/data/default-template-pack/ob_ma_notes.j2
index 32f1e65..be3f267 100644
--- a/vasl_templates/webapp/tests/fixtures/data/default-template-pack/ob_ma_notes.j2
+++ b/vasl_templates/webapp/tests/fixtures/data/default-template-pack/ob_ma_notes.j2
@@ -1,8 +1,8 @@
-{%for ma_note in OB_MA_NOTES%} [*] {{ma_note}}
+{%for ma_note in OB_MA_NOTES%} [*] {{ma_note[1]}}
{%endfor%}
{%if OB_EXTRA_MA_NOTES%}
{%if OB_EXTRA_MA_NOTES_CAPTION%} === {{OB_EXTRA_MA_NOTES_CAPTION}} === {%endif%}
-{%for ma_note in OB_EXTRA_MA_NOTES%} [*] {{ma_note}}
+{%for ma_note in OB_EXTRA_MA_NOTES%} [*] {{ma_note[1]}}
{%endfor%}
{%endif%}
diff --git a/vasl_templates/webapp/tests/test_vasl_extensions.py b/vasl_templates/webapp/tests/test_vasl_extensions.py
index df74f17..ec7c9a8 100644
--- a/vasl_templates/webapp/tests/test_vasl_extensions.py
+++ b/vasl_templates/webapp/tests/test_vasl_extensions.py
@@ -422,6 +422,7 @@ def _extract_extn_ma_notes( clipboard ): #pylint: disable=missing-docstring
# just enough for us to determine whether we're showing the right one or not.
for i,ma_note in enumerate(ma_notes):
is_extn = "❖" in ma_note
- mo = re.search( r"(.+?):(.*)", ma_note )
- ma_notes[i] = is_extn, mo.group(1).strip(), mo.group(2).strip()[:20]
+ mo = re.search( r"(.+?):(.*)", ma_note, re.DOTALL )
+ val = mo.group(2).replace( "", "" )
+ ma_notes[i] = is_extn, mo.group(1).strip(), val.strip()[:20]
return ma_notes
diff --git a/vasl_templates/webapp/vasl_mod.py b/vasl_templates/webapp/vasl_mod.py
index 1fa3ae3..c98babc 100644
--- a/vasl_templates/webapp/vasl_mod.py
+++ b/vasl_templates/webapp/vasl_mod.py
@@ -429,7 +429,7 @@ def get_vo_gpids( vasl_mod ):
for vo_type in ("vehicles","ordnance"):
for vo_entries in listings[ vo_type ].values():
for vo_entry in vo_entries:
- vo_gpids = vo_entry[ "gpid" ]
+ vo_gpids = vo_entry.get( "gpid" )
if not vo_gpids:
continue
gpids.update(
|