From 528e749d79dceed48c19049d995bc3258931fab1 Mon Sep 17 00:00:00 2001 From: Borgia Leiva Date: Thu, 12 Feb 2026 11:44:29 +0100 Subject: [PATCH] Adapted project creation form --- .../ui/CreateProjectActivity.kt | 73 ++++++---- .../res/layout/activity_create_project.xml | 137 +++++++++--------- 2 files changed, 114 insertions(+), 96 deletions(-) diff --git a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/CreateProjectActivity.kt b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/CreateProjectActivity.kt index a0e80e4..521add0 100644 --- a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/CreateProjectActivity.kt +++ b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/CreateProjectActivity.kt @@ -3,9 +3,8 @@ package com.campusaula.edbole.kanban_clone_android.ui import android.content.Intent import android.os.Bundle import android.util.Log -import android.widget.AutoCompleteTextView import android.widget.Button -import android.widget.MultiAutoCompleteTextView +import android.widget.EditText import android.widget.Toast import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity @@ -25,8 +24,8 @@ class CreateProjectActivity : AppCompatActivity() { private lateinit var api: ApiService private lateinit var returnActionButton : FloatingActionButton - private lateinit var newProjectName : AutoCompleteTextView - private lateinit var newProjectDescription : AutoCompleteTextView + private lateinit var newProjectName : EditText + private lateinit var newProjectDescription : EditText private lateinit var newProjectCreateButton : Button override fun onCreate(savedInstanceState: Bundle?) { @@ -42,47 +41,63 @@ class CreateProjectActivity : AppCompatActivity() { api = RetrofitInstance.getRetrofit(applicationContext).create(ApiService::class.java) returnActionButton = findViewById(R.id.returnActionButton) - returnActionButton.setOnClickListener { finish() } + returnActionButton.setOnClickListener { + finish() + + val intent = Intent(this@CreateProjectActivity, MainActivity::class.java) + startActivity(intent) + } newProjectName = findViewById(R.id.newProjectName) newProjectDescription = findViewById(R.id.newProjectDescription) newProjectCreateButton = findViewById(R.id.newProjectCreateButton) newProjectCreateButton.setOnClickListener { - val projectName = newProjectName.text.toString() - val projectDescription = newProjectDescription.text.toString() + val projectName = newProjectName.text.toString().trim() + val projectDescription = newProjectDescription.text.toString().trim() - if (projectName.isEmpty() || projectDescription.isEmpty()) { - Toast - .makeText(this, "Please fill in all fields", Toast.LENGTH_SHORT) - .show() + if (projectName.isEmpty()) { + Toast.makeText(this, "Project name cannot be empty", Toast.LENGTH_SHORT).show() return@setOnClickListener } lifecycleScope.launch { + try { + Log.d("CreateProjectActivity", "Creating project: $projectName") + val projectCreate = ProjectCreate(projectName, projectDescription) + val response = api.createProject(projectCreate) - val projectCreate : ProjectCreate = ProjectCreate(projectName, projectDescription) - val response = api.createProject(projectCreate) + if (response.isSuccessful) { + Log.d("CreateProjectActivity", "Project created successfully: ${response.body()}") + Toast.makeText( + this@CreateProjectActivity, + "Project created successfully", + Toast.LENGTH_SHORT + ).show() + finish() - if (response.isSuccessful){ - Toast - .makeText(this@CreateProjectActivity, "Project created successfully", Toast.LENGTH_SHORT) - .show() - Log.d("CreateProjectActivity", "Created project: ${response.body()}") - startActivity(Intent(this@CreateProjectActivity, MainActivity::class.java)) - } else { - Log.e("CreateProjectActivity", "Error creating project: ${response.code()} - ${response.message()}") - Toast - .makeText(this@CreateProjectActivity, "Error creating project", Toast.LENGTH_SHORT) - .show() + // Volver a MainActivity para ver el nuevo proyecto + val intent = Intent(this@CreateProjectActivity, MainActivity::class.java) + startActivity(intent) + } else { + val errorBody = response.errorBody()?.string() + Log.e("CreateProjectActivity", "Error creating project: $errorBody") + Toast.makeText( + this@CreateProjectActivity, + "Error creating project: ${response.code()}", + Toast.LENGTH_SHORT + ).show() + } + } catch (e: Exception) { + Log.e("CreateProjectActivity", "Exception creating project: ${e.message}") + Toast.makeText( + this@CreateProjectActivity, + "Failed to create project: ${e.message}", + Toast.LENGTH_SHORT + ).show() } - } - } - - - } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_create_project.xml b/app/src/main/res/layout/activity_create_project.xml index e833cd0..73e9fe1 100644 --- a/app/src/main/res/layout/activity_create_project.xml +++ b/app/src/main/res/layout/activity_create_project.xml @@ -16,80 +16,83 @@ app:srcCompat="@android:drawable/ic_menu_revert" android:id="@+id/returnActionButton" app:layout_constraintBottom_toBottomOf="parent" - android:layout_marginBottom="16dp" - android:layout_marginEnd="16dp" + android:layout_marginBottom="@dimen/fab_margin_bottom" + android:layout_marginEnd="@dimen/fab_margin_end" app:layout_constraintEnd_toEndOf="parent" /> - + android:layout_height="match_parent" + android:orientation="vertical" + android:paddingBottom="@dimen/bottom_padding_for_fab"> - + - + - + - + -