Ermögliche Hinzufügen von neuem Schuljahr über Fab

master
Niko Diamadis 4 years ago
parent f21fba978a
commit 4cd7240552
Signed by: niko
GPG Key ID: BE53B0B17B1B142E

@ -17,6 +17,7 @@ import com.cyb3rko.techniklogger.CURRENT_YEAR_NAME
import com.cyb3rko.techniklogger.SHARED_PREFERENCE
import com.cyb3rko.techniklogger.databinding.FragmentYearsBinding
import com.cyb3rko.techniklogger.recycler.YearAdapter
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.parse.ParseObject
import com.parse.ParseQuery
import es.dmoral.toasty.Toasty
@ -24,6 +25,8 @@ import es.dmoral.toasty.Toasty
class YearsFragment : Fragment() {
private var _binding: FragmentYearsBinding? = null
private lateinit var myContext: Context
private var adminMode: Boolean? = null
private lateinit var yearAdapter: YearAdapter
private var data: MutableList<ParseObject> = mutableListOf()
private lateinit var sharedPref: SharedPreferences
@ -72,7 +75,26 @@ class YearsFragment : Fragment() {
}
binding.fab.setOnClickListener {
val current = yearAdapter.currentList[0]
val currentYear = current.getString("name")?.split("/")?.get(1)
val new = "$currentYear/${currentYear!!.toInt() + 1}"
MaterialAlertDialogBuilder(myContext)
.setTitle("Neues Schuljahr")
.setMessage("Möchtest du das Schuljahr $new hinzufügen?")
.setPositiveButton(android.R.string.ok) { _, _ ->
ParseObject("Jahr").apply {
put("name", new)
save()
loadEntries()
}
}
.show()
}
if (adminMode == null && sharedPref.getString("name", "") != "") {
updateAdminStatus()
} else if (adminMode != null && adminMode!!) {
binding.fab.visibility = View.VISIBLE
}
}
@ -88,6 +110,7 @@ class YearsFragment : Fragment() {
showAnimation(false)
binding.swipeRefreshLayout.isRefreshing = false
yearAdapter.submitList(data)
(requireActivity() as MainActivity).setActionBarSubtitle(objects.size.toString())
} else {
binding.swipeRefreshLayout.isRefreshing = false
if (data.isEmpty()) {
@ -97,8 +120,32 @@ class YearsFragment : Fragment() {
Log.e("TechnikLogger.JahrSuche", e.message.toString())
}
}
}
private fun updateAdminStatus() {
val query = ParseQuery.getQuery<ParseObject>("Techniker")
query.whereEqualTo("name", sharedPref.getString("name", ""))
query.getFirstInBackground { techniker, e ->
if (e == null) {
if (techniker.getBoolean("admin")) {
adminMode = true
sharedPrefEditor.putBoolean("admin", adminMode!!)
binding.fab.visibility = View.VISIBLE
} else {
adminMode = false
sharedPrefEditor.putBoolean("admin", adminMode!!)
binding.fab.visibility = View.INVISIBLE
}
sharedPrefEditor.putString("technikerId", techniker.objectId).apply()
} else {
binding.fab.visibility = View.INVISIBLE
adminMode = false
sharedPrefEditor.putString("technikerId", "")
sharedPrefEditor.putBoolean("admin", adminMode!!).apply()
Toasty.error(myContext, "Adminstatus unbekannt", Toasty.LENGTH_SHORT).show()
Log.e("TechnikLogger.TechSuche", e.message.toString())
}
}
}
private fun showAnimation(show: Boolean, connected: Boolean = true) {

@ -32,128 +32,15 @@
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
<View
android:id="@+id/fab_bg_Layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/blurBackground"
android:visibility="gone" />
<LinearLayout
android:id="@+id/fab_layout1"
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:padding="4dp"
android:clipToPadding="false"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:layout_marginBottom="16dp"
android:layout_gravity="bottom|end"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:text="Neuer Eintrag" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
app:tint="@null"
app:srcCompat="@drawable/_icon_add"
app:fabSize="mini" />
</LinearLayout>
<LinearLayout
android:id="@+id/fab_layout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:padding="4dp"
android:clipToPadding="false"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:layout_marginBottom="16dp"
android:layout_gravity="bottom|end"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:text="Liste exportieren" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
app:tint="@null"
app:srcCompat="@drawable/_icon_export"
app:fabSize="mini" />
</LinearLayout>
<LinearLayout
android:id="@+id/fab_layout3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:padding="4dp"
android:clipToPadding="false"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:layout_marginBottom="16dp"
android:layout_gravity="bottom|end"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:text="Techniker verwalten" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
app:tint="@null"
app:srcCompat="@drawable/_icon_techniker"
app:fabSize="mini" />
</LinearLayout>
<LinearLayout
android:id="@+id/fab_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:clipToPadding="false"
android:padding="16dp"
android:layout_gravity="bottom|end"
tools:visibility="visible">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
app:tint="@null"
app:srcCompat="@drawable/_icon_dot_menu"
app:fabSize="normal" />
</LinearLayout>
app:srcCompat="@drawable/_icon_add" />
</androidx.constraintlayout.widget.ConstraintLayout>

Loading…
Cancel
Save