just some docs WIP

This commit is contained in:
John Woodlock
2012-06-06 02:31:28 +10:00
parent 74ddcf7b3c
commit d0c74bd22a
7 changed files with 0 additions and 0 deletions
+3470
View File
File diff suppressed because it is too large Load Diff
+3470
View File
File diff suppressed because it is too large Load Diff
+699
View File
@@ -0,0 +1,699 @@
.tocMatrix {
font-size: 85%;
}
.fullMatrixOuter {
margin-right: 20px;
margin-left: 20px;
margin-bottom: 20px;
}
.matrixHeading {
font-family: Helvetica, Arial, sans-serif;
border-collapse:collapse;
border: 3px solid #6eb4db;
width:100%;
}
.matrixHeading td
{
//padding:3px 7px 2px 7px;
padding-right:5px;
vertical-align:text-top;
}
.matrixHeading tr.alt
{
color:#000;
background-color: rgb(240, 240, 255);
}
.matrixHeadingBG {
background-color: #6eb4db;
}
.matrixHeadingVerbs {
color: white;
font-weight: bold;
font-size: 125%
}
.matrixHeadingCommands {
color: rgb(240, 240, 255);
}
.mifosXHeading2 {
color: white;
font-weight: bold;
//font-size: 125%
}
.fieldtype {
padding-right: 40px;
padding-left:40px;
padding-top:20px;
font-size: 85%;
}
.fielddesc span, .fieldtype {
font-style: italic;
font-weight: normal;
}
.fielddesc {
padding-bottom:10px;
padding-left:20px;
}
.fielddesc span {
font-style: italic;
font-weight: normal;
}
.normalli {list-style:disc outside none;}
html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,tdjpw{margin:0;padding:0;}tablejpw{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}
a img { outline: none; border: 0; }
h1 { font-size: 180%; font-weight: bold; }
h2 { font-size: 165%; font-weight: bold; }
h3 { font-size: 145%; font-weight: bold; }
h4 { font-size: 120%; font-weight: bold; }
h5 { font-size: 120%; font-weight: bold; }
h6 { font-size: 110%; font-weight: bold; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 0.5em 0; line-height: 1.2em; }
p { margin: 1em 0; }
em {font-style: italic;}
html {
background-color: rgb(240, 240, 255);
}
body {
padding: 0; margin: 0;
font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
font-size: 15px;
line-height: 22px;
min-width: 1000px;
background-color: gray;
border-top: 15px solid black;
}
#flybar {
font-size: 14px;
line-height: 20px;
}
.method-example h1, .method-example h2, .method-example h3, .method-example h4, .method-example h5, .method-example h6, #flybar, .footer {
font-family: Helvetica, Arial, sans-serif;
}
.method-example code {
font-family: Monaco, Consolas, "Lucida Console", monospace;
font-size: 12px;
line-height: 18px;
}
#flybar {
position: fixed;
z-index: 100;
height: 40px;
min-width: 745px;
left: 0; right: 0; top: 0;
padding-left: 200px;
background: #eee;
background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#dadada));
background: -moz-linear-gradient(top, #f8f8f8, #dadada);
border-top: 3px solid black;
border-bottom: 1px solid #888;
-webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.1);
-moz-box-shadow: 0 3px 5px rgba(0,0,0,0.1);
box-shadow: 0 3px 5px rgba(0,0,0,0.1);
}
#nav-logo {
display: block;
height: 30px;
position: absolute;
top: 10px;
left: 20px;
font-weight: bold;
color: black;
font-size: 16px;
text-decoration: none;
}
.flybar-button {
text-align: center;
text-transform: uppercase;
font-size: 12px;
padding: 0 1em;
line-height: 40px;
border-right: 1px solid transparent;
border-left: 1px solid transparent;
text-decoration: none;
font-weight: bold;
color: black;
}
.flybar-nav {
display: block;
float: left;
width: 150px;
position: relative;
}
.flybar-language {
display: block;
float: left;
position: relative;
}
.flybar-language .flybar-button {
float: left;
clear: none;
border-right: 1px solid transparent;
border-left: 1px solid transparent;
min-width: 80px;
margin-left: -1px;
}
.flybar-menu {
display: none;
position: absolute;
top: 41px;
width: 850px;
background-color: rgba(249, 249, 249, 0.99);
border: 1px solid rgb(187, 187, 187);
border-top: 0;
padding: 1em;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
-webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.1);
-moz-box-shadow: 0 3px 5px rgba(0,0,0,0.1);
box-shadow: 0 3px 5px rgba(0,0,0,0.1);
}
.flybar-menu-overview {
display: none;
position: absolute;
top: 41px;
width: 300px;
background-color: rgba(249, 249, 249, 0.99);
border: 1px solid rgb(187, 187, 187);
border-top: 0;
padding: 1em;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
-webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.1);
-moz-box-shadow: 0 3px 5px rgba(0,0,0,0.1);
box-shadow: 0 3px 5px rgba(0,0,0,0.1);
}
.flybar-menu-convenience {
display: none;
position: absolute;
top: 41px;
width: 575px;
background-color: rgba(249, 249, 249, 0.99);
border: 1px solid rgb(187, 187, 187);
border-top: 0;
padding: 1em;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
-webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.1);
-moz-box-shadow: 0 3px 5px rgba(0,0,0,0.1);
box-shadow: 0 3px 5px rgba(0,0,0,0.1);
}
#toc-menu1 {
position:absolute;
left:-150px;
}
#toc-menu2 {
position:absolute;
left:-300px;
}
#toc-menu3 {
position:absolute;
left:-450px;
}
#toc-menu4 {
position:absolute;
left:-600px;
}
#toc-menu5 {
position:absolute;
left:-450px;
}
#language-menu {
left: -25px;
}
#language-menu li {
display: inline-block;
margin-right: 25px;
}
.flybar-menu h3, .flybar-menu-overview h3, .flybar-menu-convenience h3 {
text-transform: uppercase;
font-size: 100%;
}
.flybar-menu h4, .flybar-menu-overview h4, .flybar-menu-convenience h4 {
text-transform: uppercase;
font-size: 90%;
color: rgb(155, 155, 155);
margin: 0.5em 0 0.5em 0;
}
.flybar-menu ul, .flybar-menu-overview ul, .flybar-menu-convenience ul {
margin: 0 0 1em 1em;
}
.flybar-nav:hover .flybar-menu, .flybar-nav:hover .flybar-menu-overview, .flybar-nav:hover .flybar-menu-convenience,
.flybar-nav.active .flybar-menu, .flybar-nav.active .flybar-menu-overview, .flybar-nav.active .flybar-menu-convenience{
display: block;
}
.flybar-button:hover,
.flybar-button.active,
.flybar-nav:hover .flybar-button,
.flybar-nav.active .flybar-button {
background: #eee;
background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#f8f8f8));
background: -moz-linear-gradient(top, #eee, #f8f8f8);
border-left: 1px solid rgb(187, 187, 187);
border-right: 1px solid rgb(187, 187, 187);
}
.flybar-nav:hover .flybar-menu, .flybar-nav:hover .flybar-menu-overview, .flybar-nav:hover .flybar-menu-convenience,
.flybar-button.active {
margin-right: -1px;
}
.flybar-nav:hover .flybar-button,
.flybar-nav.active .flybar-button {
height: 51px;
color: #000;
background: -webkit-gradient(linear, left top, left bottom, from(#e5e5e5), to(#fff));
background: -moz-linear-gradient(top, #e5e5e5, #fff);
}
.toc-column1 {
width: 200px;
}
.toc-column2 {
width: 235px;
}
.toc-column3 {
width: 200px;
}
.toc-column1, .toc-column2, .toc-column3, .toc-column4, .toc-column5, .toc-column6 {
float: left;
}
.toc-section {
width: 235px;
font-size: 90%;
}
code {
white-space: pre;
white-space: -o-pre-wrap;
white-space: -moz-pre-wrap;
white-space: pre-wrap;
display: block;
margin: 1em 0;
line-height: 1.5em;
}
.method-section {
clear: left;
padding: 1em 0;
padding-top: 60px;
margin-left: -580px;
}
.method-section:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
.method-description {
width: 540px;
float: left;
padding-right: 20px;
color: black;
}
.method-description p {
}
h1 {
text-transform: uppercase;
}
.method-description h4 {
/*font-family: monospace;*/
}
.method-description h5 {
font-size: 110%;
color: rgb(155, 155, 155);
text-transform: uppercase;
clear: both;
padding: 0.5em 0;
}
.method-example {
margin-left: 560px;
padding-left: 20px;
min-width: 380px;
}
.method-example code {
white-space: pre;
white-space: -o-pre-wrap;
white-space: -moz-pre-wrap;
white-space: pre-wrap;
}
.method-example {
color: rgb(105, 105, 125);
}
.method-example p {
font-style: italic;
color: rgb(105, 105, 105);
}
.method-error:before {
content: "EXAMPLE ERROR";
color: rgb(155, 155, 185);
display: block;
}
.method-declaration:before {
content: "DEFINITION";
color: rgb(155, 155, 185);
display: block;
}
.method-request:before {
content: "EXAMPLE REQUEST";
color: rgb(155, 155, 185);
display: block;
}
.method-response:before {
content: "EXAMPLE RESPONSE";
color: rgb(155, 155, 185);
display: block;
}
.expected-result:before {
content: "RESULT";
color: rgb(155, 155, 185);
display: block;
}
.method-response, .method-error {
font-size: 90%;
}
.method-example li {
font-family: monospace;
color: black;
}
.method-example ul {
margin: 1em 0;
}
.method-example table {
font-family: monospace;
color: black;
}
.method-example td {
padding-right: 20px;
padding-bottom: 5px;
vertical-align: top;
}
.method-example table th {
font-weight: bold;
}
.method-example code {
color: black;
}
.prompt:after {
content: '$ ';
color: gray;
display: block;
}
.prompt.curl:after { content: '$ '; }
.prompt.ruby:after { content: '>> ' }
.prompt.python:after { content: '>>> ' }
.prompt.php:after { content: 'php > ' }
.prompt.java:after { content: '' }
.method-name {
font-family: monospace;
font-weight: bold;
}
.notification-request:before {
content: "EXAMPLE NOTIFICATION";
color: rgb(155, 155, 185);
display: block;
}
.notification-event:before {
content: "EVENT";
color: rgb(155, 155, 185);
display: block;
}
#page-wrapper {
background-color: white;
color: black;
}
#main-content-wrapper {
background-color: rgb(240, 240, 255);
margin-left: 579px;
padding: 0 20px 40px 20px;
border-left: 1px solid rgb(229, 229, 238);
}
#api-summary-example {
margin-top: 48px;
}
.argument-list {
font-size: 90%;
line-height: 1.5em;
}
.argument-list dl {
font-size: 95%;
padding: 1em 0;
line-height: 1.5em;
}
.argument-list:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
.argument-list dl:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
.argument-list dt {
clear:both;
width:34%;
float:left;
text-align:right;
font-weight: bold;
margin-top: 8px;
}
.event-types.argument-list dt {
width: 48%;
}
.event-types.argument-list dd {
width: 48%;
}
.argument-list dt:after {
content: ":";
}
.argument-list dd {
float:right;
width: 65%;
}
.argument-list dl dd {
width: 65%;
}
.argument-list dt + dd {
margin-top: 8px;
font-weight: bold;
}
.argument-list dd dl dd dl {
width: 95%;
}
.argument-list dd dl dd dl dd {
width: 65%;
}
.argument-list dd dl dd dl dt {
width:31%;
}
.argument-list dd span {
font-style: italic;
font-weight: normal;
}
.old-syle-anchor {display:block;height:0;width:0;}
strong { font-weight: bold; }
.footer {
position: fixed;
bottom: 0;
height: 30px;
border-top: 1px solid #ccc;
background: #eee;
background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#dadada));
background: -moz-linear-gradient(top, #f8f8f8, #dadada);
width: 100%;
opacity: 0.95;
font-size: 13px;
}
.footer input[type="text"] {
height: 14px;
padding: 3px;
border: 1px solid #aaa;
border-radius: 4px;
}
.suggestion-box {
float: right;
padding-top: 3px;
padding-right: 10px;
}
.footer input[type="submit"]:hover {
background: -webkit-gradient(
linear,
center top,
center bottom,
from(#fefefe),
to(#dbdbdb),
color-stop(80%, #eeeeee),
color-stop(0%, #eeeeee)
);
background: -moz-linear-gradient(
top,
#fff,
#fff
);
}
.footer input[type="submit"]:active {
background: -webkit-gradient(
linear,
center top,
center bottom,
from(#c0c0c0),
to(#fefefe),
color-stop(0%, #e1e1e1),
color-stop(30%, #eeeeee),
color-stop(80%, #fff)
);
background: -moz-linear-gradient(
top,
#c0c0c0,
#fefefe
);
border: 1px solid #a3a3a3;
}
.footer input[type="submit"] {
height: 22px;
padding: 3px;
font-size: 13px;
font-family: "proxima-nova-1","proxima-nova-2", Helvetica, Arial, sans-serif;
color: #454545;
text-shadow: 0px 1px 0px #fff;
text-align: center;
border: 1px solid #aaa;
background: -webkit-gradient(
linear,
center top,
center bottom,
from(#fefefe),
to(#dbdbdb),
color-stop(50%, #eeeeee)
);
background: -moz-linear-gradient(
top,
#fefefe,
#dbdbdb
);
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-webkit-background-clip: padding-box;
-webkit-backface-visibility: hidden;
}
.stripe-version {
float: left;
}
+48
View File
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="jquery-1.7.min.js"></script>
<title>Demo use of Mifos X platform</title>
</head>
<body>
<script type = "text/javascript">
function setBasicAuthKey(username, password)
{
basicAuthKey = "";
var jqxhr = $.ajax({
url : "https://localhost:8443/mifosng-provider/api/v1/authentication?username=" + username + "&password=" + password,
type : 'POST',
contentType : "application/json; charset=utf-8",
dataType : 'json',
data : "{}",
cache : false,
success : function(data, textStatus, jqXHR) {
basicAuthKey = data.base64EncodedAuthenticationKey;
window.location = "http://www.google.com";
return false;
},
error : function(jqXHR, textStatus, errorThrown) {
alert("Invalid Username/Password");
return true;
}
});
}
</script>
<form name = "logonform">
<table>
<tr><td>User Name:</td><td><input type="text" name="username"></td></tr>
<tr><td>Password: </td><td><input type="password" name="password"></td></tr>
<tr><td><input type="button" value="Logon to Rough Approval" name="Submit" onclick= "setBasicAuthKey(document.logonform.username.value, document.logonform.password.value )"></td><td></td></tr>
</table>
</form>
</body>
+48
View File
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="jquery-1.7.min.js"></script>
<title>Demo use of Mifos X platform</title>
</head>
<body>
<script type = "text/javascript">
function setBasicAuthKey(username, password)
{
basicAuthKey = "";
var jqxhr = $.ajax({
url : "https://localhost:8443/mifosng-provider/api/v1/authentication?username=" + username + "&password=" + password,
type : 'POST',
contentType : "application/json; charset=utf-8",
dataType : 'json',
data : "{}",
cache : false,
success : function(data, textStatus, jqXHR) {
basicAuthKey = data.base64EncodedAuthenticationKey;
window.location = "http://www.google.com";
return false;
},
error : function(jqXHR, textStatus, errorThrown) {
alert("Invalid Username/Password");
return true;
}
});
}
</script>
<form name = "logonform">
<table>
<tr><td>User Name:</td><td><input type="text" name="username"></td></tr>
<tr><td>Password: </td><td><input type="password" name="password"></td></tr>
<tr><td><input type="button" value="Logon to Rough Approval" name="Submit" onclick= "setBasicAuthKey(document.logonform.username.value, document.logonform.password.value )"></td><td></td></tr>
</table>
</form>
</body>
+69
View File
@@ -0,0 +1,69 @@
POSSIBLE CHANGES TO APP OR DOCUMENTATION
list clients notes - noteType needs a 'text' DOING
createdOn & updatedOn values... do they need reformatting? DOING
loan template - repaymentSchedule is null - I can't see it set in the app - used in preview schedule functionality maybe?
loan retrieve DOING
break up data into categories.. e.g.
Basic - lifeCycleStatusText thru
Convenience - open thru waitingForDisbursal then maxSubmittedOnOffsetFromToday, maxApprovedOnOffsetFromToday , maxDisbursedOnOffsetFromToday, actualLoanTermInDays, actualLoanTermInMonths, loanTermInDays, loanTermInMonths
Permission - undoDisbursalAllowed, waiveAllowed, makeRepaymentAllowed, rejectAllowed, withdrawnByApplicantAllowed, undoApprovalAllowed, disbursalAllowed, anyActionOnLoanAllowed
flatten loadData
repaymentSchedule
summary
loanRepayments
Loan Transitions ... approve etc
if "eventLocalDate" parameter added with string date then instead of parameter not support msg do get jackson conversion exception.
approve loan (already closed) with approval date before submitted date
The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>org.mifosng.platform.loan.domain.InvalidLoanTimelineDate: The date of when loan is approved cannot be before its submittal date.
approve loan (already closed) with approval date after submitted date
Column 'loan_status_id' cannot be null; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Column 'loan_status_id' cannot be null
if I do an approve when already approved also get
Column 'loan_status_id' cannot be null; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Column 'loan_status_id' cannot be null
sometimes clientId returned... always loanId OK?
Loan Transactions (repay and waive - and maybe reversal - but not disbursement) general talk needed as retrieve could work for any txn?
transaction type... UNKNOWN(0), DISBURSEMENT(1), REPAYMENT(2), REVERSAL(3), WAIVED(4);
Create - (command has string and proper value fields... so assume its like eventDate above)
Template - does waiver amount default to 'rest of loan' cos it looked like it missed out on other waivers. didn't test
repayment amount matches current installment outstanding amount w/o taking waivers into account.
check descriptions - couldn't test because of invalid locale
retrieve: display transaction type value?
"principal" : null, "interest" : null, total, "totalWaived" : null, "overpaid" : null, and the offset - are nulls ever put in?
adjust:
when adjusting a disbursal - The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>java.lang.IllegalArgumentException: Only repayment and waiver transactions can be adjusted.
on create and adjust, app returns clientId can it be transaction id or loanId?
BUT NOT FOR NOWS
should be able to get clients by branch as well
also get loans of different status's by branch etc
list of loan transactions not available (except in summary - presume repayments section has repayments and waivers and adjusts)
DOCUMENTATION REMAINING
Just Errors section to do in the Overview section
Identify Fields that need explaining
=========================
bit of loan product/loan
repayment/waiver - describe waiver
why fields "totalWaived", "overpaid"
+4
View File
File diff suppressed because one or more lines are too long