Browse Source

1) Editors cannot edit content #19

2) Improve UI to indicate that only existing users can be added. #20
pull/65/head
Sebastian Stehle 9 years ago
parent
commit
bf69f79f54
  1. 5
      src/Squidex/Controllers/Api/Apps/AppLanguagesController.cs
  2. 4
      src/Squidex/app/features/settings/pages/contributors/contributors-page.component.html
  3. 2
      src/Squidex/app/framework/angular/autocomplete.component.html
  4. 3
      src/Squidex/app/framework/angular/autocomplete.component.ts

5
src/Squidex/Controllers/Api/Apps/AppLanguagesController.cs

@ -26,7 +26,6 @@ namespace Squidex.Controllers.Api.Apps
/// <summary> /// <summary>
/// Manages and configures apps. /// Manages and configures apps.
/// </summary> /// </summary>
[Authorize(Roles = SquidexRoles.AppOwner)]
[ApiExceptionFilter] [ApiExceptionFilter]
[ServiceFilter(typeof(AppFilterAttribute))] [ServiceFilter(typeof(AppFilterAttribute))]
[SwaggerTag("Apps")] [SwaggerTag("Apps")]
@ -48,6 +47,7 @@ namespace Squidex.Controllers.Api.Apps
/// 200 => Language configuration returned. /// 200 => Language configuration returned.
/// 404 => App not found. /// 404 => App not found.
/// </returns> /// </returns>
[Authorize(Roles = SquidexRoles.AppEditor)]
[HttpGet] [HttpGet]
[Route("apps/{app}/languages/")] [Route("apps/{app}/languages/")]
[ProducesResponseType(typeof(LanguageDto[]), 200)] [ProducesResponseType(typeof(LanguageDto[]), 200)]
@ -82,6 +82,7 @@ namespace Squidex.Controllers.Api.Apps
/// 400 => Language is an invalid language. /// 400 => Language is an invalid language.
/// 404 => App not found. /// 404 => App not found.
/// </returns> /// </returns>
[Authorize(Roles = SquidexRoles.AppOwner)]
[HttpPost] [HttpPost]
[Route("apps/{app}/languages/")] [Route("apps/{app}/languages/")]
[ProducesResponseType(typeof(AppLanguageDto), 201)] [ProducesResponseType(typeof(AppLanguageDto), 201)]
@ -106,6 +107,7 @@ namespace Squidex.Controllers.Api.Apps
/// 400 => Language is an invalid language. /// 400 => Language is an invalid language.
/// 404 => App not found. /// 404 => App not found.
/// </returns> /// </returns>
[Authorize(Roles = SquidexRoles.AppOwner)]
[HttpPut] [HttpPut]
[Route("apps/{app}/languages/{language}")] [Route("apps/{app}/languages/{language}")]
public async Task<IActionResult> Update(string app, string language, [FromBody] UpdateAppLanguageDto model) public async Task<IActionResult> Update(string app, string language, [FromBody] UpdateAppLanguageDto model)
@ -128,6 +130,7 @@ namespace Squidex.Controllers.Api.Apps
/// 400 => Language is an invalid language. /// 400 => Language is an invalid language.
/// 404 => App not found. /// 404 => App not found.
/// </returns> /// </returns>
[Authorize(Roles = SquidexRoles.AppOwner)]
[HttpDelete] [HttpDelete]
[Route("apps/{app}/languages/{language}")] [Route("apps/{app}/languages/{language}")]
public async Task<IActionResult> DeleteLanguage(string app, string language) public async Task<IActionResult> DeleteLanguage(string app, string language)

4
src/Squidex/app/features/settings/pages/contributors/contributors-page.component.html

@ -69,8 +69,8 @@
<div class="table-items-footer"> <div class="table-items-footer">
<form class="form-inline" [formGroup]="addContributorForm" (ngSubmit)="assignContributor()"> <form class="form-inline" [formGroup]="addContributorForm" (ngSubmit)="assignContributor()">
<div class="form-group mr-2"> <div class="form-group mr-3">
<sqx-autocomplete [source]="usersDataSource" formControlName="user" [inputName]="'contributor'"></sqx-autocomplete> <sqx-autocomplete [source]="usersDataSource" formControlName="user" [inputName]="'contributor'" placeholder="Find existing user"></sqx-autocomplete>
</div> </div>
<button type="submit" class="btn btn-success" [disabled]="!addContributorForm.valid">Add Contributor</button> <button type="submit" class="btn btn-success" [disabled]="!addContributorForm.valid">Add Contributor</button>

2
src/Squidex/app/framework/angular/autocomplete.component.html

@ -1,5 +1,5 @@
<span> <span>
<input type="text" class="form-control" (blur)="blur()" [attr.name]="inputName" (keydown)="onKeyDown($event)" (blur)="markTouched()" <input type="text" class="form-control" (blur)="blur()" [attr.name]="inputName" (keydown)="onKeyDown($event)" (blur)="markTouched()" [attr.placeholder]="placeholder"
[formControl]="queryInput" [formControl]="queryInput"
autocomplete="off" autocomplete="off"
autocorrect="off" autocorrect="off"

3
src/Squidex/app/framework/angular/autocomplete.component.ts

@ -49,6 +49,9 @@ export class AutocompleteComponent implements ControlValueAccessor, OnDestroy, O
@Input() @Input()
public inputName = 'autocompletion'; public inputName = 'autocompletion';
@Input()
public placeholder = '';
public items: AutocompleteItem[] = []; public items: AutocompleteItem[] = [];
public itemSelection = -1; public itemSelection = -1;

Loading…
Cancel
Save