Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit d3018480 authored by Sebastian-Ion TINCU's avatar Sebastian-Ion TINCU
Browse files

EDELIVERY-3687 SMP UI Add/Edit user

Add code to support adding, deleting and editing users in the front-end.
Rename username property to userName.
Add roles and a role service.
parent 86b51665
No related branches found
No related tags found
No related merge requests found
......@@ -11,5 +11,3 @@
#hiddenButtonId {
position: fixed;
}
<smp-search-table
page_id= 'user_id'
title= 'Users'
[columnPicker] = "columnPicker"
url="ui/user"
[url]="'ui/user'"
[additionalToolButtons]="additionalToolButtons"
[searchTableController]="userController"
[searchPanel]="searchPanel"
[filter]="filter"
>
[filter]="filter">
<ng-template #additionalToolButtons >
</ng-template>
<ng-template #additionalToolButtons></ng-template>
<ng-template #searchPanel>
<md-input-container>
<input mdInput placeholder="Username" name="Username" [(ngModel)]="filter.messageId"
#messageId="ngModel" id="messageid_id">
<input mdInput placeholder="Username" name="Username" [(ngModel)]="filter.userName" #messageId="ngModel">
</md-input-container>
<md-input-container>
<input mdInput placeholder="isAdmin" name="isAdmin" [(ngModel)]="filter.messageId"
#messageId="ngModel" id="participanschema_id">
</md-input-container>
</ng-template>
</smp-search-table>
......@@ -7,7 +7,6 @@ import {AlertService} from "../alert/alert.service";
import {UserController} from "./user-controller";
@Component({
moduleId: module.id,
templateUrl:'./user.component.html',
styleUrls: ['./user.component.css']
})
......@@ -30,23 +29,29 @@ export class UserComponent implements OnInit {
this.columnPicker.allColumns = [
{
name: 'Username',
prop: 'username',
width: 275
prop: 'userName',
canAutoResize: true
},
{
name: 'isAdmin',
prop: 'isadmin',
width: 40
name: 'Role',
prop: 'role',
canAutoResize: true
},
{
name: 'Password',
prop: 'password',
canAutoResize: true,
sortable: false,
width: 25
}
];
this.columnPicker.selectedColumns = this.columnPicker.allColumns.filter(col => {
return ["Username", "isAdmin"].indexOf(col.name) != -1
return ['Username', 'Role'].indexOf(col.name) != -1
});
}
details(row: any) {
this.userController.showDetails(row);
}
}
import {Injectable} from "@angular/core";
import {Observable, Subject} from "rxjs";
import {Http} from "@angular/http";
import {Role} from "../security/role.model";
@Injectable()
export class UserService {
constructor(private http: Http) {}
getUserRoles$() {
// return this.http.get('rest/user/userroles');
// TODO create the endpoint
return Observable.of({json: () => [Role.SMP_ADMINISTRATOR, Role.SERVICE_GROUP_ADMINISTRATOR, Role.SYSTEM_ADMINISTRATOR]});
}
}
package eu.europa.ec.edelivery.smp.data.ui;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Objects;
import static eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths.MAX_USERNAME_LENGTH;
/**
* @author Joze Rihtarsic
* @since 4.1
......@@ -23,7 +18,7 @@ public class UserRO implements Serializable {
private static final long serialVersionUID = -4971552086560325302L;
@Id
@Column(name = "username")
private String username;
private String userName;
@Column(name = "password")
private String password;
@Column(name = "isadmin")
......@@ -33,18 +28,18 @@ public class UserRO implements Serializable {
}
public UserRO(String username, String password, boolean isAdmin) {
this.username = username;
public UserRO(String userName, String password, boolean isAdmin) {
this.userName = userName;
this.password = password;
this.isAdmin = isAdmin;
}
public String getUsername() {
return username;
public String getUserName() {
return userName;
}
public void setUsername(String username) {
this.username = username;
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
......@@ -68,12 +63,12 @@ public class UserRO implements Serializable {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
UserRO userRO = (UserRO) o;
return Objects.equals(username, userRO.username);
return Objects.equals(userName, userRO.userName);
}
@Override
public int hashCode() {
return Objects.hash(username);
return Objects.hash(userName);
}
}
......@@ -64,7 +64,7 @@ public class ServiceUIDataIntegrationTest {
for (int i = 0; i < 20; i++) {
UserRO ent = new UserRO();
ent.setAdmin(false);
ent.setUsername("Username" + i);
ent.setUserName("Username" + i);
ent.setPassword("Password");
serviceUIData.persistUser(ent);
}
......@@ -128,7 +128,7 @@ public class ServiceUIDataIntegrationTest {
UserRO ent = new UserRO();
ent.setAdmin(false);
ent.setUsername("Username");
ent.setUserName("Username");
ent.setPassword("Password");
long cnt = serviceUIData.getUserList(0, 10, null, null).getCount();
......
......@@ -33,7 +33,7 @@ public class UserResource {
@PutMapping(produces = {"application/json"})
@ResponseBody
@RequestMapping(method = RequestMethod.GET)
public ServiceResult<UserRO> getUserist(
public ServiceResult<UserRO> getUsers(
@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
@RequestParam(value = "orderBy", required = false) String orderBy,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment