mirror of
https://gitlab.com/JKANetwork/powerfulcomputermanager.git
synced 2026-02-27 07:23:43 +01:00
GUI version to control all
This commit is contained in:
310
client/PCM.fbp
310
client/PCM.fbp
@@ -1,310 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<wxFormBuilder_Project>
|
||||
<FileVersion major="1" minor="15" />
|
||||
<object class="Project" expanded="1">
|
||||
<property name="class_decoration">; </property>
|
||||
<property name="code_generation">C++</property>
|
||||
<property name="disconnect_events">1</property>
|
||||
<property name="disconnect_mode">source_name</property>
|
||||
<property name="disconnect_php_events">0</property>
|
||||
<property name="disconnect_python_events">0</property>
|
||||
<property name="embedded_files_path">res</property>
|
||||
<property name="encoding">UTF-8</property>
|
||||
<property name="event_generation">connect</property>
|
||||
<property name="file"></property>
|
||||
<property name="first_id">1000</property>
|
||||
<property name="help_provider">none</property>
|
||||
<property name="indent_with_spaces"></property>
|
||||
<property name="internationalize">0</property>
|
||||
<property name="name">MyProject1</property>
|
||||
<property name="namespace"></property>
|
||||
<property name="path">.</property>
|
||||
<property name="precompiled_header"></property>
|
||||
<property name="relative_path">1</property>
|
||||
<property name="skip_lua_events">1</property>
|
||||
<property name="skip_php_events">1</property>
|
||||
<property name="skip_python_events">1</property>
|
||||
<property name="ui_table">UI</property>
|
||||
<property name="use_enum">0</property>
|
||||
<property name="use_microsoft_bom">0</property>
|
||||
<object class="Frame" expanded="1">
|
||||
<property name="aui_managed">0</property>
|
||||
<property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
|
||||
<property name="bg"></property>
|
||||
<property name="center">wxBOTH</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="event_handler">impl_virtual</property>
|
||||
<property name="extra_style"></property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">MainFrame</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size">749,396</property>
|
||||
<property name="style">wxDEFAULT_FRAME_STYLE</property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="title"></property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style">wxTAB_TRAVERSAL</property>
|
||||
<property name="xrc_skip_sizer">1</property>
|
||||
<object class="wxMenuBar" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">MyMenuBar</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_menubar1</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<object class="wxMenu" expanded="1">
|
||||
<property name="label">Equipos</property>
|
||||
<property name="name">m_computers</property>
|
||||
<property name="permission">protected</property>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Añadir equipo</property>
|
||||
<property name="name">scomp_addc</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Borrar equipo</property>
|
||||
<property name="name">scomp_deletec</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="wxMenu" expanded="1">
|
||||
<property name="label">Grupos</property>
|
||||
<property name="name">m_groups</property>
|
||||
<property name="permission">protected</property>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Añadir Grupo</property>
|
||||
<property name="name">sgroup_addg</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Borrar grupo</property>
|
||||
<property name="name">sgroup_delg</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Ver equipos de un grupo</property>
|
||||
<property name="name">sgroup_seeg</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Vaciar grupo</property>
|
||||
<property name="name">sgroup_emptyg</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Cambiar nombre de un grupo</property>
|
||||
<property name="name">sgroup_reng</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Recetas asignadas a un grupo</property>
|
||||
<property name="name">sgroup_cooksg</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="wxMenu" expanded="1">
|
||||
<property name="label">Recetas</property>
|
||||
<property name="name">m_cooks</property>
|
||||
<property name="permission">protected</property>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Recetas de un grupo</property>
|
||||
<property name="name">scook_cooksg</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Añadir receta a un grupo</property>
|
||||
<property name="name">scook_addcookg</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Borrar receta de un grupo</property>
|
||||
<property name="name">scook_deletecookg</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Renombrar receta</property>
|
||||
<property name="name">scook_renamecook</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Detalles de implantación de una receta</property>
|
||||
<property name="name">scook_detailscook</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="wxMenu" expanded="1">
|
||||
<property name="label">Reportes</property>
|
||||
<property name="name">m_reports</property>
|
||||
<property name="permission">protected</property>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Reporte de equipos</property>
|
||||
<property name="name">srep_rcomp</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Reporte de grupos</property>
|
||||
<property name="name">srep_rgroup</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Reporte de recetas</property>
|
||||
<property name="name">srep_rcook</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</wxFormBuilder_Project>
|
||||
@@ -1,12 +1,14 @@
|
||||
# Build 2
|
||||
# Build 5
|
||||
$root = $PSCommandPath | Split-Path -Parent
|
||||
. $root\config.ps1
|
||||
$server = (Get-Content "$root\configpcm.ini" | select -Skip 1 | ConvertFrom-StringData).server
|
||||
$resources = (Get-Content "$root\configpcm.ini" | select -Skip 1 | ConvertFrom-StringData).resources
|
||||
|
||||
$computerName = $env:COMPUTERNAME
|
||||
|
||||
$computerName = [System.Net.Dns]::GetHostName()
|
||||
$UUID=(get-wmiobject Win32_ComputerSystemProduct).UUID
|
||||
|
||||
$exists = Invoke-RestMethod -Method Get -Uri "$server/get/computerexists?ComputerName=$computerName&UUID=$UUID"
|
||||
if ($exists.Result -eq 0){
|
||||
if ($exists.Result -eq "ERROR"){
|
||||
Write-Host "Computer outside database:" $computerName
|
||||
exit
|
||||
}
|
||||
@@ -30,7 +32,7 @@ $lastUser = (Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName
|
||||
Invoke-RestMethod -Method Get -Uri "$server/upd/computer?ComputerName=$computerName&UUID=$UUID&LastUser=$lastUser" | out-null
|
||||
|
||||
|
||||
$cooks = Invoke-RestMethod -Method Get -Uri "$server/get/cook?ComputerName=$computerName&UUID=$UUID"
|
||||
$cooks = Invoke-RestMethod -Method Get -Uri "$server/get/cookpend?ComputerName=$computerName&UUID=$UUID"
|
||||
|
||||
foreach ($CookName in $cooks){
|
||||
Set-Location $env:temp # For downloading/copying items, use system temp location
|
||||
@@ -79,7 +81,7 @@ foreach ($CookName in $cooks){
|
||||
$err = 1
|
||||
}
|
||||
}
|
||||
"KILL_PROCESS" {
|
||||
{$_ -in "KILL_PROCESS","KILLPROCESS"} {
|
||||
$p = Get-Process -Name "$param"
|
||||
if ($? -eq $true){ # Only do something if exists
|
||||
Stop-Process -InputObject $p -Force -ErrorVariable errvar -ErrorAction Continue
|
||||
@@ -90,7 +92,7 @@ foreach ($CookName in $cooks){
|
||||
}
|
||||
"CMD" { # Run a cmd command. Note: Runs at high priv.
|
||||
cmd.exe /c "$param"
|
||||
if ($? -eq $false){ # Error in CMD
|
||||
if ($LASTEXITCODE -ne 0){ # Error in CMD
|
||||
$err = 1
|
||||
}
|
||||
}
|
||||
@@ -208,7 +210,7 @@ foreach ($CookName in $cooks){
|
||||
if ($cook.runever -eq "1"){
|
||||
$err = -1 # This is for run but not for error, is by cook saw.
|
||||
}
|
||||
Invoke-RestMethod -Method Get -Uri "$server/set/cookstatus?ComputerName=$computerName&UUID=$UUID&CookName=$CookName&Revision=$CookRevision&Error=$err&ErrorDesc=$errvar" | out-null
|
||||
Invoke-RestMethod -Method Get -Uri "$server/upd/cookstatus?ComputerName=$computerName&UUID=$UUID&CookName=$CookName&Revision=$CookRevision&Error=$err&ErrorDesc=$errvar" | out-null
|
||||
|
||||
#Delete files copied to temp for saving space
|
||||
foreach ($element in $filesCopied) {
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
$server = "http://miserver.dominio:3333" #Server that runs api service
|
||||
$resources = "\\MISERVER\REPOFOLDER" #Where files for copy are (Not cooks)
|
||||
2
client/configpcm_example.ini
Normal file
2
client/configpcm_example.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
server=http://miserver.dominio:3333
|
||||
resources=\\\\MISERVER\\REPOFOLDER
|
||||
@@ -1,6 +1,9 @@
|
||||
# Build 1
|
||||
# Build 2
|
||||
Write-Host "This utility is obsolete and may not work. Please use control.pyw"
|
||||
$root = $PSCommandPath | Split-Path -Parent
|
||||
. $root\config.ps1
|
||||
$server = (Get-Content "$root\configpcm.ini" | select -Skip 1 | ConvertFrom-StringData).server
|
||||
$resources = (Get-Content "$root\configpcm.ini" | select -Skip 1 | ConvertFrom-StringData).resources
|
||||
|
||||
|
||||
function seeGroups {
|
||||
$answer = Invoke-RestMethod -Method Get -Uri "$server/get/groups"
|
||||
@@ -255,7 +258,7 @@ function menuCooks {
|
||||
$CookName = Read-Host -Prompt "Nombre de la receta a añadir"
|
||||
seeGroups #Function
|
||||
$GroupName = Read-Host -Prompt "Nombre del grupo que quieres que lo tenga"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/set/cook?GroupName=$GroupName&CookName=$CookName"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/add/cookgrp?GroupName=$GroupName&CookName=$CookName"
|
||||
pause
|
||||
|
||||
} '5' {
|
||||
|
||||
199
client/control.pyw
Normal file
199
client/control.pyw
Normal file
@@ -0,0 +1,199 @@
|
||||
#!/usr/bin/python3
|
||||
# Version 0.5
|
||||
import easygui
|
||||
import configparser
|
||||
import json
|
||||
import requests
|
||||
import subprocess, platform
|
||||
|
||||
def ping(host):
|
||||
"""
|
||||
Returns True if host (str) responds to a ping request.
|
||||
Remember that a host may not respond to a ping (ICMP) request even if the host name is valid.
|
||||
"""
|
||||
# Option for the number of packets as a function of
|
||||
param = '-n' if platform.system().lower()=='windows' else '-c'
|
||||
# Building the command. Ex: "ping -c 1 google.com"
|
||||
command = ['ping', param, '1', host]
|
||||
return subprocess.call(command) == 0
|
||||
|
||||
## sendmenudot, returns of choice of a series of choices that has "." as delimiter inside it (For returning index)
|
||||
def sendmenudot(text,title,choices):
|
||||
menu = easygui.choicebox(text,title,choices)
|
||||
if menu is not None:
|
||||
return menu.split('.')[0]
|
||||
else:
|
||||
return menu
|
||||
## showchoicesapi, apiurl has to have all (Inlcuding server part)
|
||||
def showchoicesapi(text,title,apiurl,field='Name'):
|
||||
try:
|
||||
jsonobj = json.loads(requests.get(apiurl).text)
|
||||
listitems = []
|
||||
for ite in jsonobj:
|
||||
listitems.append(ite[field])
|
||||
return easygui.choicebox(text,title,listitems)
|
||||
except:
|
||||
easygui.msgbox(msg='Error en la aplicación al consultar', title=title, ok_button='OK')
|
||||
return None
|
||||
|
||||
def sendsettoapi(suburl,goodtext): # Send a add/del/modify to API. Doesn't return more than "Valid" and "Not valid"
|
||||
global c_server
|
||||
try:
|
||||
jsonobj = json.loads(requests.get(c_server+suburl).text)
|
||||
if jsonobj is not None and jsonobj['RESULT'] is not None and jsonobj['RESULT'] == 'ERROR':
|
||||
if jsonobj['TEXT']:
|
||||
easygui.msgbox(jsonobj['TEXT'],"Error","Ok")
|
||||
else:
|
||||
easygui.msgbox("Error no especificado","Error","Ok")
|
||||
return 1
|
||||
else:
|
||||
easygui.msgbox(goodtext,"Exito","Ok")
|
||||
return 0
|
||||
except:
|
||||
easygui.msgbox("Error inesperado","Error","Ok")
|
||||
return 1
|
||||
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read('configpcm.ini')
|
||||
|
||||
c_server = config['General']['server']
|
||||
c_resources = config['General']['resources'].replace('\\\\','\\')
|
||||
|
||||
|
||||
def menuprinc():
|
||||
menu = sendmenudot("Menú principal","Seleccione opción",['1.Equipos','2.Grupos','3.Recetas','4.Reportes/Listados'])
|
||||
if menu == '1':
|
||||
mcomputers()
|
||||
elif menu == '2':
|
||||
mgroups()
|
||||
elif menu == '3':
|
||||
mcooks()
|
||||
elif menu == '4':
|
||||
mreports()
|
||||
|
||||
def mcomputers():
|
||||
global c_server
|
||||
menu = sendmenudot("Menú equipos","Seleccione opción",['1.Añadir equipo','2.Borrar equipo','3.Añadir equipo a un grupo','4.Listado de equipos'])
|
||||
|
||||
if menu == '1':
|
||||
newcomputer = easygui.enterbox("Nombre del nuevo equipo","Añadir equipo")
|
||||
if easygui.ynbox("Nombre del equipo: '"+newcomputer+"'. ¿Seguro?","Añadir equipo"):
|
||||
sendsettoapi("/add/computer?ComputerName="+newcomputer,"Equipo añadido a la base de datos")
|
||||
elif menu == '2':
|
||||
whatc = showchoicesapi("Seleccione equipo a borrar","Borrar equipo",c_server+"/get/computers")
|
||||
if whatc is not None and easygui.ynbox("Se va a borrar el equipo '"+whatc+"'. ¿Seguro?","Borrar equipo"):
|
||||
sendsettoapi("/del/computer?ComputerName="+whatc,"Equipo borrado")
|
||||
elif menu == '3':
|
||||
m_addcomputergroup()
|
||||
elif menu == '4':
|
||||
showchoicesapi("Lista de equipos","Listado de equipos",c_server+"/get/computers")
|
||||
elif menu is None:
|
||||
menuprinc()
|
||||
return
|
||||
mcomputers()
|
||||
|
||||
def mgroups():
|
||||
global c_server
|
||||
menu = sendmenudot("Menú grupos","Seleccione opción",['1.Añadir grupo','2.Borrar grupo','3.Añadir equipo a un grupo','4.Quitar equipo de un grupo','5.Listado de grupos','6.Listado de equipos de un grupo'])
|
||||
if menu == '1':
|
||||
newgroup = easygui.enterbox("Nombre del nuevo grupo","Añadir grupo")
|
||||
if easygui.ynbox("Nombre del grupo: '"+newgroup+"'. ¿Seguro?","Añadir grupo"):
|
||||
sendsettoapi("/add/group?GroupName="+newgroup,"Grupo añadido a la base de datos")
|
||||
elif menu == '2':
|
||||
group = showchoicesapi("Lista de grupos. Selecciona uno para borrarlo","Borrar grupo",c_server+"/get/groups",'Name')
|
||||
if group is not None:
|
||||
if easygui.ynbox("Borrar grupo '"+group+"'. ¿Seguro?","Borrar grupo"):
|
||||
sendsettoapi("/del/group?GroupName="+group,"Grupo borrado")
|
||||
elif menu == '3':
|
||||
m_addcomputergroup()
|
||||
elif menu == '4':
|
||||
m_delcomputergroup()
|
||||
elif menu == '5':
|
||||
showchoicesapi("Listado de grupos","Listado de grupos",c_server+"/get/groups",field='Name')
|
||||
elif menu == '6':
|
||||
group = showchoicesapi("Lista de grupos","Listado de equipos de un grupo",c_server+"/get/groups")
|
||||
showchoicesapi("Lista de equipos del grupo "+group,"Listado de equipos de un grupo",c_server+"/get/computersgrp?GroupName="+group)
|
||||
elif menu is None:
|
||||
menuprinc()
|
||||
return
|
||||
mcomputers()
|
||||
|
||||
def mcooks():
|
||||
global c_server
|
||||
global c_resources
|
||||
menu = sendmenudot("Menú recetas","Seleccione opción",['1.Detalles de una receta','2.Renombrar receta','3.Añadir receta a un grupo','4.Eliminar receta de un grupo','5.Grupos de una receta'])
|
||||
if menu == '1':
|
||||
cook = showchoicesapi("Lista de recetas implementadas en algún grupo. Selecciona una para ver sus datos","Detalles de una receta",c_server+"/get/cookall",'CookName')
|
||||
if cook is not None:
|
||||
showchoicesapi("Lista de grupos de la receta "+cook,"Listado de grupos de una receta",c_server+"/get/grpcook?CookName="+cook)
|
||||
elif menu == '2':
|
||||
cook = showchoicesapi("Lista de recetas implementadas en algún grupo. Selecciona una para renombrarla. Si la receta no está en ningún grupo, se puede renombrar desde fuera.","Renombrar receta",c_server+"/get/cookall",'CookName')
|
||||
if cook is not None:
|
||||
newname = easygui.enterbox("Nombre de la nueva receta","Renombrar receta")
|
||||
if newname is not None and easygui.ynbox("Cambiar nombre de la receta '"+cook+"' por '"+newname+"'. ¿Seguro?","Renombrar receta"):
|
||||
sendsettoapi("/upd/cookname?CookName="+cook+"&CookNewName="+newname,"Receta cambiada de nombre")
|
||||
elif menu == '3':
|
||||
cook = easygui.enterbox("Nombre de la receta","Añadir receta a un grupo")
|
||||
group = showchoicesapi("Lista de grupos existentes","Listado de grupos",c_server+"/get/groups")
|
||||
if easygui.ynbox("Añadir la receta "+cook+" al grupo '"+group+"'. ¿Seguro?","Añadir receta a un grupo"):
|
||||
sendsettoapi("/add/cookgrp?CookName="+cook+"&GroupName="+group,"Receta añadida al grupo")
|
||||
elif menu == '4':
|
||||
cook = showchoicesapi("Lista de recetas implementadas en algún grupo. Selecciona una para elegir un grupo de esa receta para borrar. Si la receta no está en ningún grupo, no saldrá.","Eliminar receta de un grupo",c_server+"/get/cookall",'CookName')
|
||||
if cook is not None:
|
||||
group = showchoicesapi("Lista de grupos que tienen esa receta. Selecciona el grupo a quitar","Eliminar receta de un grupo",c_server+"/get/grpcook?CookName="+cook,'Name')
|
||||
if group is not None and easygui.ynbox("Se va a quitar la receta "+cook+" del grupo "+group+". ¿Seguro?","Eliminar receta de un grupo"):
|
||||
sendsettoapi("/del/cookgrp?CookName="+cook+"&GroupName="+group,"Receta quitada del grupo")
|
||||
elif menu == '5':
|
||||
cook = showchoicesapi("Lista de recetas implementadas en algún grupo. Selecciona una para elegir un grupo de esa receta para borrar. Si la receta no está en ningún grupo, no saldrá.","Eliminar receta de un grupo",c_server+"/get/cookall",'CookName')
|
||||
if cook is not None:
|
||||
showchoicesapi("Lista de grupos que tienen esa receta. Selecciona el grupo a quitar","Eliminar receta de un grupo",c_server+"/get/grpcook?CookName="+cook,'Name')
|
||||
elif menu is None:
|
||||
menuprinc()
|
||||
return
|
||||
|
||||
mcooks()
|
||||
|
||||
def mreports():
|
||||
global c_server
|
||||
global c_resources
|
||||
menu = sendmenudot("Menú reportes","Seleccione opción",['1.Listado de equipos','2.Listado de grupos','3.Equipos y recetas de un grupo','4.Grupos de una receta'])
|
||||
|
||||
if menu == '1': #Listado de equipos
|
||||
showchoicesapi("Lista de equipos","Listado de equipos",c_server+"/get/computers")
|
||||
elif menu == '2': #Listado de grupos
|
||||
showchoicesapi("Lista de grupos","Listado de grupos",c_server+"/get/groups")
|
||||
elif menu == '3':
|
||||
group = showchoicesapi("Lista de grupos","Listado de grupos",c_server+"/get/groups")
|
||||
showchoicesapi("Lista de equipos del grupo "+group,"Listado de equipos y recetas de un grupo",c_server+"/get/computersgrp?GroupName="+group)
|
||||
showchoicesapi("Lista de recetas del grupo "+group,"Listado de equipos y recetas de un grupo",c_server+"/get/cookgrp?GroupName="+group,'CookName')
|
||||
elif menu == '4':
|
||||
cook = showchoicesapi("Lista de recetas con grupo. Selecciona una para ver sus grupos","Listado de grupos de una receta",c_server+"/get/cookall",'CookName')
|
||||
if cook is not None:
|
||||
showchoicesapi("Lista de grupos de la receta "+cook,"Listado de grupos de una receta",c_server+"/get/grpcook?CookName="+cook)
|
||||
elif menu is None:
|
||||
menuprinc()
|
||||
return
|
||||
mreports()
|
||||
|
||||
|
||||
def m_addcomputergroup():
|
||||
whatc = howchoicesapi("Seleccione equipo a añadir a un grupo","Añadir Equipo a grupo",c_server+"/get/computers")
|
||||
if whatc is None:
|
||||
return
|
||||
whatg = showchoicesapi("Seleccione grupo a ser añadido","Añadir Equipo a grupo",c_server+"/get/groups")
|
||||
if whatg is None:
|
||||
return
|
||||
sendsettoapi("/add/grpcomputer?ComputerName="+whatc+"&GroupName="+whatg,"Equipo añadido al grupo")
|
||||
|
||||
def m_delcomputergroup():
|
||||
group = showchoicesapi("Seleccione grupo del que quitar un equipo","Borrar equipo de un grupo",c_server+"/get/groups")
|
||||
if group is None:
|
||||
return
|
||||
computer = showchoicesapi("Seleccione grupo a ser quitado","Borrar equipo de un grupo",c_server+"/get/computersgrp?GroupName="+group)
|
||||
if computer is None:
|
||||
return
|
||||
if easygui.ynbox("Quitar el equipo "+computer+" del grupo '"+group+"'. ¿Seguro?","Borrar equipo de un grupo"):
|
||||
sendsettoapi("/del/grpcomputer?ComputerName="+computer+"&GroupName="+group,"Equipo quitado del grupo")
|
||||
|
||||
menuprinc()
|
||||
Reference in New Issue
Block a user