edit-permissions.component.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';
  2. import {Router} from '@angular/router';
  3. import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material';
  4. import {Role, RolesService} from '../../../../classes/resorcess/roles.service';
  5. import {Dialog} from '../../../../classes/base_components/dialog/dialog';
  6. import {Component, Inject} from '@angular/core';
  7. import {Permission, PermissionGroupsService} from '../../../../classes/resorcess/permissions.service';
  8. import {setErrors} from '../../../../classes/utils';
  9. @Component({
  10. selector: 'app-edit-permissions',
  11. templateUrl: './edit-permissions.component.html',
  12. styleUrls: ['./edit-permissions.component.scss']
  13. })
  14. export class EditPermissionsComponent {
  15. public loading = false;
  16. nameCtrl = new FormControl('', [Validators.required]);
  17. slugCtrl = new FormControl('', [Validators.required]);
  18. groupCtrl = new FormControl('', [Validators.required]);
  19. form: FormGroup;
  20. group;
  21. permission: Permission;
  22. constructor(private fb: FormBuilder,
  23. private roleService: RolesService,
  24. private router: Router,
  25. private PermissiongroupsService: PermissionGroupsService,
  26. protected dialog: Dialog,
  27. public dialogRef: MatDialogRef<EditPermissionsComponent>,
  28. @Inject(MAT_DIALOG_DATA) data) {
  29. PermissiongroupsService.register();
  30. this.permission = data;
  31. const basics = JSON.parse(localStorage.getItem('basics'));
  32. this.group = basics['permission_groups'];
  33. this.PermissiongroupsService.all({include: ['permissions']}).subscribe(x =>{
  34. })
  35. this.form = this.fb.group({
  36. slugCtrl: this.slugCtrl,
  37. nameCtrl: this.nameCtrl,
  38. groupCtrl: this.groupCtrl,
  39. });
  40. }
  41. onSubmit() {
  42. this.loading = true;
  43. if (!this.form.valid) {
  44. console.log(this.form.valid);
  45. this.loading = false;
  46. return;
  47. }
  48. this.permission.save({},
  49. () => {
  50. this.loading = false;
  51. this.close();
  52. },
  53. (error) => {
  54. this.loading = false;
  55. const JsonV = error.errors;
  56. setErrors(JsonV , this.form.controls, this.dialog);
  57. });
  58. }
  59. close() {
  60. this.dialogRef.close(true);
  61. }
  62. }