From c4e2ec96dd37c759948f2d11f1f3652851d1b917 Mon Sep 17 00:00:00 2001
From: groche97 <groche97@gmail.com>
Date: Tue, 26 May 2020 01:37:11 +0200
Subject: [PATCH] Finish remove user implementation

---
 ClienteTFG.pro.user      | 2 +-
 controller_user_info.cpp | 8 ++++++--
 session_manager.cpp      | 5 +++++
 session_manager.h        | 1 +
 4 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/ClienteTFG.pro.user b/ClienteTFG.pro.user
index d0e3c07..10ad5f3 100644
--- a/ClienteTFG.pro.user
+++ b/ClienteTFG.pro.user
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.8.2, 2020-05-23T19:59:00. -->
+<!-- Written by QtCreator 4.8.2, 2020-05-26T01:36:37. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
diff --git a/controller_user_info.cpp b/controller_user_info.cpp
index dd368b4..af0086b 100644
--- a/controller_user_info.cpp
+++ b/controller_user_info.cpp
@@ -38,8 +38,12 @@ void controller_user_info::on_button_clicked_add(){
 
 void controller_user_info::on_button_clicked_remove(){
   Gtk::TreeModel::Row row = *this->view->tree.get_selection()->get_selected();
-  //row.get_value(this->view->m_Columns.r_user);
-  std::cout << row.get_value(this->view->m_Columns.r_user) << std::endl;
+  std::string name=row.get_value(this->view->m_Columns.r_user);
+  if(name.find("Gtk-CRITICAL **:")==std::string::npos){
+      this->sesion->remove_user(name);
+    }
+  this->view->restart_table();
+  this->load_info();
 }
 
 std::string controller_user_info::get_first(std::string &info){
diff --git a/session_manager.cpp b/session_manager.cpp
index 4e3eedf..d045ce5 100644
--- a/session_manager.cpp
+++ b/session_manager.cpp
@@ -67,3 +67,8 @@ void session_manager::create_user(std::string username, std::string password, bo
   this->con->write_string(password);
   this->con->write_string(admin?"t":"f");
 }
+
+void session_manager::remove_user(std::string username){
+  this->con->write_string("rusr");
+  this->con->write_string(username);
+}
diff --git a/session_manager.h b/session_manager.h
index fb50b2d..6628bd3 100644
--- a/session_manager.h
+++ b/session_manager.h
@@ -17,6 +17,7 @@ public:
   std::list<std::string> get_packages_info();
   std::list<std::string> get_users_info();
   void create_user(std::string username, std::string password, bool admin);
+  void remove_user(std::string username);
 };
 
 #endif // SESSION_MANAGER_H