Skip to content

Commit 4f03e8f

Browse files
authored
Merge pull request #155 from DNNMonster/bugfix/validate-refs
Add property ref validation
2 parents e763884 + c3b7666 commit 4f03e8f

File tree

7 files changed

+46
-3
lines changed

7 files changed

+46
-3
lines changed

App_LocalResources/General.ascx.fr-FR.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,4 +1209,7 @@
12091209
<data name="DealerOnly.Text" xml:space="preserve">
12101210
<value>Revendeur Seulement</value>
12111211
</data>
1212+
<data name="RefValidationMessage.Text" xml:space="preserve">
1213+
<value>La référence doit être en minuscules alphanumériques uniquement sans espaces vides.</value>
1214+
</data>
12121215
</root>

App_LocalResources/General.ascx.nl-NL.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1224,6 +1224,9 @@
12241224
<data name="owner.Text" xml:space="preserve">
12251225
<value>Eigenaar</value>
12261226
</data>
1227+
<data name="RefValidationMessage.Text" xml:space="preserve">
1228+
<value>Ref mag alleen in kleine letters alfanumeriek zijn zonder lege spaties.</value>
1229+
</data>
12271230
<data name="PropertyGroupAddSearchBox.Text" xml:space="preserve">
12281231
<value>Zoekvak toevoegen</value>
12291232
</data>

App_LocalResources/General.ascx.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1233,6 +1233,9 @@
12331233
<data name="Carttotal.Text" xml:space="preserve">
12341234
<value>Subtotal</value>
12351235
</data>
1236+
<data name="RefValidationMessage.Text" xml:space="preserve">
1237+
<value>Ref should be lower case alpha numeric only with no empty spaces.</value>
1238+
</data>
12361239
<data name="PropertyGroupAddSearchBox.Text" xml:space="preserve">
12371240
<value>Add Search Box</value>
12381241
</data>

App_LocalResources/general.ascx.it-IT.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,4 +1050,7 @@
10501050
<data name="DealerOnly.Text" xml:space="preserve">
10511051
<value>Commerciante Solo</value>
10521052
</data>
1053+
<data name="RefValidationMessage.Text" xml:space="preserve">
1054+
<value>Ref dovrebbe essere solo alfanumerico minuscolo senza spazi vuoti.</value>
1055+
</data>
10531056
</root>

Components/Categories/CategoryFunctions.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,23 @@ public String DeleteCategory(HttpContext context, string editType = "")
194194
public String CategoryAdminSaveList(HttpContext context)
195195
{
196196
var ajaxInfoList = NBrightBuyUtils.GetAjaxInfoList(context);
197+
var strOut = "";
198+
var regex = new Regex(@"^[a-z0-9]+$");
199+
var isPropertyList = (context.Request.QueryString.Get("cmd") == "property_admin_savelist");
197200

198201
foreach (var nbi in ajaxInfoList)
199202
{
203+
204+
// validate property refs
205+
if (isPropertyList) {
206+
var propertyRef = nbi.GetXmlProperty("genxml/textbox/propertyref");
207+
if (propertyRef != "" && !regex.IsMatch(propertyRef))
208+
{
209+
strOut = "Error: Invalid Ref. Only use lower case alpha numeric values. No spaces. " + propertyRef;
210+
break;
211+
};
212+
}
213+
200214
if (nbi.GetXmlPropertyBool("genxml/hidden/isdirty"))
201215
{
202216
var categoryData = CategoryUtils.GetCategoryData(nbi.GetXmlPropertyInt("genxml/hidden/itemid"), nbi.GetXmlProperty("genxml/hidden/categorylang"));
@@ -213,7 +227,7 @@ public String CategoryAdminSaveList(HttpContext context)
213227
}
214228
DataCache.ClearCache();
215229
NBrightBuyUtils.RemoveModCachePortalWide(PortalSettings.Current.PortalId);
216-
return "";
230+
return strOut;
217231
}
218232

219233
public String ProductAdminSave(HttpContext context, string editLangCurrent)

Themes/config/default/Admin_Property.cshtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<input id="selecttaxrate" type="hidden" value="" />
2929
<input id="selectedgroup" type="hidden" value="" />
3030
<input id="nextlang" type="hidden" value="" />
31+
<input id="refvalidationmessage" type="hidden" value="@ResourceKey("General.RefValidationMessage")" />
3132
</span>
3233

3334

Themes/config/js/admin_property.js

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,24 @@
176176

177177
$('#propertyAdmin_cmdSaveList').unbind("click");
178178
$("#propertyAdmin_cmdSaveList").click(function () {
179-
$('.processing').show();
180-
nbxget('property_admin_savelist', '.propertyfields', '', '.propertyitemfields');
179+
180+
var regEx = /[^a-z\d]/i;
181+
var elems = ".propertyitemfields input#propertyref";
182+
var isValid = ($(elems).length > 0);
183+
$(elems).each(function(){
184+
isValid = !(regEx.test($(this).val()));
185+
if (!isValid) {
186+
alert($("#refvalidationmessage").val());
187+
$(this).select();
188+
return false;
189+
}
190+
});
191+
192+
if (isValid) {
193+
$('.processing').show();
194+
nbxget('property_admin_savelist', '.propertyfields', '', '.propertyitemfields');
195+
}
196+
181197
});
182198

183199
$('.categorynametextbox').unbind("change");

0 commit comments

Comments
 (0)