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

Commit

Permalink
Merge pull request #35 from aaronstephenson/master
Browse files Browse the repository at this point in the history
Added Final Letter functionality to Workbench Detail page and Case Service…
  • Loading branch information
aaronstephenson authored Aug 5, 2016
2 parents 290e44a + 27962f3 commit 9f1ef82
Show file tree
Hide file tree
Showing 9 changed files with 185 additions and 26 deletions.
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

0 comments on commit 9f1ef82

Please sign in to comment.