diff --git a/app/src/main/java/com/cyb3rko/techniklogger/data/ParseController.kt b/app/src/main/java/com/cyb3rko/techniklogger/data/ParseController.kt index 5c89b4b..54e4483 100644 --- a/app/src/main/java/com/cyb3rko/techniklogger/data/ParseController.kt +++ b/app/src/main/java/com/cyb3rko/techniklogger/data/ParseController.kt @@ -29,6 +29,9 @@ object ParseController { ) { val query = getQuery(false) query.whereEqualTo(Member.COLUMN_NAME, name) + query.selectKeys(listOf( + Member.COLUMN_ADMIN + )) query.getFirstInBackground { member, e -> if (e == null) { action(member.objectId, member.admin, e) @@ -41,6 +44,9 @@ object ParseController { internal fun fetchYears(action: (entries: List, e: ParseException?) -> Unit) { val query = getQuery() query.orderByDescending(Year.COLUMN_NAME) + query.selectKeys(listOf( + Year.COLUMN_NAME + )) query.findInBackground { years, e -> if (e == null) { action(years, null) @@ -53,6 +59,12 @@ object ParseController { action: (mission: Mission?, e: ParseException?) -> Unit ) { val query = getQuery() + query.selectKeys(listOf( + Mission.COLUMN_DATE, + Mission.COLUMN_DURATION, + Mission.COLUMN_LOCATION, + Mission.COLUMN_NAME + )) query.getInBackground(objectId) { mission, e -> if (e == null) { action(mission, null) @@ -67,8 +79,14 @@ object ParseController { action: (missions: List, e: ParseException?) -> Unit ) { val query = getQuery() - query.orderByDescending(Mission.COLUMN_DATE) query.whereEqualTo(Mission.COLUMN_YEAR, Year.emptyObject(year)) + query.orderByDescending(Mission.COLUMN_DATE) + query.selectKeys(listOf( + Mission.COLUMN_DATE, + Mission.COLUMN_DURATION, + Mission.COLUMN_LOCATION, + Mission.COLUMN_NAME + )) query.findInBackground { missions, e -> if (e == null) { action(missions, null) @@ -85,6 +103,16 @@ object ParseController { ) { val query = getQuery(false) query.whereEqualTo(Participation.COLUMN_IN, Mission.emptyObject(missionId)) + val keys = if (includeMember) { + listOf( + Participation.COLUMN_BY, + Participation.COLUMN_DURATION, + Participation.COLUMN_TIME + ) + } else { + listOf() + } + query.selectKeys(keys) if (includeMember) query.include(Participation.COLUMN_BY) query.findInBackground { participations, e -> if (e == null) { @@ -97,6 +125,7 @@ object ParseController { } internal fun fetchMembers( + includeInformation: Boolean, action: ( members: List, memberNames: List, @@ -106,6 +135,16 @@ object ParseController { val query = getQuery(false) query.whereEqualTo(Member.COLUMN_RETIRED, false) query.orderByAscending(Member.COLUMN_NAME) + val keys = if (includeInformation) { + listOf( + Member.COLUMN_ADMIN, + Member.COLUMN_NAME, + Member.COLUMN_RETIRED + ) + } else { + listOf(Member.COLUMN_NAME) + } + query.selectKeys(keys) query.findInBackground { members, e -> if (e == null) { val names = mutableListOf() diff --git a/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Member.kt b/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Member.kt index 6be0233..68093d0 100644 --- a/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Member.kt +++ b/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Member.kt @@ -27,9 +27,9 @@ internal class Member : ParseObject() { companion object { internal const val CLASS_NAME = "Techniker" - private const val COLUMN_ADMIN = "admin" - internal const val COLUMN_RETIRED = "entlassen" + internal const val COLUMN_ADMIN = "admin" internal const val COLUMN_NAME = "name" + internal const val COLUMN_RETIRED = "entlassen" internal fun emptyObject(objectId: String): Member { return createWithoutData(Member::class.java, objectId) diff --git a/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Mission.kt b/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Mission.kt index 6d43c1c..944dbd2 100644 --- a/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Mission.kt +++ b/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Mission.kt @@ -53,9 +53,9 @@ internal class Mission : ParseObject() { internal const val CLASS_NAME = "Einsatz" internal const val COLUMN_DATE = "datum" - private const val COLUMN_DURATION = "dauer" - private const val COLUMN_LOCATION = "ort" - private const val COLUMN_NAME = "name" + internal const val COLUMN_DURATION = "dauer" + internal const val COLUMN_LOCATION = "ort" + internal const val COLUMN_NAME = "name" internal const val COLUMN_YEAR = "jahr" internal fun emptyObject(objectId: String): Mission { diff --git a/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Participation.kt b/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Participation.kt index 53cd2b3..cb3699d 100644 --- a/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Participation.kt +++ b/app/src/main/java/com/cyb3rko/techniklogger/data/objects/Participation.kt @@ -33,9 +33,9 @@ internal class Participation : ParseObject() { internal const val CLASS_NAME = "Teilnahme" internal const val COLUMN_BY = "von" - private const val COLUMN_DURATION = "dauer" + internal const val COLUMN_DURATION = "dauer" internal const val COLUMN_IN = "an" - private const val COLUMN_TIME = "uhrzeit" + internal const val COLUMN_TIME = "uhrzeit" internal fun emptyObject(objectId: String): Participation { return createWithoutData(Participation::class.java, objectId) diff --git a/app/src/main/java/com/cyb3rko/techniklogger/fragments/ManageMembersFragment.kt b/app/src/main/java/com/cyb3rko/techniklogger/fragments/ManageMembersFragment.kt index 5b1d342..e71a5a4 100644 --- a/app/src/main/java/com/cyb3rko/techniklogger/fragments/ManageMembersFragment.kt +++ b/app/src/main/java/com/cyb3rko/techniklogger/fragments/ManageMembersFragment.kt @@ -88,7 +88,7 @@ class ManageMembersFragment : Fragment() { memberNames ) - ParseController.fetchMembers { members, memberNames, e -> + ParseController.fetchMembers(true) { members, memberNames, e -> if (e == null) { val adapter = ArrayAdapter( myContext, diff --git a/app/src/main/java/com/cyb3rko/techniklogger/fragments/MissionFragment.kt b/app/src/main/java/com/cyb3rko/techniklogger/fragments/MissionFragment.kt index cc84310..b295a40 100644 --- a/app/src/main/java/com/cyb3rko/techniklogger/fragments/MissionFragment.kt +++ b/app/src/main/java/com/cyb3rko/techniklogger/fragments/MissionFragment.kt @@ -323,7 +323,7 @@ class MissionFragment : Fragment() { } private fun otherAdd() { - ParseController.fetchMembers { members, memberNames, e -> + ParseController.fetchMembers(false) { members, memberNames, e -> if (e == null) { val currentSelection = BooleanArray(members.size) memberNames.forEachIndexed { index, name ->