Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Fixed some small bugs under category display naming
  • Loading branch information
k-joseph committed Aug 2, 2015
1 parent a58ee0d commit ca90cda
Show file tree
Hide file tree
Showing 6 changed files with 129 additions and 28 deletions.
Expand Up @@ -462,16 +462,16 @@ public JSONObject restorePreferences() {

public JSONObject saveOrUpdatePreferences(Boolean enableHistory, Boolean enableBookmarks, Boolean enableNotes,
Boolean enableQuickSearches, Boolean enableDefaultSearch,
Boolean enableDuplicateResults, Boolean enableMultiFiltering, JSONArray cats) {
Boolean enableDuplicateResults, Boolean enableMultiFiltering, String[] cats) {
List<ChartSearchPreference> allPrefs = chartSearchService.getAllChartSearchPreferences();
Boolean exists = false;
ChartSearchPreference preference = new ChartSearchPreference();

if (cats != null && !cats.isEmpty()) {
for (int i = 0; i < cats.size(); i++) {
JSONObject json = cats.getJSONObject(i);
String uuid = json.getString("uuid");
String name = json.getString("name");
if (cats != null && cats.length != 0) {
for (int i = 0; i < cats.length; i++) {
String[] catUuidAndName = cats[i].split("<=>");
String uuid = catUuidAndName[0];
String name = catUuidAndName[1];
CategoryFilter cat = chartSearchService.getACategoryFilterByItsUuid(uuid);

if (StringUtils.isNotBlank(uuid) && StringUtils.isNotBlank(name) && cat != null) {
Expand Down
Expand Up @@ -53,8 +53,6 @@ public static ChartSearchService getChartSearchService() {
return chartSearchService;
}

private ChartSearchCache cache = new ChartSearchCache();

public static String generateJson() {

JSONObject jsonToReturn = new JSONObject();
Expand Down Expand Up @@ -106,6 +104,7 @@ public static String generateJson() {
jsonToReturn.put("patientAppointments", appointments);
jsonToReturn.put("allLocations", getChartSearchService().getAllLocationsFromTheDB());
jsonToReturn.put("allProviders", getChartSearchService().getAllProvidersFromTheDB());
jsonToReturn.put("categoryFilters", generateAllCategoriesJSON());

addBothPersonalAndGlobalNotesToJSON(searchPhrase, patientId, jsonToReturn);

Expand Down
@@ -0,0 +1,99 @@
package org.openmrs.module.chartsearch;

import net.sf.json.JSONArray;

public class PreferenceJSON {

private boolean history;

private boolean bookmarks;

private boolean notes;

private boolean quickSearches;

private boolean defaultSearch;

private boolean duplicateResults;

private boolean multiFiltering;

private JSONArray categories;

public PreferenceJSON(boolean history, boolean bookmarks, boolean notes, boolean quickSearches, boolean defaultSearch,
boolean duplicateResults, boolean multiFiltering, JSONArray categories) {
this.history = history;
this.bookmarks = bookmarks;
this.notes = notes;
this.quickSearches = quickSearches;
this.defaultSearch = defaultSearch;
this.duplicateResults = duplicateResults;
this.multiFiltering = multiFiltering;
this.categories = categories;
}

public boolean isHistory() {
return history;
}

public boolean isBookmarks() {
return bookmarks;
}

public boolean isNotes() {
return notes;
}

public boolean isQuickSearches() {
return quickSearches;
}

public boolean isDefaultSearch() {
return defaultSearch;
}

public boolean isDuplicateResults() {
return duplicateResults;
}

public boolean isMultiFiltering() {
return multiFiltering;
}

public JSONArray getCategories() {
return categories;
}

public void setHistory(boolean history) {
this.history = history;
}

public void setBookmarks(boolean bookmarks) {
this.bookmarks = bookmarks;
}

public void setNotes(boolean notes) {
this.notes = notes;
}

public void setQuickSearches(boolean quickSearches) {
this.quickSearches = quickSearches;
}

public void setDefaultSearch(boolean defaultSearch) {
this.defaultSearch = defaultSearch;
}

public void setDuplicateResults(boolean duplicateResults) {
this.duplicateResults = duplicateResults;
}

public void setMultiFiltering(boolean multiFiltering) {
this.multiFiltering = multiFiltering;
}

public void setCategories(JSONArray categories) {
this.categories = categories;
}

}
Expand Up @@ -35,7 +35,7 @@ public JSONObject saveOrUpdatePrefereces(@RequestParam("history") Boolean enable
@RequestParam("defaultSearch") Boolean enableDefaultSearch,
@RequestParam("duplicateResults") Boolean enableDuplicateResults,
@RequestParam("multiFiltering") Boolean enableMultiFiltering,
@RequestParam("categories[]") JSONArray cats) {
@RequestParam("categories[]") String[] cats) {

return cache.saveOrUpdatePreferences(enableHistory, enableBookmarks, enableNotes, enableQuickSearches,
enableDefaultSearch, enableDuplicateResults, enableMultiFiltering, cats);
Expand Down
13 changes: 9 additions & 4 deletions omod/src/main/webapp/fragments/managePreferences.gsp
Expand Up @@ -94,21 +94,24 @@
var multiFiltering = jq("#enable_multiplefiltering").prop('checked');
var url = "${ ui.actionLink('restoreDefaultPrefereces') }";
var data = {};
var categories = {};
var categories = [];
jq(".pref-cat-names").each(function(event) {
var id = jq(this).attr("id");
var name = jq(this).val();
var json = { "uuid" : id, "name" : name };
var obj = id + "<=>" + name;
categories.push(json);
if(name !== "") {
categories.push(obj);
}
});
if(isNotDefault === true) {
url = "${ ui.actionLink('saveOrUpdatePrefereces') }";
data = {"history" : history, "bookmarks" : bookmarks, "notes" : notes, "quickSearches" : quickSearches, "defaultSearch" : defaultSearch, "duplicateResults" : duplicateResults, "multiFiltering" : multiFiltering, "categories" : categories};
}
console.log(data);
if(isNotDefault === false && (confirm("Are you sure you want to Restore Preferences?")) || isNotDefault === true) {
jq.ajax({
type: "POST",
Expand All @@ -119,7 +122,9 @@
updatePreferencesDisplay(prefs);
alert("Successfully Updated Preferences");
},
error: function(e) {}
error: function(e) {
alert(e);
}
});
}
}
Expand Down
28 changes: 13 additions & 15 deletions omod/src/main/webapp/resources/scripts/views_factory.js
Expand Up @@ -1137,13 +1137,12 @@ function displayCategories(json) {
var count = json.facets[i].facet.count;
var displaycheckBox;
var displayDetail;
var displayName = name;
var displayName = capitalizeFirstLetter(name);

for (i = 0; i < json.categoryFilters.length; i++) {
if (capitalizeFirstLetter(json.categoryFilters[i].name) === capitalizeFirstLetter(name)) {
displayName = json.categoryFilters[i].displayName === undefined ? json.categoryFilters[i].name
: json.categoryFilters[i].displayName;
break;
for (j = 0; j < json.categoryFilters.length; j++) {
if (capitalizeFirstLetter(json.categoryFilters[j].name) === capitalizeFirstLetter(name)
&& json.categoryFilters[j].displayName !== undefined) {
displayName = json.categoryFilters[j].displayName;
}
}

Expand All @@ -1155,7 +1154,7 @@ function displayCategories(json) {
displayDetail = "<a href='' class='select_one_category' id='select_"
+ name
+ "_category'>"
+ capitalizeFirstLetter(displayName)
+ displayName
+ "</a> ("
+ count
+ ") </div>";
Expand All @@ -1167,7 +1166,7 @@ function displayCategories(json) {
displayDetail = "<a href='' class='select_one_category' id='select_"
+ name
+ "_category'>"
+ capitalizeFirstLetter(displayName)
+ displayName
+ "</a> ("
+ count
+ ") </div>";
Expand All @@ -1187,13 +1186,12 @@ function displayCategories(json) {
function displayNonFacetCategories(cats, catName, json) {
var displayNonFacetcheckBox;
var displayNonFacetDetail;
var displayName = catName;
var displayName = capitalizeFirstLetter(catName);

for (i = 0; i < json.categoryFilters.length; i++) {
if (capitalizeFirstLetter(json.categoryFilters[i].name) === capitalizeFirstLetter(catName)) {
displayName = json.categoryFilters[i].displayName === undefined ? json.categoryFilters[i].name
: json.categoryFilters[i].displayName;
break;
if (capitalizeFirstLetter(json.categoryFilters[i].name) === capitalizeFirstLetter(catName)
&& json.categoryFilters[i].displayName !== undefined) {
displayName = json.categoryFilters[i].displayName;
}
}

Expand All @@ -1205,7 +1203,7 @@ function displayNonFacetCategories(cats, catName, json) {
displayNonFacetDetail = "<a href='' class='select_one_category' id='select_"
+ catName
+ "_category'>"
+ capitalizeFirstLetter(displayName)
+ displayName
+ "</a> (" + cats.length + ") </div>";
} else {
displayNonFacetcheckBox = "<div class='category_filter_item-disabled'><input class='category_check' id='"
Expand All @@ -1215,7 +1213,7 @@ function displayNonFacetCategories(cats, catName, json) {
displayNonFacetDetail = "<a href='' class='select_one_category' id='select_"
+ catName
+ "_category'>"
+ capitalizeFirstLetter(displayName)
+ displayName
+ "</a> (" + 0 + ") </div>";
}
document.getElementById('inside_filter_categories').innerHTML += displayNonFacetcheckBox
Expand Down

0 comments on commit ca90cda

Please sign in to comment.