From 7881c10d4b3e0c41fed91718fc989e53181647b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20B=C3=BChler?= Date: Sun, 16 Feb 2020 17:44:01 +0100 Subject: [PATCH 1/3] =?UTF-8?q?tags=20k=C3=B6nnen=20getoggelt=20werden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../view/CreateRecipeFragment.kt | 48 +++++++++++++++---- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/view/CreateRecipeFragment.kt b/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/view/CreateRecipeFragment.kt index b04c7f6f..fe260925 100644 --- a/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/view/CreateRecipeFragment.kt +++ b/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/view/CreateRecipeFragment.kt @@ -105,36 +105,66 @@ class CreateRecipeFragment : Fragment() { setPortions(recipe.portions) setPublishedID(recipe.publishedRecipeId) getTagsFromRecipe(recipe.tags) - Log.i(Tagg, recipe.preparation.plus(" DDDDDD"))}) + }) binding.checkBoxVeganCreateRecipeFragment.setOnClickListener{ + if(viewModel.tagCheckBoxVegan.value!!){ + viewModel.tagCheckBoxVegan.value = false + binding.checkBoxVeganCreateRecipeFragment.isChecked = false + }else { viewModel.tagCheckBoxVegan.value = true binding.checkBoxVeganCreateRecipeFragment.isChecked = true + } Log.i(Tagg, viewModel.tagCheckBoxVegan.value.toString().plus( " = vm ; ").plus( binding.checkBoxVeganCreateRecipeFragment.isChecked.toString().plus(" = binding"))) } binding.checkBoxVegetarianCreateRecipeFragment.setOnClickListener{ + if(viewModel.tagCheckBoxVegetarian.value!!){ + viewModel.tagCheckBoxVegetarian.value = false + binding.checkBoxVegetarianCreateRecipeFragment.isChecked = false + }else{ viewModel.tagCheckBoxVegetarian.value = true binding.checkBoxVegetarianCreateRecipeFragment.isChecked = true } + } binding.checkBoxHeartyCreateRecipeFragment.setOnClickListener{ - viewModel.tagCheckBoxSavoury.value = true - binding.checkBoxHeartyCreateRecipeFragment.isChecked = true + if(viewModel.tagCheckBoxSavoury.value!!){ + viewModel.tagCheckBoxSavoury.value = false + binding.checkBoxHeartyCreateRecipeFragment.isChecked = false + }else{ + viewModel.tagCheckBoxSavoury.value = true + binding.checkBoxHeartyCreateRecipeFragment.isChecked = true + } } binding.checkBoxSweetCreateRecipeFragment.setOnClickListener{ - viewModel.tagCheckBoxSweet.value = true - binding.checkBoxSweetCreateRecipeFragment.isChecked = true + if(viewModel.tagCheckBoxSweet.value!!){ + viewModel.tagCheckBoxSweet.value = false + binding.checkBoxSweetCreateRecipeFragment.isChecked = false + }else{ + viewModel.tagCheckBoxSweet.value = true + binding.checkBoxSweetCreateRecipeFragment.isChecked = true + } } binding.checkBoxSaltyCreateRecipeFragment.setOnClickListener{ - viewModel.tagCheckBoxSalty.value = true - binding.checkBoxSaltyCreateRecipeFragment.isChecked = true + if(viewModel.tagCheckBoxSalty.value!!){ + viewModel.tagCheckBoxSalty.value = false + binding.checkBoxSaltyCreateRecipeFragment.isChecked = false + }else{ + viewModel.tagCheckBoxSalty.value = true + binding.checkBoxSaltyCreateRecipeFragment.isChecked = true + } } binding.checkBoxCheap.setOnClickListener{ - viewModel.tagCheckBoxCheap.value = true - binding.checkBoxCheap.isChecked = true + if(viewModel.tagCheckBoxCheap.value!!){ + viewModel.tagCheckBoxCheap.value = false + binding.checkBoxCheap.isChecked = false + }else{ + viewModel.tagCheckBoxCheap.value = true + binding.checkBoxCheap.isChecked = true + } } binding.checkBoxPublishCreateRecipeFragment.setOnClickListener() { view -> if (view is CheckBox) { From 2328a1d7bb0396f95ba9717ebd175bd41d0356cb Mon Sep 17 00:00:00 2001 From: wolf Date: Sun, 16 Feb 2020 18:07:25 +0100 Subject: [PATCH 2/3] speicher rezepte --- .../viewmodel/CreateRecipeViewmodel.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/viewmodel/CreateRecipeViewmodel.kt b/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/viewmodel/CreateRecipeViewmodel.kt index e5128141..24090805 100644 --- a/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/viewmodel/CreateRecipeViewmodel.kt +++ b/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/viewmodel/CreateRecipeViewmodel.kt @@ -4,8 +4,10 @@ import android.content.Context import android.util.Log import android.widget.Toast import androidx.lifecycle.* +import de.psekochbuch.exzellenzkoch.datalayer.remote.service.AuthentificationImpl import de.psekochbuch.exzellenzkoch.domainlayer.domainentities.PrivateRecipe import de.psekochbuch.exzellenzkoch.domainlayer.domainentities.PublicRecipe +import de.psekochbuch.exzellenzkoch.domainlayer.domainentities.User import de.psekochbuch.exzellenzkoch.domainlayer.interfaces.repository.PrivateRecipeRepository import de.psekochbuch.exzellenzkoch.domainlayer.interfaces.repository.PublicRecipeRepository import de.psekochbuch.exzellenzkoch.domainlayer.interfaces.repository.UserRepository @@ -110,7 +112,13 @@ class CreateRecipeViewmodel(privateRepository: PrivateRecipeRepository, */ fun publishRecipe() { - _snackbarMessage.value = "Beim Speichern wird Rezept als öffentlich verfügbar gemacht" + val loggedIn = AuthentificationImpl.isLogIn() + if(loggedIn) { + _snackbarMessage.value = "Beim Speichern wird Rezept als öffentlich verfügbar gemacht" + } + else { + _snackbarMessage.value = "Fehler: Sie sind nicht mit einem Account eingeloggt." + } _showSnackbarEvent.value = true } @@ -159,9 +167,9 @@ class CreateRecipeViewmodel(privateRepository: PrivateRecipeRepository, //Man muss da Zugriff auf den Benutzer haben, // und wenn keiner angemeldet ist soll man ja auch nicht publishen können if(this.tagCheckBoxPublish.value == true){ - //val user = User("Test") + val user = User("Dummy") //val convertedPublicRecipe = newPrivateRecipe.convertToPublicRepipe(AuthentificationImpl.getUserId()) - val convertedPublicRecipe = PublicRecipe(title="Test", imgUrl = newPrivateRecipe.imgUrl) + val convertedPublicRecipe = PublicRecipe(title="Test", user=user,imgUrl = newPrivateRecipe.imgUrl) Log.i("CreateRecipeViewmodel", "bin am veröffentlichen des Rezepts") //Coroutine viewModelScope.launch { From 55f2c8b6945cc5358834f8632cb43a2ec80c0961 Mon Sep 17 00:00:00 2001 From: wolf Date: Sun, 16 Feb 2020 18:16:25 +0100 Subject: [PATCH 3/3] =?UTF-8?q?rezepte=20ver=C3=B6ffentlichen=20geht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../viewmodel/CreateRecipeViewmodel.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/viewmodel/CreateRecipeViewmodel.kt b/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/viewmodel/CreateRecipeViewmodel.kt index 24090805..bb5d876c 100644 --- a/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/viewmodel/CreateRecipeViewmodel.kt +++ b/app/src/main/java/de/psekochbuch/exzellenzkoch/userinterfacelayer/viewmodel/CreateRecipeViewmodel.kt @@ -166,10 +166,12 @@ class CreateRecipeViewmodel(privateRepository: PrivateRecipeRepository, //TODO muss anscheinend seit neuestem ein Feld "User übergeben" //Man muss da Zugriff auf den Benutzer haben, // und wenn keiner angemeldet ist soll man ja auch nicht publishen können - if(this.tagCheckBoxPublish.value == true){ - val user = User("Dummy") - //val convertedPublicRecipe = newPrivateRecipe.convertToPublicRepipe(AuthentificationImpl.getUserId()) - val convertedPublicRecipe = PublicRecipe(title="Test", user=user,imgUrl = newPrivateRecipe.imgUrl) + if(this.tagCheckBoxPublish.value == true && AuthentificationImpl.isLogIn()){ + val userId = AuthentificationImpl.getUserId() + val user = User(userId) + //val _user = userRepo.getUser(userId) + val convertedPublicRecipe = newPrivateRecipe.convertToPublicRepipe(user) + // val convertedPublicRecipe = PublicRecipe(title="Test", user=user,imgUrl = newPrivateRecipe.imgUrl) Log.i("CreateRecipeViewmodel", "bin am veröffentlichen des Rezepts") //Coroutine viewModelScope.launch {