Commit 12732872 authored by Thodoris Nestoridis's avatar Thodoris Nestoridis

ui update

parent feaaa807
......@@ -22,9 +22,9 @@ const routes: Routes = [
{ path: 'signup', component: SignupComponent },
{ path: 'groupboilerplates', component: GroupboilComponent, canActivate: [AuthGuard] },
{ path: 'groupboilerplates/:gb/boilerplates', component: BoilerplateListComponent, canActivate: [AuthGuard] },
{ path: 'groupboilerplates/:gb/boilerplates/:id', component: BoilerplateDetailsComponent, canActivate: [AuthGuard] },
{ path: 'groupboilerplates/:gb/boilerplates/details/:id', component: BoilerplateDetailsComponent, canActivate: [AuthGuard] },
{ path: 'groupboilerplates/:gb/boilerplates/add-boilerplate', component: AddBoilerplateComponent, canActivate: [AuthGuard] },
{ path: 'add-groupboil', component: AddGroupboilComponent, canActivate: [AuthGuard] }
{ path: 'groupboilerplates/add-groupboil', component: AddGroupboilComponent, canActivate: [AuthGuard] }
/*{ path: '', redirectTo: 'tutorials', pathMatch: 'full' },
{ path: 'prefix', component: PrefixListComponent },
{ path: 'prefix/:id', component: PrefixDetailsComponent },
......
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a routerLink="../../../">Projects</a></li>
<li class="breadcrumb-item"><a routerLink="../">Boilerplate List</a></li>
<li class="breadcrumb-item" aria-current="page">Add Boilerplate</li>
</ol>
</nav>
<div>
<div class="submit-form">
......
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a routerLink="../">Projects</a></li>
<li class="breadcrumb-item" aria-current="page">Add Project</li>
</ol>
</nav>
<div>
<div class="submit-form">
......
<app-prefix-list></app-prefix-list>
<app-main-list></app-main-list>
<app-suffix-list></app-suffix-list>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a routerLink="../../../../">Projects</a></li>
<li class="breadcrumb-item"><a routerLink="../../">Boilerplate List</a></li>
<li class="breadcrumb-item" aria-current="page">Edit Boilerplate</li>
</ol>
</nav>
<div>
<div *ngIf="currentboilerplate.id" class="edit-form">
<h4>Boilerplate</h4>
......
......@@ -61,7 +61,7 @@ export class BoilerplateDetailsComponent implements OnInit {
.subscribe(
response => {
console.log(response);
this.router.navigate(['/boilerplates']);
this.router.navigate(['/groupboilerplates/'+ this.route.snapshot.params.gb +'/boilerplates']);
},
error => {
console.log(error);
......
<div>
<div>
<input type="button" value="Add Boilepate" (click)="GetRoute()"/>
</div>
</div>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a routerLink="../../">Projects</a></li>
<li class="breadcrumb-item" aria-current="page">Boilerplate List</li>
</ol>
</nav>
<div class="list row">
<div class="col-md-8">
<div class="input-group mb-3">
......@@ -16,19 +16,24 @@
/>
<div class="input-group-append">
<button
class="btn btn-outline-secondary"
class="btn btn-primary"
type="button"
(click)="SearchTitle()"
>
Search
>Search
</button>
</div>
</div>
<div fxFlex fxLayout fxHide.xs fxLayoutAlign="end">
<ul fxLayout fxLayoutGap="15px" class="navigation-items">
<div>
<input class="btn btn-success" type="button" value="Add Boilepate" routerLink="add-boilerplate"/>
</div>
</ul>
</div>
</div>
</div>
</div>
<table mat-table [dataSource]="newdataSource" class="mat-elevation-z8">
<!-- Position Column -->
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef> No. </th>
......@@ -60,7 +65,7 @@
<ng-container matColumnDef="action">
<th mat-header-cell *matHeaderCellDef> Action </th>
<td mat-cell *matCellDef="let element" class="action-link">
<a class="badge badge-warning" routerLink="{{element.id}}">Edit</a>
<a class="btn btn-info" routerLink="details/{{element.id}}">Edit</a>
</td>
</ng-container>
......
<p>groupboil works!</p>
<div>
<a routerLink="/add-groupboil">Add Boilepate</a>
</div>
<li *ngFor="let gb of grouboilerplates">
<a class="badge badge-warning" routerLink="/groupboilerplates/{{gb.id}}/boilerplates">"{{gb.title_bgroup}}"</a>
<span class="badge">{{gb.id}}</span>
</li>
<input class="btn btn-success" type="button" value="Add New project" routerLink="add-groupboil"/>
</div>
<div *ngFor="let gb of grouboilerplates">
<mat-card class="example-card">
<a routerLink="/groupboilerplates/{{gb.id}}/boilerplates">
<mat-card-header>
<div mat-card-avatar class="example-header-image"></div>
<mat-card-title>Project {{gb.title_bgroup}}</mat-card-title>
<mat-card-subtitle></mat-card-subtitle>
</mat-card-header>
<mat-card-content>
<p>
Project Description
</p>
</mat-card-content>
</a>
<mat-card-actions>
<button class="btn btn-info" mat-button>EDIT</button>
<button class="btn btn-warning" (click)="deleteGroupBoilerplate(gb)" mat-button>DELETE</button>
</mat-card-actions>
</mat-card>
</div>
.example-card {
max-width: 400px;
}
.example-header-image {
background-size: cover;
}
\ No newline at end of file
......@@ -28,4 +28,18 @@ export class GroupboilComponent implements OnInit {
}
deleteGroupBoilerplate(id: any): void {
if(confirm("Αre you sure you want to delete this Project?")) {
this.boilerplateService.deletegroupboil(id.id)
.subscribe(
response => {
console.log(response);
this.retrievegroupBoilerplates();
},
error => {
console.log(error);
});
}
}
}
......@@ -5,7 +5,7 @@
</button>
</div>
<div>
<a routerLink="/boilerplates">Boilerplates</a>
<a routerLink="/groupboilerplates">Projects</a>
</div>
<div fxFlex fxLayout fxHide.xs fxLayoutAlign="end">
<ul fxLayout fxLayoutGap="15px" class="navigation-items">
......
......@@ -23,6 +23,10 @@ export class BoilerplateService {
return this.http.get<[GroupBoilerplate]>(baseUrlgb);
}
deletegroupboil(id: any): Observable<any> {
return this.http.delete(`${baseUrlgb}${id}`);
}
getAll(gb: any): Observable<Boilerplate[]> {
//console.log(baseUrlgb + gb + baseUrl)
return this.http.get<Boilerplate[]>(baseUrlgb + gb + baseUrl);
......
......@@ -8,7 +8,7 @@ urlpatterns = [
path('users/', user_views.UserList.as_view(), name='api-user-list'),
path('users/<uuid:pk>/', user_views.UserDetail.as_view(), name='api-post-details'),
path('groupboilerplates/', requirements_views.BoilerplateGroupCreateAPIView.as_view(), name='api-groupboilerplates-create'),
path('groupboilerplates/<int:pk>/', requirements_views.BoilerplateGroupList.as_view(), name='api-groupboilerplates-list'),
path('groupboilerplates/<int:pk>/', requirements_views.BoilerplateGroupDetailsAPIView.as_view(), name='api-groupboilerplates-list'),
path('groupboilerplates/<int:groupboil>/boilerplates/', requirements_views.BoilerplateListCreateAPIView.as_view(), name='api-requirements-list'),
path('groupboilerplates/<int:groupboil>/boilerplates/<int:pk>/', requirements_views.BoilerplateDetailsAPIView.as_view(), name='api-requirements-details'),
......
......@@ -18,7 +18,6 @@ from reqman.apps.reqtool.models.requirements import BoilerplateData
from django.shortcuts import get_object_or_404
##
class BoilerplateGroupCreateAPIView(ListCreateAPIView):
"""
API view to retrieve list of posts or create new
......@@ -41,10 +40,24 @@ class BoilerplateGroupList(ListAPIView):
"""
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
serializer_class = BoilerplateGroupSerializer
queryset = Boilerplate.objects.all()
queryset = BoilerplateGroup.objects.all()
###
class BoilerplateGroupDetailsAPIView(RetrieveUpdateDestroyAPIView):
"""
API view to retrieve, update or delete post
"""
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
serializer_class = BoilerplateGroupSerializer
queryset = BoilerplateGroup.objects.all()
#Custom actions when PUT
def perform_update(self, serializer):
instance = serializer.save()
#Custom actions when DELETE
def perform_destroy(self, instance):
instance.delete()
class BoilerplateListCreateAPIView(ListCreateAPIView):
......@@ -80,7 +93,7 @@ class BoilerplateList(ListAPIView):
def get_queryset(self):
group_gb = self.kwargs['groupboil']
title = self.kwargs['title_1']
#print(title)
print(title)
queryset_title = Boilerplate.objects.filter(title = title, group_of_boilerplate = group_gb)
return queryset_title
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment