Skip to content
This repository has been archived by the owner on Jul 18, 2023. It is now read-only.

Added Final Letter functionality to Workbench Detail page and Case Service… #35

Merged
merged 1 commit into from
Aug 5, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions app/cases/case.service.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion app/cases/case.service.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 27 additions & 1 deletion app/cases/case.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,33 @@ export class CaseService {
.map(res => <Case> res.json())
.catch(this.handleError)
}


createFinalLeter(caseid: number | string) {
return new Promise((resolve, reject) => {
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
let filename = "";
let disposition = xhr.getResponseHeader('Content-Disposition');
if (disposition && disposition.indexOf('attachment') !== -1) {
let filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
let matches = filenameRegex.exec(disposition);
if (matches != null && matches[1]) filename = matches[1].replace(/['"]/g, '');
}
resolve([xhr.response, filename]);
} else {
reject(xhr.response);
}
}
};
xhr.responseType = "blob";
xhr.open("GET", APP_SETTINGS.CASES_URL+"?case_number="+caseid+"&format=docx", true);
xhr.setRequestHeader("Authorization", "Basic " + btoa(sessionStorage.getItem('username') + ":" + sessionStorage.getItem('password')));
xhr.send();
});
}

private handleError (error: Response) {
// TODO figure out a better error handler
// in a real world app, we may send the server to some remote logging infrastructure
Expand Down
28 changes: 19 additions & 9 deletions app/workbench/workbench-detail.component.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<div class="container cbra-form">

<h3 class="form-main-header">Edit Case #{{ myCase.id || case_ID }}</h3>
<h4 class="form-main-header">Current Status: {{ myCase.status }}</h4>

<div [hidden]="!notready" align="center" id="loading-spinner"><img class="loader" [src]="'loading.gif'" /></div>
<div [hidden]="notready">
Expand Down Expand Up @@ -58,24 +59,32 @@ <h3 class="form-main-header">Edit Case #{{ myCase.id || case_ID }}</h3>
<div class="col-md-4">
<div class="file-group">
<label class="half-label" for="casefiles">Case Files</label><!--
--><label class="file-upload-label" for="fileselect">Upload New</label>
<div class="col-md-6">
--><label class="file-upload-label" for="fileselect">Upload New</label><!--
--><label class="file-upload-label" for="draftletter">Draft Letter</label>
<div class="col-md-4">
<ul id="casefiles" *ngIf="myCasefiles.length > 0">
<li *ngFor="let casefile of myCasefiles">
<a target="_blank" [href]="casefile.file">{{ casefile.name }}</a>&nbsp;&nbsp;
<input *ngIf="myCase.status == 'Awaiting Final Letter'" id="signed" type="checkbox" (change)="setFinalLetterDate(signed.checked)" #signed> Signed Letter<!-- [checked]="signed" formControlName="signed"> -->
</li>
</ul>
</div>
<div class="col-md-4">
<div id="filedrag" [hidden]="noxhr" (dragover)="fileDragHover($event)" (dragleave)="fileDragHover($event)" (drop)="fileSelectHandler($event)">or drop files here</div>
</div>
<div class="col-md-2">
<div id="casefilesToUpload">
<p *ngFor="let fileDetails of filesToUploadDetails; let i=index">
<span>{{ fileDetails.name }}: </span><span>{{ fileDetails.size }} MBs</span>
<button type="button" (click)="removeCasefile(i)">-</button>
<input *ngIf="myCase.status == 'Awaiting Final Letter'" id="signed" type="checkbox" (change)="setFinalLetterDate(signed.checked)" #signed> Signed Letter<!-- [checked]="signed" formControlName="signed"> -->
</p>
</div>
</div>
<input class="custom-file-input" id="fileselect" type="file" multiple (change)="fileSelectHandler($event)" formControlName="casefiles" />
<input class="custom-file-input" id="draftletter" type="button" *ngIf="myCase.status == 'Awaiting Final Letter'" (click)="generateLetter()" />
</div>
</div>
<!-- <div class="col-md-2">
<div id="casefilesToUpload">
<p *ngFor="let fileDetails of filesToUploadDetails; #i=index"><span>{{ fileDetails.name }}: </span><span>{{ fileDetails.size }} MBs</span><button type="button" (click)="removeCasefile(i)">-</button></p>
</div>
<div id="filedrag" [hidden]="noxhr" (dragover)="fileDragHover($event)" (dragleave)="fileDragHover($event)" (drop)="fileSelectHandler($event)">or drop files here</div>
</div> -->


<div class="col-md-2">
<div class="chx-group">
Expand Down Expand Up @@ -345,6 +354,7 @@ <h2 class="dms-group-header">Comments</h2>
<div class="add-comment-wrap">
<input type="text" placeholder="Add New Comment" class="new-comment-input" #newComment>
<button class="btn-add-comment" type="button" (click)="addComment(newComment.value); newComment.value='';">Add a comment</button>
<span [hidden]="commentUnique" class="alert alert-danger">That comment already exists for this case.</span>
</div>

<ul class="comment-ul">
Expand Down
56 changes: 51 additions & 5 deletions app/workbench/workbench-detail.component.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion app/workbench/workbench-detail.component.js.map

Large diffs are not rendered by default.

Loading