Merge remote-tracking branch 'server/master'

This commit is contained in:
Axel Uhl committed 2016-04-01 14:58:08 +02:00
commit c949e1c805
9 files changed
+27 -7

No files matched your search

+1 -1
View File
@@ -6,7 +6,7 @@ buildscript {
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:2.1.0-alpha1' classpath 'com.android.tools.build:gradle:2.1.0-alpha4'
} }
} }
@@ -35,13 +35,13 @@ public class EventsResource extends AbstractSailingServerResource {
@GET @GET
@Produces("application/json;charset=UTF-8") @Produces("application/json;charset=UTF-8")
public Response getEvents() { public Response getEvents(@QueryParam("showNonPublic") String showNonPublic) {
// TODO bug2589, bug3504: the following will require EVENT:READ permission; it requires cross-server links to be authentication aware... // TODO bug2589, bug3504: the following will require EVENT:READ permission; it requires cross-server links to be authentication aware...
// SecurityUtils.getSubject().checkPermission(Permission.EVENT.getStringPermission(Permission.Mode.READ)); // SecurityUtils.getSubject().checkPermission(Permission.EVENT.getStringPermission(Permission.Mode.READ));
JsonSerializer<EventBase> eventSerializer = new EventBaseJsonSerializer(new VenueJsonSerializer(new CourseAreaJsonSerializer()), new LeaderboardGroupBaseJsonSerializer()); JsonSerializer<EventBase> eventSerializer = new EventBaseJsonSerializer(new VenueJsonSerializer(new CourseAreaJsonSerializer()), new LeaderboardGroupBaseJsonSerializer());
JSONArray result = new JSONArray(); JSONArray result = new JSONArray();
for (EventBase event : getService().getAllEvents()) { for (EventBase event : getService().getAllEvents()) {
if (event.isPublic()) { if ((showNonPublic != null && Boolean.valueOf(showNonPublic)) || event.isPublic()) {
result.add(eventSerializer.serialize(event)); result.add(eventSerializer.serialize(event));
} }
} }
@@ -1 +1 @@
${git.branch}-${git.commit.id.abbrev} (${git.commit.time}) ubilabs--rcapp--bug-3450-8c0c286 (Fri Apr 01 10:45:04 CEST 2016)
@@ -482,4 +482,7 @@
<string name="preference_heading_with_declination_subtracted_summary_is_disabled">Missweisend</string> <string name="preference_heading_with_declination_subtracted_summary_is_disabled">Missweisend</string>
<string name="preference_heading_with_declination_subtracted_enabled">Kursanzeige</string> <string name="preference_heading_with_declination_subtracted_enabled">Kursanzeige</string>
<string name="preference_non_public_events_header">Zeige nicht öffentliche Events</string>
<string name="preference_non_public_events_summary">Lade alle Events, auch die nicht öffentlichen.</string>
</resources> </resources>
@@ -108,4 +108,7 @@
<item>Dark</item> <item>Dark</item>
<item>Light</item> <item>Light</item>
</string-array> </string-array>
<string name="preference_non_public_events_key" translatable="false">show_non_public_events</string>
<bool name="preference_non_public_events_default" translatable="false">false</bool>
</resources> </resources>
@@ -509,4 +509,6 @@
<string name="preference_heading_with_declination_subtracted_summary_is_disabled">North-based</string> <string name="preference_heading_with_declination_subtracted_summary_is_disabled">North-based</string>
<string name="preference_heading_with_declination_subtracted_enabled">Heading</string> <string name="preference_heading_with_declination_subtracted_enabled">Heading</string>
<string name="preference_non_public_events_header">Show Non Public Events</string>
<string name="preference_non_public_events_summary">Load all events including the no public one.</string>
</resources> </resources>
@@ -60,6 +60,12 @@
android:key="@string/preference_mail_key" android:key="@string/preference_mail_key"
android:title="@string/settings_advanced_mail_header"/> android:title="@string/settings_advanced_mail_header"/>
<CheckBoxPreference
android:defaultValue="@bool/preference_non_public_events_default"
android:key="@string/preference_non_public_events_key"
android:summary="@string/preference_non_public_events_summary"
android:title="@string/preference_non_public_events_header"/>
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="@bool/preference_allow_demo_default" android:defaultValue="@bool/preference_allow_demo_default"
android:key="@string/preference_allow_demo_key" android:key="@string/preference_allow_demo_key"
@@ -462,4 +462,9 @@ public class AppPreferences {
return preferences.getBoolean(context.getString(R.string.preference_heading_with_declination_subtracted_key), return preferences.getBoolean(context.getString(R.string.preference_heading_with_declination_subtracted_key),
context.getResources().getBoolean(R.bool.preference_heading_with_declination_subtracted_default)); context.getResources().getBoolean(R.bool.preference_heading_with_declination_subtracted_default));
} }
public String showNonPublic() {
return preferences.getBoolean(context.getString(R.string.preference_non_public_events_key),
context.getResources().getBoolean(R.bool.preference_non_public_events_default)) ? "true" : "false";
}
} }
@@ -120,8 +120,9 @@ public class OnlineDataManager extends DataManager {
DataHandler<Collection<EventBase>> handler = new EventsDataHandler(OnlineDataManager.this); DataHandler<Collection<EventBase>> handler = new EventsDataHandler(OnlineDataManager.this);
// ExLog.i(context, TAG, "getEventsLoader created new loader..."); // ExLog.i(context, TAG, "getEventsLoader created new loader...");
List<Util.Pair<String, Object>> params = new ArrayList<>();
URL url = UrlHelper.generateUrl(preferences.getServerBaseURL(), "/sailingserver/api/v1/events", null); params.add(new Util.Pair<String, Object>("showNonPublic", AppPreferences.on(context).showNonPublic()));
URL url = UrlHelper.generateUrl(preferences.getServerBaseURL(), "/sailingserver/api/v1/events", params);
return new OnlineDataLoader<Collection<EventBase>>(context, return new OnlineDataLoader<Collection<EventBase>>(context,
url, parser, handler); url, parser, handler);
} }