refs #2883. Run as admin. Added checkbox
testing/ogGui-multibranch/pipeline/head There was a failure building this commit Details

feature-run-as-admin
Manuel Aranda Rosales 2026-03-27 09:18:26 +01:00
parent 5b7d3c72e2
commit b1896f8f84
3 changed files with 20 additions and 45 deletions

View File

@ -104,6 +104,7 @@ table {
padding: 24px 32px;
background: white;
border-radius: 12px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
margin-bottom: 20px;
}
@ -389,13 +390,13 @@ table {
.new-command-container {
display: flex;
flex-direction: column;
gap: 10px;
padding: 15px;
background-color: #eaeff6;
border: 1px solid #ddd;
border-radius: 8px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
margin-top: 15px;
gap: 12px;
padding: 20px;
background: white;
border: 1px solid #e9ecef;
border-radius: 12px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
margin-top: 16px;
}
.new-command-container mat-form-field {
@ -407,43 +408,10 @@ table {
resize: vertical;
}
.new-command-container .action-button {
align-self: flex-end;
color: white;
padding: 8px 16px;
border: none;
border-radius: 4px;
cursor: pointer;
}
.full-width {
width: 100%;
}
/* Secciones del formulario */
.form-section {
background: white !important;
border-radius: 8px;
padding: 24px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
margin-bottom: 20px;
border: 1px solid #bbdefb;
padding: 20px;
}
.form-section-title {
font-size: 18px;
font-weight: 600;
color: #333;
margin-bottom: 20px;
display: flex;
align-items: center;
gap: 8px;
}
.form-section-title mat-icon {
color: #2196f3;
}
.toggle-options {
display: flex;
gap: 10px;

View File

@ -7,7 +7,7 @@
</h2>
<div class="destination-info">
<div class="destination-badge">
<mat-icon class="destination-icon">cloud_download</mat-icon>
<mat-icon class="destination-icon">terminal</mat-icon>
<div class="destination-content">
<span class="destination-label">Destino</span>
<span class="destination-value">{{ runScriptTitle }}</span>
@ -25,7 +25,6 @@
</button>
</div>
</div>
<mat-divider></mat-divider>
<div class="select-container">
<mat-expansion-panel>
@ -65,7 +64,7 @@
class="client-image" />
<div class="client-details">
<span class="client-name">{{ client.name }}</span>
<span class="client-name">{{ client.name | slice:0:20 }}</span>
<span class="client-ip">{{ client.ip }}</span>
<span class="client-ip">{{ client.mac }}</span>
</div>
@ -83,6 +82,12 @@
Configuración de script
</div>
<div class="run-as-admin-container">
<mat-checkbox [(ngModel)]="runAsAdmin" color="primary">
Ejecutar como administrador
</mat-checkbox>
</div>
<div class="action-chips-container">
<mat-chip-listbox [(ngModel)]="commandType" required class="action-chip-listbox">
<mat-chip-option value="new" class="action-chip create-chip firmware-chip" (click)="commandType = 'new'">
@ -190,7 +195,7 @@
<mat-card-content>
<div class="script-content-wrapper">
<div class="script-preview" [innerHTML]="scriptContent"></div>
<pre class="script-preview">{{ scriptContent }}</pre>
</div>
</mat-card-content>
</mat-card>

View File

@ -36,6 +36,7 @@ export class RunScriptAssistantComponent implements OnInit{
parameterNames: string[] = Object.keys(this.parameters);
runScriptContext: any = null;
newScriptParameters: string[] = [];
runAsAdmin: boolean = false;
constructor(
private http: HttpClient,
@ -200,7 +201,8 @@ export class RunScriptAssistantComponent implements OnInit{
this.http.post(`${this.baseUrl}/commands/run-script`, {
clients: this.selectedClients.map((client: any) => client.uuid),
script: this.commandType === 'existing' ? this.scriptContent : this.newScript,
queue: result
queue: result,
runAsAdmin: this.runAsAdmin
}).subscribe(
response => {
this.toastService.success('Script ejecutado correctamente');