diff --git a/apps/maarch_entreprise/Views/doctypes-administration.component.html b/apps/maarch_entreprise/Views/doctypes-administration.component.html index 04692aaf78747a1fe97158dc86812396761bd8ab..27c8aa479f6ed519176cf18c2f49c44d0e82c9c9 100644 --- a/apps/maarch_entreprise/Views/doctypes-administration.component.html +++ b/apps/maarch_entreprise/Views/doctypes-administration.component.html @@ -106,7 +106,7 @@ <div class="form-group"> <div class="col-md-12 text-center" style="padding:10px;"> <button mat-raised-button [disabled]="!firstLevelForm.form.valid" color="primary" (click)="saveFirstLevel()">{{lang.save}}</button> - <button type="button" mat-raised-button *ngIf="!creationMode" [disabled]="!firstLevelForm.form.valid" + <button type="button" mat-raised-button *ngIf="!creationMode" [disabled]="!firstLevelForm.form.valid || currentFirstLevel.hasChildren" color="warn" (click)="removeFirstLevel()">{{lang.delete}}</button> <button type="button" mat-raised-button *ngIf="creationMode" color="default" (click)="readMode()">{{lang.cancel}}</button> </div> @@ -152,7 +152,7 @@ <div class="form-group"> <div class="col-md-12 text-center" style="padding:10px;"> <button mat-raised-button [disabled]="!secondLevelForm.form.valid" color="primary" (click)="saveSecondLevel()">{{lang.save}}</button> - <button mat-raised-button *ngIf="!creationMode" [disabled]="!secondLevelForm.form.valid" + <button mat-raised-button *ngIf="!creationMode" [disabled]="!secondLevelForm.form.valid || currentSecondLevel.hasChildren" color="warn" (click)="removeSecondLevel()">{{lang.delete}}</button> <button mat-raised-button *ngIf="creationMode" color="default" (click)="readMode()">{{lang.cancel}}</button> </div> diff --git a/src/app/doctype/controllers/SecondLevelController.php b/src/app/doctype/controllers/SecondLevelController.php index 196f499ba49fc8729308ce7f79b3e2b4bccde6ec..3194dc49bdde05fc9540a790e385bfa5663e82d2 100644 --- a/src/app/doctype/controllers/SecondLevelController.php +++ b/src/app/doctype/controllers/SecondLevelController.php @@ -32,7 +32,7 @@ class SecondLevelController } $obj['secondLevel'] = SecondLevelModel::getById(['id' => $aArgs['id']]); - + if (!empty($obj['secondLevel'])) { if ($obj['secondLevel']['enabled'] == 'Y') { $obj['secondLevel']['enabled'] = true; diff --git a/src/app/doctype/models/FirstLevelModelAbstract.php b/src/app/doctype/models/FirstLevelModelAbstract.php index 25fb1fb15c0093888f3f4049d75555cc2d9114c1..6197c29cc99908d611ae58271d4ab2819ac7cfa4 100644 --- a/src/app/doctype/models/FirstLevelModelAbstract.php +++ b/src/app/doctype/models/FirstLevelModelAbstract.php @@ -44,13 +44,23 @@ class FirstLevelModelAbstract 'where' => ['doctypes_first_level_id = ?'], 'data' => [$aArgs['id']] ] - ); + ); if (empty($aReturn[0])) { return []; } + $children = DatabaseModel::select( + [ + 'select' => ['doctypes_second_level_id'], + 'table' => ['doctypes_second_level'], + 'where' => ['doctypes_first_level_id = ?'], + 'data' => [$aArgs['id']] + ] + ); + $aReturn = $aReturn[0]; + $aReturn['hasChildren'] = count($children) > 0 ? true : false; return $aReturn; } diff --git a/src/app/doctype/models/SecondLevelModelAbstract.php b/src/app/doctype/models/SecondLevelModelAbstract.php index 2a7e7d2290c49221800a293fff5f29fa7c1e604d..8148c39ac2f7c78c439ffbf5017ce62299ecafd7 100644 --- a/src/app/doctype/models/SecondLevelModelAbstract.php +++ b/src/app/doctype/models/SecondLevelModelAbstract.php @@ -45,12 +45,22 @@ class SecondLevelModelAbstract 'data' => [$aArgs['id']] ] ); - + if (empty($aReturn[0])) { return []; } + $children = DatabaseModel::select( + [ + 'select' => ['type_id'], + 'table' => ['doctypes'], + 'where' => ['doctypes_second_level_id = ?'], + 'data' => [$aArgs['id']] + ] + ); + $aReturn = $aReturn[0]; + $aReturn['hasChildren'] = count($children) > 0 ? true : false; return $aReturn; }