Skip to content
Snippets Groups Projects
Commit 3d265525 authored by Rafael S Castilho's avatar Rafael S Castilho
Browse files

SCRUM#321: adding new users to groups epoptes and professores


Signed-off-by: default avatarRafael S Castilho <rsc15@inf.ufpr.br>
parent 2ccff613
No related branches found
No related tags found
1 merge request!13Issue/299
Pipeline #
le-control-panel (0.0.8) testing; urgency=medium
* adding users to groups
-- <rscasfilho@fenrir> Mon, 23 Oct 2017 11:46:25 -0200
le-control-panel (0.0.7) testing; urgency=medium
* Fix new user dialog bug
......
......@@ -8,5 +8,5 @@ Vcs-Git: https://gitlab.c3sl.ufpr.br/le6/le-control-panel.git
Package: le-control-panel
Architecture: all
Depends: python, gksu, ${shlibs:Depends}, ${misc:Depends}, gtk2-engines, gtk2-engines-murrine
Depends: python, gksu, ${shlibs:Depends}, ${misc:Depends}, gtk2-engines-murrine
Description: A admin tool to configure Linux Educacional
......@@ -114,8 +114,12 @@ def newUserResponse(dialog, response, userEntry, nameEntry, passEntry, cpassEntr
userErrorLabel.hide()
nameErrorLabel.hide()
passErrorLabel.hide()
if response == 0:
dialog.destroy()
if response == Gtk.ResponseType.DELETE_EVENT or response == 0:
userEntry.set_text("")
nameEntry.set_text("")
passEntry.set_text("")
cpassEntry.set_text("")
dialog.hide()
elif response == 1:
user = userEntry.get_text()
if (user == ''):
......@@ -143,13 +147,33 @@ def newUserResponse(dialog, response, userEntry, nameEntry, passEntry, cpassEntr
newUser = False
if newUser:
proc = Popen("gksudo 'adduser --disabled-password --shell /bin/bash --gecos "+name+" "+user+"'",shell=True,stdout=PIPE)
proc = Popen("echo "+user+":"+passw+" | chpasswd",shell=True,stdout=PIPE)
newUserAdded = True
else:
newUserAdded = False
if newUserAdded:
output,err = runShellCommand("gksudo -l 'adduser --disabled-password --shell /bin/bash --gecos "+name+" "+user+"'")
if output == 1:
userErrorLabel.set_markup("<span foreground='red'>Não foi possível criar o usuário\n" +
"Já existe um usuário " + user + "</span>")
else :
output,err = runShellCommand("echo "+user+":"+passw+" | sudo chpasswd")
if err:
newUserAdded = False
userErrorLabel.set_markup("<span foreground='red'>Não foi possível criar o usuário\n" +
"Senha de admin digitada incorretamente </span>")
else:
newUserAdded = True
output,err = runShellCommand("sudo usermod -a -G epoptes "+user)
if err:
userErrorLabel.set_markup("<span foreground='red'>Não foi possível adicionar o usuário ao grupo epoptes\n" +
"O grupo não existe </span>")
output,err = runShellCommand("sudo usermod -a -G professores "+user)
if err:
userErrorLabel.set_markup("<span foreground='red'>Não foi possível adicionar o usuário ao grupo professores\n" +
"O grupo não existe </span>")
userErrorLabel.show_all()
if newUserAdded == 0:
dialogSuccess = Gtk.Dialog("Usuário criado", dialog, Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT)
dialogSuccess.add_button(Gtk.STOCK_OK, Gtk.ResponseType.OK)
label_success = Gtk.Label("O usuário " + user + " foi criado com sucesso.\n")
......@@ -157,12 +181,13 @@ def newUserResponse(dialog, response, userEntry, nameEntry, passEntry, cpassEntr
dialogSuccess.get_content_area().add(label_success)
dialogSuccess.connect("response", responseOK)
dialogSuccess.show_all()
else:
userErrorLabel.set_markup("<span foreground='red'>Não foi possível criar o usuário\n" +
"Já existe um usuário " + user + "</span>")
userErrorLabel.show_all()
return 0
def runShellCommand(cmd, shell=True, stdout=PIPE, stderr=PIPE):
proc = Popen(cmd,shell,stdout,stderr)
output,err = proc.communicate()
return (output,err)
def responseOK(dialog, response):
dialog.destroy()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment