Merge branch 'new-design' into develop
2
.gitignore
vendored
@ -12,4 +12,4 @@
|
||||
target
|
||||
src/main/resources/
|
||||
src/test/resources/
|
||||
*.iml
|
||||
*.iml
|
||||
|
||||
2
NOTICE
@ -1,5 +1,5 @@
|
||||
Open Bank Project - Transparency / Social Finance Web Application
|
||||
Copyright (C) 2011, 2012, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,22 +1,23 @@
|
||||
#this is a sample props file you should edit and rename
|
||||
#see https://www.assembla.com/wiki/show/liftweb/Properties for all the naming options, or just use "default.props" in this same folder
|
||||
|
||||
### OBP-API configuration
|
||||
|
||||
|
||||
### base configuration
|
||||
|
||||
#which data connector to use
|
||||
|
||||
#connector=mongodb
|
||||
#connector=rest
|
||||
#connector=...
|
||||
connector=mapped
|
||||
#connector=mongodb
|
||||
#connector=...
|
||||
|
||||
#if connector is mapped, set a database backend
|
||||
db.driver=org.postgresql.Driver
|
||||
#you can also use a no config needed h2 database by setting db.driver=org.h2.Driver and not including db.url
|
||||
|
||||
#you can use a no config needed h2 database by setting db.driver=org.h2.Driver and not including db.url
|
||||
#db.driver=org.postgresql.Driver
|
||||
#db.driver=org.h2.Driver
|
||||
#be sure to create your database and update the line below!
|
||||
db.url=jdbc:postgresql://localhost:5432/dbname?user=dbusername&password=thepassword
|
||||
|
||||
|
||||
|
||||
#our own remotely accessible URL
|
||||
#this is needed for oauth to work. it's important to access the api over this url, e.g.
|
||||
# if this is 127.0.0.1 don't use localhost to access it.
|
||||
# (this needs to be an URL)
|
||||
@ -25,9 +26,10 @@ hostname=http://127.0.0.1:8080
|
||||
#this is only useful for running the api locally via RunWebApp
|
||||
#if you use it, make sure this matches your hostname port!
|
||||
#if you want to change the port when running via the command line, use "mvn -Djetty.port=8089 jetty:run" instead
|
||||
dev.port=8089
|
||||
dev.port=8080
|
||||
|
||||
#mail server config: not need in dev mode, but important for production
|
||||
#sending mail out
|
||||
#not need in dev mode, but important for production
|
||||
mail.api.consumer.registered.sender.address=no-reply@example.com
|
||||
mail.api.consumer.registered.notification.addresses=you@example.com
|
||||
mail.smtp.host=127.0.0.1
|
||||
@ -36,15 +38,9 @@ mail.smtp.port=25
|
||||
#oauth token timeout
|
||||
token_expiration_weeks=4
|
||||
|
||||
#secret key that allows access to api calls to get info about oauth tokens. You should change this
|
||||
#to your own secret key
|
||||
BankMockKey=change_me
|
||||
|
||||
#secret key that allows access to the "add cash transactions" API. You should change this to your own secret key
|
||||
cashApplicationKey=change_me
|
||||
|
||||
#secret key that allows access to the "add transactions" API. You should change this to your own secret key
|
||||
importer_secret=change_me
|
||||
### sandbox
|
||||
|
||||
#set this to true if you want to allow users to create sandbox test accounts with a starting balance
|
||||
allow_sandbox_account_creation=true
|
||||
@ -55,16 +51,22 @@ allow_sandbox_data_import=true
|
||||
#secret key that allows access to the "data import" api. You should change this to your own secret key
|
||||
sandbox_data_import_secret=change_me
|
||||
|
||||
### features
|
||||
|
||||
|
||||
### api features
|
||||
|
||||
#secret key that allows access to the "add cash transactions" api. You should change this to your own secret key
|
||||
cashApplicationKey=change_me
|
||||
|
||||
#set this to false if you don't want the api payments call to work (starting with v1.2.1)
|
||||
payments_enabled=true
|
||||
|
||||
#transaction requests are replacing simple payments starting from 1.4.0
|
||||
#(and set a connector per feature. Will be expanded to several other features as well)
|
||||
transactionRequests_enabled=true
|
||||
transactionRequests_connector=mapped
|
||||
|
||||
|
||||
|
||||
### management modules
|
||||
|
||||
#rabbitMQ settings (used to communicate with HBCI project)
|
||||
@ -72,11 +74,32 @@ connection.host=localhost
|
||||
connection.user=theusername
|
||||
connection.password=thepassword
|
||||
|
||||
#set this to true if you want to have the api to send a message to the hbci project to refresh transactions for an account
|
||||
messageQueue.updateBankAccountsTransaction=false
|
||||
#secret key that allows access to the "add transactions" api. You should change this to your own secret key
|
||||
importer_secret=change_me
|
||||
|
||||
#set this to true if you want to have the api send a message to the hbci project to refresh transactions for an account
|
||||
messageQueue.updateBankAccountsTransaction=true
|
||||
|
||||
#the minimum time between updates in hours
|
||||
messageQueue.updateTransactionsInterval=1
|
||||
|
||||
#set this to true if you want to have the api listen for "create account" messages from the hbci project
|
||||
messageQueue.createBankAccounts=true
|
||||
|
||||
#set this to true if you want to allow users to delete accounts
|
||||
allow_account_deletion=true
|
||||
#set this to true if you want to allow users to delete accounts (local ones like HBCI connected)
|
||||
allow_account_deletion=true
|
||||
|
||||
#secret key that allows access to api calls to get info about oauth tokens. You should change this
|
||||
#to your own secret key
|
||||
BankMockKey=change_me
|
||||
|
||||
|
||||
|
||||
### web interface configuration
|
||||
webui_header_theme_color = #53C4EF
|
||||
webui_header_logo_left_url = /media/images/logo.png
|
||||
webui_header_logo_right_url =
|
||||
webui_index_page_about_section_background_image_url = /media/images/about-background.jpg
|
||||
webui_index_page_about_section_text = <p class="about-text"> \
|
||||
Welcome to the API Sandbox powered by the Open Bank Project! <br/> \
|
||||
</p>
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,13 +1,10 @@
|
||||
package code.bankconnectors
|
||||
|
||||
import code.management.ImporterAPI.ImporterTransaction
|
||||
import code.model.dataAccess.MappedBankAccount
|
||||
import code.tesobe.CashTransaction
|
||||
import code.transactionrequests.TransactionRequests
|
||||
import code.transactionrequests.TransactionRequests.{TransactionRequestChallenge, TransactionRequest, TransactionRequestId, TransactionRequestBody}
|
||||
import code.util.Helper._
|
||||
import com.javafx.tools.doclets.formats.html.markup.DocType
|
||||
import com.tesobe.model.CreateBankAccount
|
||||
import net.liftweb.common.{Full, Empty, Box}
|
||||
import code.model._
|
||||
import net.liftweb.util.Helpers._
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -36,12 +36,7 @@ import net.liftweb.util.Mailer.{BCC, To, Subject, From}
|
||||
import net.liftweb.util._
|
||||
import net.liftweb.common._
|
||||
import scala.xml.NodeSeq
|
||||
import net.liftweb.http.{SessionVar,Templates}
|
||||
import code.model.User
|
||||
import net.liftweb.json.JsonDSL._
|
||||
import net.liftweb.http.SHtml
|
||||
import net.liftweb.http.S
|
||||
import com.mongodb.DBObject
|
||||
import net.liftweb.http.{SHtml, SessionVar, Templates, S}
|
||||
import net.liftweb.http.js.JsCmds.FocusOnLoad
|
||||
|
||||
|
||||
@ -116,24 +111,25 @@ import net.liftweb.util.Helpers._
|
||||
override def skipEmailValidation = true
|
||||
|
||||
override def loginXhtml = {
|
||||
import net.liftweb.http.js.JsCmds.Noop
|
||||
val loginXml = Templates(List("templates-hidden","_login")).map({
|
||||
"form [action]" #> {S.uri} &
|
||||
"#loginText * " #> {S.??("log.in")} &
|
||||
"#emailAddressText * " #> {S.??("email.address")} &
|
||||
"#passwordText * " #> {S.??("password")} &
|
||||
"#loginText * " #> {S.?("log.in")} &
|
||||
"#emailAddressText * " #> {S.?("email.address")} &
|
||||
"#passwordText * " #> {S.?("password")} &
|
||||
"#recoverPasswordLink * " #> {
|
||||
"a [href]" #> {lostPasswordPath.mkString("/", "/", "")} &
|
||||
"a *" #> {S.??("recover.password")}
|
||||
"a *" #> {S.?("recover.password")}
|
||||
} &
|
||||
"#SignUpLink * " #> {
|
||||
"a [href]" #> {OBPUser.signUpPath.foldLeft("")(_ + "/" + _)} &
|
||||
"a *" #> {S.??("sign.up")}
|
||||
"a *" #> {S.?("sign.up")}
|
||||
}
|
||||
})
|
||||
SHtml.span(loginXml getOrElse NodeSeq.Empty,Noop)
|
||||
|
||||
<div>{loginXml getOrElse NodeSeq.Empty}</div>
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Overriden to use the hostname set in the props file
|
||||
*/
|
||||
@ -161,6 +157,35 @@ import net.liftweb.util.Helpers._
|
||||
}
|
||||
}
|
||||
|
||||
override def lostPasswordXhtml = {
|
||||
<div id="authorizeSection">
|
||||
<div id="userAccess">
|
||||
<div class="account account-in-content">
|
||||
{S.?("enter.email")}
|
||||
<form class="forgotPassword" action={S.uri} method="post">
|
||||
<div class="field username">
|
||||
<label>{userNameFieldString}</label> <user:email />
|
||||
</div>
|
||||
|
||||
<div class="field buttons">
|
||||
<div class="button button-field">
|
||||
<user:submit />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
override def lostPassword = {
|
||||
bind("user", lostPasswordXhtml,
|
||||
"email" -> SHtml.text("", sendPasswordReset _),
|
||||
"submit" -> lostPasswordSubmitButton(S.?("submit")))
|
||||
}
|
||||
|
||||
//override def def passwordResetMailBody(user: TheUserType, resetLink: String): Elem = { }
|
||||
|
||||
/**
|
||||
* Overriden to use the hostname set in the props file
|
||||
*/
|
||||
@ -186,18 +211,23 @@ import net.liftweb.util.Helpers._
|
||||
}
|
||||
|
||||
override def signupXhtml (user:OBPUser) = {
|
||||
<form id="signupForm" method="post" action={S.uri}>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">{ S.?("sign.up") }</td>
|
||||
</tr>
|
||||
{localForm(user, false, signupFields)}
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td><user:submit/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<div id="authorizeSection" class="signupSection">
|
||||
<div class="signup-error"><span class="lift:Msg?id=signup"/></div>
|
||||
<div>
|
||||
<form id="signupForm" method="post" action={S.uri}>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">{ S.?("sign.up") }</td>
|
||||
</tr>
|
||||
{localForm(user, false, signupFields)}
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td><user:submit/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
//overridden to allow a redirection if login fails
|
||||
@ -232,6 +262,7 @@ import net.liftweb.util.Helpers._
|
||||
case _ => {
|
||||
info("failed: " + failedLoginRedirect.get)
|
||||
failedLoginRedirect.get.foreach(S.redirectTo(_))
|
||||
S.error("login", S.?("Invalid Username or Password"))
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -239,7 +270,7 @@ import net.liftweb.util.Helpers._
|
||||
bind("user", loginXhtml,
|
||||
"email" -> (FocusOnLoad(<input type="text" name="username"/>)),
|
||||
"password" -> (<input type="password" name="password"/>),
|
||||
"submit" -> loginSubmitButton(S.??("log.in")))
|
||||
"submit" -> loginSubmitButton(S.?("log.in")))
|
||||
}
|
||||
|
||||
//overridden to allow redirect to loginRedirect after signup. This is mostly to allow
|
||||
@ -268,7 +299,9 @@ import net.liftweb.util.Helpers._
|
||||
S.redirectTo(redir)
|
||||
})
|
||||
|
||||
case xs => S.error(xs) ; signupFunc(Full(innerSignup _))
|
||||
case xs =>
|
||||
xs.foreach(e => S.error("signup", e.msg))
|
||||
signupFunc(Full(innerSignup _))
|
||||
}
|
||||
}
|
||||
|
||||
@ -278,6 +311,4 @@ import net.liftweb.util.Helpers._
|
||||
|
||||
innerSignup
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -44,7 +44,7 @@ import code.util.Helper.NOOP_SELECTOR
|
||||
class ConsumerRegistration extends Loggable {
|
||||
|
||||
//TODO: for security reasons this snippet and the template must be re-factored
|
||||
//to use the lift build in form function(SHtml._) so we can hide to what
|
||||
//to use the lift built-in form function(SHtml._) so we can hide to what
|
||||
//the input fields are mapped to in the server side !!
|
||||
|
||||
private object nameVar extends RequestVar("")
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -28,7 +28,7 @@ Berlin 13359, Germany
|
||||
Everett Sochowski : everett AT tesobe DOT com
|
||||
Ayoub Benali: ayoub AT tesobe DOT com
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
package code.snippet
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
53
src/main/scala/code/snippet/WebUI.scala
Normal file
@ -0,0 +1,53 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Email: contact@tesobe.com
|
||||
TESOBE / Music Pictures Ltd
|
||||
Osloerstrasse 16/17
|
||||
Berlin 13359, Germany
|
||||
|
||||
This product includes software developed at
|
||||
TESOBE (http://www.tesobe.com/)
|
||||
by
|
||||
Simon Redfern : simon AT tesobe DOT com
|
||||
Stefan Bethge : stefan AT tesobe DOT com
|
||||
Everett Sochowski : everett AT tesobe DOT com
|
||||
Ayoub Benali: ayoub AT tesobe DOT com
|
||||
|
||||
*/
|
||||
|
||||
package code.snippet
|
||||
|
||||
import net.liftweb.util.Helpers._
|
||||
import net.liftweb.util.{CssSel, Props}
|
||||
|
||||
import scala.xml.NodeSeq
|
||||
|
||||
class WebUI {
|
||||
def headerLogoLeft = {
|
||||
"img [src]" #> Props.get("webui_header_logo_left_url", "")
|
||||
}
|
||||
def headerLogoRight: CssSel = {
|
||||
"img [src]" #> Props.get("webui_header_logo_right_url", "")
|
||||
}
|
||||
def aboutBackground: CssSel = {
|
||||
"#main-about [style]" #> ("background-image: url(" + Props.get("webui_index_page_about_section_background_image_url", "") + ");")
|
||||
}
|
||||
def aboutText: CssSel = {
|
||||
".about-text *" #> scala.xml.Unparsed(Props.get("webui_index_page_about_section_text", ""))
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
<!--
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -30,143 +30,117 @@ Berlin 13359, Germany
|
||||
-->
|
||||
|
||||
<div id="main" class="lift:surround?with=default;at=content">
|
||||
<div class="lift:ConsumerRegistration.registerForm">
|
||||
<div class="registration">
|
||||
<h1 class="register-header">Register your application</h1>
|
||||
<div id="registerAppSection" class="lift:ConsumerRegistration.registerForm">
|
||||
<div class="registration account-in-content">
|
||||
<h1 class="register-header">Register your application</h1>
|
||||
<div id="registration-errors">
|
||||
<div class="error">
|
||||
<span class="errorContent"></span>
|
||||
</div>
|
||||
</div>
|
||||
<form class="register" method="post">
|
||||
<TABLE>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" >
|
||||
Please register your application to get your OAuth token and secret:
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="appType">Application Type</label>
|
||||
</td>
|
||||
<td>
|
||||
<select name="app-type" id="appType">
|
||||
<option class="app-type-option"></option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="appName">Application Name</label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="app-name" id="appName"></input>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="appUserAuthenticationUrl">User authentication URL</label>
|
||||
<img src="/media/images/moreInfo.png" title="The user will redirected to that URL during the authentication phase to authenticate. Leave it blank so that the user will see the default login page."
|
||||
alt="more info" class="moreInfoIcon"/>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="app-user-authentication-url" id="appUserAuthenticationUrl"></input>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="appDev">Developer Email</label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="app-developer" id="appDev"></input>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="appDesc">App Description</label>
|
||||
</td>
|
||||
<td>
|
||||
<textarea rows="4" name="app-description" id="appDesc"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<input type="submit" value="Register" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</TABLE>
|
||||
Please complete the information below so we can create your OAuth token and secret key.
|
||||
<div class="form-column">
|
||||
<div>
|
||||
<label for="appType">Application Type</label>
|
||||
<select name="app-type" id="appType">
|
||||
<option class="app-type-option"></option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="appName">Application Name</label>
|
||||
<input type="text" name="app-name" id="appName">
|
||||
</div>
|
||||
<!-- <div>
|
||||
<label for="appUserAuthenticationUrl">Authentication URL</label>
|
||||
<input type="text" name="app-user-authentication-url" id="appUserAuthenticationUrl">
|
||||
<img src="/media/images/moreInfo.png" title="The user will redirected to that URL during the authentication phase to authenticate. Leave it blank so that the user will see the default login page."
|
||||
alt="more info" class="moreInfoIcon"/>
|
||||
</div> -->
|
||||
<div>
|
||||
<label for="appDev">Developer Email</label>
|
||||
<input type="text" name="app-developer" id="appDev">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-column">
|
||||
<div>
|
||||
<label for="appDesc">Description of the application</label>
|
||||
<textarea rows="4" name="app-description" id="appDesc"></textarea>
|
||||
</div>
|
||||
<div class="submit">
|
||||
<input type="submit" value="Send" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="success">
|
||||
<h1 class="success-message"></h1>
|
||||
<TABLE>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" >
|
||||
Thank you for registering to use the Open Bank API. Here is your developer information. Please save it in a secure location.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Application Type</label>
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-type">web</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Application Name
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-name">ABC</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
User authentication URL
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-user-authentication-url">ABC</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Developer Email
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-developer">abc@example.com</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
App Description
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-description">ABCDEF</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Consumer Key
|
||||
</td>
|
||||
<td>
|
||||
<span class="auth-key">23432432432432</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Consumer Secret
|
||||
</td>
|
||||
<td>
|
||||
<span class="secret-key">3334543543543</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</TABLE>
|
||||
</div>
|
||||
</div>
|
||||
<div class="success">
|
||||
<h1 class="success-message"></h1>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" >
|
||||
Thank you for registering to use the Open Bank API. Here is your developer information. Please save it in a secure location.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Application Type</label>
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-type">web</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Application Name
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-name">ABC</span>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- <tr>
|
||||
<td>
|
||||
User authentication URL
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-user-authentication-url">ABC</span>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
<tr>
|
||||
<td>
|
||||
Developer Email
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-developer">abc@example.com</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
App Description
|
||||
</td>
|
||||
<td>
|
||||
<span class="app-description">ABCDEF</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Consumer Key
|
||||
</td>
|
||||
<td>
|
||||
<span class="auth-key">23432432432432</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Consumer Secret
|
||||
</td>
|
||||
<td>
|
||||
<span class="secret-key">3334543543543</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -1,6 +1,6 @@
|
||||
<!--
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -30,27 +30,28 @@ Berlin 13359, Germany
|
||||
-->
|
||||
|
||||
<div id="main" class="lift:surround?with=default;at=content">
|
||||
<div id="create-account-explanation">
|
||||
This form is designed to allow developers to create test accounts. When an account is created,
|
||||
a view with VIEW_ID "owner" will be created, and access to this view will be granted to the user
|
||||
(you) who created it. If you wish, you may then populate the account with transactions using the
|
||||
<a href="https://github.com/OpenBankProject/OBP-API/wiki/REST-API-V1.2.1#payments">v1.2.1 payments API</a>.
|
||||
If you wish to do this, you will probably want to create some other accounts to send payments to and receive
|
||||
payments from.
|
||||
</div>
|
||||
<div id="create-account-instructions">
|
||||
Create a new test bank account:
|
||||
</div>
|
||||
<div id="create-account-error-message"></div>
|
||||
<div id="account-created-successfully" style="display:none">
|
||||
Thank you, account <span id="created-account-id">ACCOUNT_ID</span> has
|
||||
been created at bank <span id="created-account-bank-id">BANK_ID</span> with
|
||||
an initial balance of <span id="created-account-initial-balance">INITIAL_BALANCE</span>
|
||||
<span id="created-account-currency">CURRENCY</span>.
|
||||
</div>
|
||||
<div id="create-account-form-container">
|
||||
<div id="create-sandbox-account" class="">
|
||||
<div id="create-account-explanation">
|
||||
This form is designed to allow developers to create test accounts. When an account is created,
|
||||
a view with VIEW_ID "owner" will be created, and access to this view will be granted to the user
|
||||
(you) who created it. If you wish, you may then populate the account with transactions using the
|
||||
<a href="https://github.com/OpenBankProject/OBP-API/wiki/REST-API-V1.2.1#payments">v1.2.1 payments API</a>.
|
||||
If you wish to do this, you will probably want to create some other accounts to send payments to and receive
|
||||
payments from.
|
||||
</div>
|
||||
<div id="create-account-instructions">
|
||||
Create a new test bank account:
|
||||
</div>
|
||||
<div id="create-account-error-message"></div>
|
||||
<div id="account-created-successfully" style="display:none">
|
||||
Thank you, account <span id="created-account-id">ACCOUNT_ID</span> has
|
||||
been created at bank <span id="created-account-bank-id">BANK_ID</span> with
|
||||
an initial balance of <span id="created-account-initial-balance">INITIAL_BALANCE</span>
|
||||
<span id="created-account-currency">CURRENCY</span>.
|
||||
</div>
|
||||
|
||||
<form data-lift="form.ajax">
|
||||
<div data-lift="CreateTestAccountForm">
|
||||
<div data-lift="CreateTestAccountForm" class="form-column middle">
|
||||
<div>
|
||||
<label for="bank-id">Bank</label>
|
||||
<select id="create-account-bank-selector" name="bank-id">
|
||||
@ -69,8 +70,10 @@ Berlin 13359, Germany
|
||||
<label for="account-id">Desired Initial Balance</label>
|
||||
<input type="text" name="initial-balance">
|
||||
</div>
|
||||
<input type="submit">
|
||||
<div class="submit">
|
||||
<input type="submit">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -1,6 +1,6 @@
|
||||
<!--
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -29,14 +29,41 @@ Berlin 13359, Germany
|
||||
Ayoub Benali: ayoub AT tesobe DOT com
|
||||
-->
|
||||
|
||||
<div id="main" class="lift:surround?with=default;at=content">
|
||||
<p class="text">
|
||||
Welcome to The Open Bank Project API.
|
||||
<div id="main" data-lift="surround?with=default;at=content">
|
||||
<div data-lift="WebUI.aboutBackground">
|
||||
<div id="main-about" data-lift="WebUI.aboutText">
|
||||
<div class="about-text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="main-links">
|
||||
<a href="/consumer-registration">Register for API keys</a>
|
||||
<a href="https://github.com/OpenBankProject/OBP-API/wiki/">API documentation</a>
|
||||
</div>
|
||||
<div id="main-sandbox">
|
||||
<h1>Get Started</h1>
|
||||
|
||||
The Open Bank Project is an open source API and App store for banks that empowers financial
|
||||
institutions to securely and rapidly enhance their digital offerings using an ecosystem of 3rd
|
||||
party applications and services.
|
||||
<p class="about-text">
|
||||
To get started please:
|
||||
<ol>
|
||||
<li>Register as an API user <a href="/user_mgt/sign_up">here</a></li>
|
||||
<li>Register one or more developer keys <a href="/consumer-registration">here</a></li>
|
||||
<li>See the documentation <a href="https://github.com/OpenBankProject/OBP-API/wiki">here</a></li>
|
||||
</ol>
|
||||
</p>
|
||||
|
||||
Find more information about the project at <a href="https://openbankproject.com/">openbankproject.com</a>.
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<h1>Questions?</h1>
|
||||
|
||||
<p class="about-text">
|
||||
Please email: contact AT openbankproject DOT com or tweet <a href="https://twitter.com/openbankproject">@OpenBankProject</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="main-partners">
|
||||
<!-- <a href="http://www.bnpparibas-pf.com/en/"><img src="/media/images/bnpp/bnpp-personal.png" alt=""></a> -->
|
||||
<span class="stretch"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
1
src/main/webapp/media/css/toastr.min.css
vendored
Normal file
@ -1,23 +1,18 @@
|
||||
@import url('reset.css');
|
||||
|
||||
@media all and (min-width : 300px) and (max-width : 999px) {
|
||||
#signupForm td input{
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 1000px) {
|
||||
#signupForm td input{
|
||||
width: 200px;
|
||||
}
|
||||
}
|
||||
@import url('bnpp-fonts.css');
|
||||
|
||||
body {
|
||||
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-weight: 300;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
html {
|
||||
height: 100%
|
||||
}
|
||||
|
||||
a {
|
||||
color: #1C8B77;
|
||||
color: #666666;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
@ -87,8 +82,17 @@ input.submit {
|
||||
|
||||
#header {
|
||||
overflow: auto;
|
||||
padding: 45px 0 40px;
|
||||
background: transparent url(../images/header.png) repeat-x 50% 100%;
|
||||
padding: 0px 0 20px;
|
||||
}
|
||||
|
||||
#header-decoration {
|
||||
background-color: #53C4EF;
|
||||
width: 100%;
|
||||
height: 35px;
|
||||
}
|
||||
|
||||
#lift__noticesContainer__ {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#accountShortDiscription {
|
||||
@ -101,56 +105,167 @@ input.submit {
|
||||
}
|
||||
|
||||
#nav {
|
||||
overflow: auto;
|
||||
padding: 3px 0 0;
|
||||
background: transparent url(../images/nav.png) repeat-x 50% 50%;
|
||||
}
|
||||
|
||||
#about_text {
|
||||
text-align: justify;
|
||||
width: 500px;
|
||||
margin-top: 15px;
|
||||
float: left;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
padding: 4px 10px 0 10px;
|
||||
background: #EEEEEE;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
#nav ul {
|
||||
float: left;
|
||||
height: 40px;
|
||||
|
||||
}
|
||||
|
||||
#nav ul li {
|
||||
float: left;
|
||||
margin: 0 0 0 3px;
|
||||
margin: 3px 0 0 3px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#nav ul li:nth-child(1):before {
|
||||
background-image: url(../images/nav-home-icon.png);
|
||||
content: " ";
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
display: inline-block;
|
||||
margin-right: -5px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#nav ul li:nth-child(2) a:after,
|
||||
#nav ul li:nth-child(3) a:after,
|
||||
#nav ul li:nth-child(4) a:after,
|
||||
#nav ul li:nth-child(5) a:after,
|
||||
#nav ul li:nth-child(6) a:after {
|
||||
position: absolute;
|
||||
display: block;
|
||||
width: 2px;
|
||||
height: 39px;
|
||||
margin-top: -26px; /* position ::after item vertically */
|
||||
margin-left: -20px; /* position ::after item horizontally */
|
||||
content: " ";
|
||||
background-image: url(../images/nav-separator.png);
|
||||
}
|
||||
|
||||
#nav ul li a {
|
||||
display: block;
|
||||
display: inline-block;
|
||||
padding: 8px 20px 10px;
|
||||
border-radius: 5px 5px 0 0;
|
||||
background: transparent url(../images/nav-item.png) repeat-x 50% 50%;
|
||||
color: #ffffff;
|
||||
color: darkgray;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
text-shadow: 1px 1px 1px #666666;
|
||||
}
|
||||
|
||||
#nav ul li a.selected {
|
||||
float: left;
|
||||
background-image: url(../images/nav-selected.png);
|
||||
color: #333333;
|
||||
text-shadow: none;
|
||||
color: #101010;
|
||||
}
|
||||
|
||||
#logo {
|
||||
#nav .nav-login-state-item {
|
||||
float: right;
|
||||
margin-right: 10px;
|
||||
color: darkgray;
|
||||
}
|
||||
|
||||
#nav .nav-login-state-item .logout {
|
||||
color: black;
|
||||
}
|
||||
|
||||
#logo-left {
|
||||
margin: 20px 0 0 120px;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
width: 279px;
|
||||
height: 38px;
|
||||
margin: 0 0 0 10px;
|
||||
background: transparent url(../images/logo.png) no-repeat 50% 0;
|
||||
text-indent: -9999em;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#logo-right {
|
||||
margin: 20px 120px 0 0;
|
||||
float: right;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#main {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
#main-about {
|
||||
padding-top: 70px;
|
||||
/* background-image: url(../images/bnpp/bnpp-background.jpg); */
|
||||
min-height: 463px;
|
||||
}
|
||||
|
||||
#main-about p.about-text {
|
||||
padding: 10px 180px 40px 180px;
|
||||
font-size: 20px;
|
||||
line-height: 1.5em;
|
||||
color: white;
|
||||
text-align: center;
|
||||
font-weight: 200;
|
||||
}
|
||||
|
||||
#main-about p.about-text a {
|
||||
color: lightgray;
|
||||
}
|
||||
|
||||
#main-links {
|
||||
background-color: #3C3C3C;
|
||||
text-align: center;
|
||||
height: 105px;
|
||||
}
|
||||
|
||||
#main-links a {
|
||||
padding: 5px 25px 5px 25px;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
border: 2px solid gray;
|
||||
border-radius: 25px;
|
||||
margin: 30px 20px 0px 20px;
|
||||
}
|
||||
|
||||
#main-sandbox {
|
||||
background-color: #9A9A9A;
|
||||
color: #333333;
|
||||
padding: 25px 50px 100px 100px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#main-sandbox h1 {
|
||||
color: white;
|
||||
font-size: 35px;
|
||||
margin-bottom: 15px;
|
||||
margin-left: -5px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#main-partners {
|
||||
width: 900px;
|
||||
padding: 30px 50px 0px 100px;
|
||||
margin-top: 90px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
text-align: justify;
|
||||
-ms-text-justify: distribute-all-lines;
|
||||
text-justify: distribute-all-lines;
|
||||
}
|
||||
|
||||
#main-partners img {
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
#main-partners a {
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
/* zoom: 1; */
|
||||
margin: 0px 30px 75px 0px;
|
||||
}
|
||||
|
||||
.stretch {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
font-size: 0;
|
||||
line-height: 0
|
||||
}
|
||||
|
||||
.account-upper{
|
||||
@ -191,6 +306,7 @@ input.submit {
|
||||
.account form.login .buttons {
|
||||
margin-top: 30px;
|
||||
height: 2em;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.account form.login .field input {
|
||||
@ -211,7 +327,6 @@ input.submit {
|
||||
|
||||
.account form.login .button-field {
|
||||
height: 2em;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.account form.login .button .submit {
|
||||
@ -237,43 +352,52 @@ input.submit {
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
border: 1px solid #CCC;
|
||||
border-radius: 3px;
|
||||
border-radius: 6px;
|
||||
padding: 2px;
|
||||
height: 1.8em;
|
||||
}
|
||||
|
||||
.account-in-content form.login .button .signup {
|
||||
border: 1px solid gray;
|
||||
border-radius: 3px;
|
||||
padding: 10px 20px;
|
||||
color: gray;
|
||||
border: 1px solid white;
|
||||
border-radius: 20px;
|
||||
padding: 2px 18px;
|
||||
color: #535456;
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
float: right;
|
||||
margin: 0;
|
||||
text-transform: uppercase;
|
||||
background-color: white;
|
||||
font-weight: 500;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.account-in-content form.login .button .submit {
|
||||
background: #C1E7E1;
|
||||
border: 1px solid #22a890;
|
||||
border-radius: 3px;
|
||||
padding: 10px 20px;
|
||||
color: white;
|
||||
font-size: 20px;
|
||||
background: white;
|
||||
border: gray;
|
||||
border-radius: 20px;
|
||||
padding: 7px 20px;
|
||||
color: #535456;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
height: initial;
|
||||
margin: 0;
|
||||
width: inherit;
|
||||
text-transform: uppercase;
|
||||
font-weight: 500;
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
.account-in-content form.login .field .forgot {
|
||||
float: right;
|
||||
margin: 1px 8px 0 0;
|
||||
margin: 1px 6px 0 0;
|
||||
padding: 2px 0 0;
|
||||
font-size: 11px;
|
||||
font-size: 12px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.account-upper form.login {
|
||||
@ -305,32 +429,93 @@ input.submit {
|
||||
}
|
||||
|
||||
.account-in-content form.login .field label {
|
||||
font-size: 12px;
|
||||
/* font-size: 12px; */
|
||||
}
|
||||
|
||||
.account-in-content form.login .field input {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.account-in-content form.forgotPassword {
|
||||
padding-top: 20px;
|
||||
width: 470px;
|
||||
}
|
||||
|
||||
#content {
|
||||
padding: 20px 0 40px;
|
||||
font-size: 16px;
|
||||
line-height: 1.3em;
|
||||
.account-in-content form.forgotPassword .buttons {
|
||||
margin-top: 30px;
|
||||
height: 2em;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
margin: 0 0 40px;
|
||||
width: 90%;
|
||||
margin: 0 0 20px;
|
||||
border-collapse: collapse;
|
||||
clear : both;
|
||||
clear: both;
|
||||
color: black;
|
||||
/* border: none; */
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table th,
|
||||
table td {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table tbody tr {
|
||||
/* background: #459860; */
|
||||
}
|
||||
|
||||
table tbody tr:nth-child(even) {
|
||||
/* background: #459860; */
|
||||
}
|
||||
|
||||
table td {
|
||||
padding: 15px 0px 15px 14px;
|
||||
/* border-top: 2px solid #ffffff; */
|
||||
line-height: 1em;
|
||||
font-size: 15px;
|
||||
/* vertical-align: top; */
|
||||
/* color: white; */
|
||||
}
|
||||
|
||||
table th {
|
||||
overflow: auto;
|
||||
padding: 0 0 10px 8px;
|
||||
border-bottom: 2px solid #cbcbcb;
|
||||
}
|
||||
|
||||
section#content {
|
||||
font-size: 20px;
|
||||
line-height: 1.5em;
|
||||
text-align: center;
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* don't add spacing after last table in a transaction list */
|
||||
#content div div:last-of-type table {
|
||||
section#content div div:last-of-type table {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
section#content form {
|
||||
color: white;
|
||||
/* width: 85%; */
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
font-size: 16px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
/* for lift generated forms */
|
||||
section#content>form>table {
|
||||
background-color: #53C4EF;
|
||||
padding: 10px;
|
||||
color: white;
|
||||
max-width: 50%;
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
#verifier {
|
||||
margin-top: 30px;
|
||||
font-weight: bold;
|
||||
@ -338,8 +523,10 @@ table {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#signupForm tr td:first-child {
|
||||
width: 170px;
|
||||
#signupForm tr:first-child td {
|
||||
width: 150px;
|
||||
font-size: 18px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#signupForm td span input{
|
||||
@ -354,216 +541,110 @@ table {
|
||||
}
|
||||
|
||||
#signupForm td input[type=submit]{
|
||||
width:85px;
|
||||
/* width:85px; */
|
||||
}
|
||||
|
||||
table th,
|
||||
table td {
|
||||
text-align: left;
|
||||
.signup-error {
|
||||
margin-bottom: 10px;
|
||||
color: red;
|
||||
}
|
||||
|
||||
table tbody tr {
|
||||
background: #f3f9f8;
|
||||
#registerAppSection {
|
||||
background-color: #53C4EF;
|
||||
padding: 10px;
|
||||
color: white;
|
||||
max-width: 85%;
|
||||
margin-top: 50px;
|
||||
display: inline-block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table tbody tr:nth-child(even) {
|
||||
background: #f2f8f1;
|
||||
#registerAppSection h1 {
|
||||
text-align: left;
|
||||
margin-left: 2%;
|
||||
margin-bottom: 40px;
|
||||
font-size: 20px;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
table td {
|
||||
padding: 14px 10px;
|
||||
border-top: 2px solid #ffffff;
|
||||
line-height: 1em;
|
||||
font-size: 13px;
|
||||
vertical-align: top;
|
||||
#registerAppSection .success {
|
||||
/* font-size: 20px !important; */
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
table th {
|
||||
overflow: auto;
|
||||
padding: 0 0 10px 8px;
|
||||
border-bottom: 2px solid #cbcbcb;
|
||||
div.registration {
|
||||
padding: 30px 0 50px 0;
|
||||
/* width: 84%; */
|
||||
}
|
||||
|
||||
table.management th {
|
||||
padding-left: 0px;
|
||||
form.register {
|
||||
/* color: #555555; */
|
||||
width: 96%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
table.transactions th h5.date {
|
||||
float: left;
|
||||
form div.form-column {
|
||||
float: left;
|
||||
width: 50%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
/* color: #555555; */
|
||||
}
|
||||
|
||||
table.transactions th h6.balance {
|
||||
float: right;
|
||||
form div.form-column div {
|
||||
display: inline-flex;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
table.transactions th .balance .text {
|
||||
color: #999999;
|
||||
padding: 0 10px 0 0;
|
||||
font-size: 0.8em;
|
||||
form label {
|
||||
font-size: 16px;
|
||||
min-width: 144px;
|
||||
display: inline-flex;
|
||||
text-align: left;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
table.transactions td.icon {
|
||||
width: 20px;
|
||||
form input[type=text], form select {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
table.transactions td.icon .out,
|
||||
table.transactions td.icon .in {
|
||||
overflow: hidden;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background-color: transparent;
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
text-indent: -9999em;
|
||||
form input, form select {
|
||||
border-radius: 5px;
|
||||
border: solid 1px white;
|
||||
height: 28px;
|
||||
/* margin-bottom: 16px; */
|
||||
color: #535456;
|
||||
background-color: white;
|
||||
font-size: 17px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
table.transactions td.icon .out {
|
||||
background-image: url(../images/transaction-out.png);
|
||||
form.register textarea {
|
||||
width: 80%;
|
||||
border-radius: 5px;
|
||||
border: solid 1px white;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
table.transactions td.icon .in {
|
||||
background-image: url(../images/transaction-in.png);
|
||||
form.register div.submit {
|
||||
margin-left: auto;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
table.transactions td.symbol {
|
||||
width: 10px;
|
||||
padding-right: 5px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
form input[type=submit] {
|
||||
font-size: 18px;
|
||||
height: 30px;
|
||||
border-radius: 20px;
|
||||
text-transform: uppercase;
|
||||
text-align: left;
|
||||
padding: 2px 20px 0px 20px;
|
||||
}
|
||||
|
||||
table.transactions td.amount {
|
||||
padding-left: 5px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
table.transactions td.name {
|
||||
width: 160px;
|
||||
}
|
||||
|
||||
table.transactions td.extra {
|
||||
width: 350px;
|
||||
}
|
||||
|
||||
table.transactions td.comments {
|
||||
width: 30px;
|
||||
padding-top: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.transactions td.comments .comment {
|
||||
display: inline-block;
|
||||
background: transparent url(../images/comment.png) no-repeat 50% 0;
|
||||
width: 13px;
|
||||
height: 9px;
|
||||
padding: 3px 3px 6px 4px;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
line-height: 1em;
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
table.management th a.sort {
|
||||
margin: 0 0 0 3px;
|
||||
}
|
||||
|
||||
td a.upload {
|
||||
display: inline-block;
|
||||
padding: 5px 5px 6px 30px;
|
||||
border: 1px dotted #cccccc;
|
||||
border-radius: 5px;
|
||||
background: #ffffff url(../images/upload-off.png) no-repeat 5px 5px;
|
||||
line-height: 22px;
|
||||
white-space: nowrap;
|
||||
font-size: 12px;
|
||||
text-decoration: none;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
table.management td a.upload:hover {
|
||||
background-image: url(../images/upload-on.png);
|
||||
text-decoration: underline;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
table.management td span.upload {
|
||||
display: inline-block;
|
||||
padding: 2px;
|
||||
border: 1px solid #cccccc;
|
||||
border-radius: 5px;
|
||||
background: #ffffff;
|
||||
line-height: 0;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
table.management td span.upload img {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
table.management th {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
table.management th.account {
|
||||
width: 155px;
|
||||
}
|
||||
|
||||
table.management td.account {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
table.management th.public {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
table.management td.public {
|
||||
padding-left: 0;
|
||||
line-height: 16px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
table.management th.private {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
table.management td.private {
|
||||
padding-left: 0;
|
||||
line-height: 16px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
table.management th.website {
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
table.management td.website {
|
||||
padding-left: 0;
|
||||
line-height: 16px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
table.management th.information {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
table.management td.information {
|
||||
padding-left: 0;
|
||||
line-height: 16px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
table.management th.image {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
table.management td.image {
|
||||
padding-top: 3px;
|
||||
padding-bottom: 2px;
|
||||
padding-left: 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
div.extra_account_logo {
|
||||
float: left;
|
||||
}
|
||||
@ -588,29 +669,52 @@ span.alias_indicator_private {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
|
||||
#footer {
|
||||
background: #f0f0f0;
|
||||
border-top: 1px dotted #cccccc;
|
||||
border-radius: 0 0 8px 8px;
|
||||
padding: 10px 0 13px;
|
||||
padding: 100px 0px 15px 50px;
|
||||
font-size: 10px;
|
||||
color: #B3B3B3;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
#footer p {
|
||||
color: #999999;
|
||||
font-size: 11px;
|
||||
text-align: center;
|
||||
line-height: 1.5
|
||||
}
|
||||
#authorizeSection{
|
||||
background-color: #f0f0f0;
|
||||
border-radius: 12px;
|
||||
padding: 10px;
|
||||
color: black;
|
||||
width: 450px;
|
||||
max-width: 80%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
#authorizeSection {
|
||||
background-color: #53C4EF;
|
||||
padding: 10px;
|
||||
color: white;
|
||||
max-width: 85%;
|
||||
margin-top: 50px;
|
||||
display: inline-block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
#authorizeSection form.login {
|
||||
padding-top: 20px;
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
.signupSection {
|
||||
padding: 30px 0px 30px 0px !important;
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
.signupSection form input[type=text],
|
||||
.signupSection form select,
|
||||
.signupSection form input[type=password] {
|
||||
width: 80%;
|
||||
}
|
||||
.signupSection form tr td {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#userAccess {
|
||||
padding: 5px;
|
||||
/* width: 400px; */
|
||||
}
|
||||
|
||||
.login-error {
|
||||
@ -618,13 +722,10 @@ span.alias_indicator_private {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#authorizeSection form.login {
|
||||
padding-top: 20px;
|
||||
width: 400px;
|
||||
}
|
||||
span.edit_error_class {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#accountList {
|
||||
margin-top: 5px;
|
||||
float : right;
|
||||
@ -661,38 +762,37 @@ span.edit_error_class {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
li.comment
|
||||
{
|
||||
li.comment {
|
||||
padding : 14px 10px;
|
||||
border-top: 2px solid white;
|
||||
background: #f3f9f8;
|
||||
line-height: 1em;
|
||||
font-size: 13px;
|
||||
}
|
||||
#comment_list
|
||||
{
|
||||
|
||||
#comment_list {
|
||||
margin-top: 10px;
|
||||
}
|
||||
div#addCommentbloc
|
||||
{
|
||||
|
||||
div#addCommentbloc {
|
||||
margin-top: 15px;
|
||||
}
|
||||
#submitComment
|
||||
{
|
||||
|
||||
#submitComment {
|
||||
display: block;
|
||||
}
|
||||
#lastUpdate
|
||||
{
|
||||
|
||||
#lastUpdate {
|
||||
margin-top: 5px;
|
||||
font-size: 13px;
|
||||
display: block;
|
||||
}
|
||||
#account_details
|
||||
{
|
||||
|
||||
#account_details {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
a#feedBack
|
||||
{
|
||||
|
||||
a#feedBack {
|
||||
display: block;
|
||||
position: fixed;
|
||||
left:0;
|
||||
@ -702,57 +802,79 @@ a#feedBack
|
||||
background: url(../images/feedback-button.gif);
|
||||
cursor: pointer;
|
||||
}
|
||||
span#registrationDetails
|
||||
{
|
||||
|
||||
span#registrationDetails {
|
||||
font-size: 10px;
|
||||
}
|
||||
.error
|
||||
{
|
||||
|
||||
.error {
|
||||
color:red;
|
||||
}
|
||||
img.moreInfoIcon
|
||||
{
|
||||
margin-left: 5px;
|
||||
|
||||
img.moreInfoIcon {
|
||||
margin-left: 6px;
|
||||
margin-top: 7px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
span#submissionMessage
|
||||
{
|
||||
|
||||
span#submissionMessage {
|
||||
display: block;
|
||||
}
|
||||
span#submissionSuccess, span#submissionFailed
|
||||
{
|
||||
|
||||
span#submissionSuccess, span#submissionFailed {
|
||||
display: block;
|
||||
padding: 15px 20px;
|
||||
background: #66ee55;
|
||||
}
|
||||
span#submissionFailed
|
||||
{
|
||||
|
||||
span#submissionFailed {
|
||||
background: #ff3311;
|
||||
}
|
||||
span#accountsMsg
|
||||
{
|
||||
|
||||
span#accountsMsg {
|
||||
font-size: 13px;
|
||||
}
|
||||
#registration-errors{
|
||||
|
||||
#registration-errors {
|
||||
color: red;
|
||||
border: solid 1px red;
|
||||
margin: 20px;
|
||||
padding: 15px;
|
||||
/* border: solid 1px red; */
|
||||
margin: 0;
|
||||
/* padding: 15px; */
|
||||
}
|
||||
|
||||
#oauth-done-thanks {
|
||||
margin: 30px;
|
||||
color: black;
|
||||
}
|
||||
|
||||
#create-account-form-container {
|
||||
margin-left: 50px;
|
||||
margin-top: 30px;
|
||||
#create-sandbox-account {
|
||||
background-color: #53C4EF;
|
||||
padding: 20px;
|
||||
color: white;
|
||||
max-width: 85%;
|
||||
margin-top: 50px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#create-account-form-container input {
|
||||
margin-top: 5px;
|
||||
#create-sandbox-account form label {
|
||||
min-width: 190px;
|
||||
}
|
||||
|
||||
#create-sandbox-account form div.submit {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
#create-sandbox-account form div.form-column.middle {
|
||||
margin-left: 25%;
|
||||
}
|
||||
|
||||
#create-account-explanation a {
|
||||
color: lightgray;
|
||||
}
|
||||
|
||||
#create-account-instructions {
|
||||
margin-top: 30px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
@ -765,7 +887,7 @@ span#accountsMsg
|
||||
#account-created-successfully {
|
||||
margin-left: 50px;
|
||||
margin-top: 10px;
|
||||
color: green;
|
||||
color: lightgreen;
|
||||
}
|
||||
|
||||
#admin-logout {
|
||||
|
||||
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 17 KiB |
BIN
src/main/webapp/media/images/about-background.jpg
Normal file
|
After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
BIN
src/main/webapp/media/images/logo_stacked.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 925 B After Width: | Height: | Size: 964 B |
BIN
src/main/webapp/media/images/nav-home-icon.png
Normal file
|
After Width: | Height: | Size: 443 B |
BIN
src/main/webapp/media/images/nav-separator.png
Normal file
|
After Width: | Height: | Size: 193 B |
|
Before Width: | Height: | Size: 9.1 KiB |
2
src/main/webapp/media/js/toastr.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
!function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return f({type:O.error,iconClass:g().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=g()),v=e("#"+t.containerId),v.length?v:(n&&(v=c(t)),v)}function i(e,t,n){return f({type:O.info,iconClass:g().iconClasses.info,message:e,optionsOverride:n,title:t})}function o(e){w=e}function s(e,t,n){return f({type:O.success,iconClass:g().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return f({type:O.warning,iconClass:g().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e){var t=g();v||n(t),l(e,t)||u(t)}function d(t){var i=g();return v||n(i),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function u(t){for(var n=v.children(),i=n.length-1;i>=0;i--)l(e(n[i]),t)}function l(t,n){return t&&0===e(":focus",t).length?(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0):!1}function c(t){return v=e("<div/>").attr("id",t.containerId).addClass(t.positionClass).attr("aria-live","polite").attr("role","alert"),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",target:"body",closeHtml:'<button type="button">×</button>',newestOnTop:!0,preventDuplicates:!1,progressBar:!1}}function m(e){w&&w(e)}function f(t){function i(t){return!e(":focus",l).length||t?(clearTimeout(O.intervalId),l[r.hideMethod]({duration:r.hideDuration,easing:r.hideEasing,complete:function(){h(l),r.onHidden&&"hidden"!==b.state&&r.onHidden(),b.state="hidden",b.endTime=new Date,m(b)}})):void 0}function o(){(r.timeOut>0||r.extendedTimeOut>0)&&(u=setTimeout(i,r.extendedTimeOut),O.maxHideTime=parseFloat(r.extendedTimeOut),O.hideEta=(new Date).getTime()+O.maxHideTime)}function s(){clearTimeout(u),O.hideEta=0,l.stop(!0,!0)[r.showMethod]({duration:r.showDuration,easing:r.showEasing})}function a(){var e=(O.hideEta-(new Date).getTime())/O.maxHideTime*100;f.width(e+"%")}var r=g(),d=t.iconClass||r.iconClass;if("undefined"!=typeof t.optionsOverride&&(r=e.extend(r,t.optionsOverride),d=t.optionsOverride.iconClass||d),r.preventDuplicates){if(t.message===C)return;C=t.message}T++,v=n(r,!0);var u=null,l=e("<div/>"),c=e("<div/>"),p=e("<div/>"),f=e("<div/>"),w=e(r.closeHtml),O={intervalId:null,hideEta:null,maxHideTime:null},b={toastId:T,state:"visible",startTime:new Date,options:r,map:t};return t.iconClass&&l.addClass(r.toastClass).addClass(d),t.title&&(c.append(t.title).addClass(r.titleClass),l.append(c)),t.message&&(p.append(t.message).addClass(r.messageClass),l.append(p)),r.closeButton&&(w.addClass("toast-close-button").attr("role","button"),l.prepend(w)),r.progressBar&&(f.addClass("toast-progress"),l.prepend(f)),l.hide(),r.newestOnTop?v.prepend(l):v.append(l),l[r.showMethod]({duration:r.showDuration,easing:r.showEasing,complete:r.onShown}),r.timeOut>0&&(u=setTimeout(i,r.timeOut),O.maxHideTime=parseFloat(r.timeOut),O.hideEta=(new Date).getTime()+O.maxHideTime,r.progressBar&&(O.intervalId=setInterval(a,10))),l.hover(s,o),!r.onclick&&r.tapToDismiss&&l.click(i),r.closeButton&&w&&w.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),i(!0)}),r.onclick&&l.click(function(){r.onclick(),i()}),m(b),r.debug&&console&&console.log(b),l}function g(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),C=void 0))}var v,w,C,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:d,error:t,getContainer:n,info:i,options:{},subscribe:o,success:s,version:"2.1.0",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)});
|
||||
//# sourceMappingURL=toastr.js.map
|
||||
@ -1,6 +1,6 @@
|
||||
<!--
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,103 +1,20 @@
|
||||
<!--
|
||||
Open Bank Project
|
||||
<div id="main" class="lift:surround?with=default;at=content">
|
||||
<!-- Valid Token -->
|
||||
<div class="lift:OAuthAuthorisation.tokenCheck" id="authorizeSection">
|
||||
<div id="userAccess">
|
||||
<div class="account account-in-content">
|
||||
<div class="login-error">Incorrect username or password</div>
|
||||
|
||||
Copyright 2011,2012 TESOBE / Music Pictures Ltd.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Open Bank Project (http://www.openbankproject.com)
|
||||
Copyright 2011,2012 TESOBE / Music Pictures Ltd
|
||||
|
||||
This product includes software developed at
|
||||
TESOBE (http://www.tesobe.com/)
|
||||
by
|
||||
Simon Redfern : simon AT tesobe DOT com
|
||||
Everett Sochowski: everett AT tesobe DOT com
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
|
||||
<title class="lift:Menu.title">Open Bank Project: %*%</title>
|
||||
<link href="/media/css/website.css?20120412" rel="stylesheet" type="text/css" />
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="/media/js/website.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="grid-container">
|
||||
<div id="wrapper">
|
||||
<div id="header">
|
||||
<h1 id="logo" onclick="javascript:window.location='/';">Open Bank Project</h1>
|
||||
</div>
|
||||
<div id="content" >
|
||||
<!-- Valid Token -->
|
||||
<div class="lift:OAuthAuthorisation.tokenCheck" id="authorizeSection">
|
||||
<div id="userAccess">
|
||||
<div class="account account-in-content">
|
||||
<div class="login-error">Incorrect username or password</div>
|
||||
|
||||
The application <span id="applicationName"> web app </span> is
|
||||
asking for access to your account data.
|
||||
<!-- LOGGED OUT -->
|
||||
|
||||
<form class="login" action="." method="post">
|
||||
<div class="group">
|
||||
<div class="explain">
|
||||
<span>Please login with your
|
||||
username or e-mail address.</span>
|
||||
</div>
|
||||
<div class="field username">
|
||||
<input class="username" type="email" placeholder="Username" name="username" tabindex=1 />
|
||||
</div>
|
||||
<div class="field password">
|
||||
<input class="password" type="password" placeholder="Password" name="password" tabindex=2 />
|
||||
</div>
|
||||
<div class="field password" style="height: 1em; margin: 0">
|
||||
<a href="#" class="forgot" tabindex=3>Forgot your password?</a>
|
||||
</div>
|
||||
<div class="field buttons">
|
||||
<div class="button button-field">
|
||||
<input class="submit" type="submit" value="Login" tabindex=4 />
|
||||
</div>
|
||||
<div class="button button-field" style="float: right">
|
||||
<a href="#" class="signup" tabindex=5>Register</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="verifierBloc">
|
||||
<div>Please come back to the application where you come from and enter the following code: </div>
|
||||
<div id="verifier">123123213</div>
|
||||
</div>
|
||||
<div id="errorMessage">Error message</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<a href="http://openbankproject.com">Open Bank Project</a> is ©2011-2012 <a href="http://tesobe.com">TESOBE</a> and distributed under the Apache 2.0 License.</p>
|
||||
<br/>
|
||||
<p>
|
||||
<a href="https://github.com/OpenBankProject">Sources on Github</a> |
|
||||
<a href="http://www.facebook.com/pages/Open-Bank-Project/118851468190327">Facebook Page</a> |
|
||||
<a href="http://twitter.com/#!/OpenBankProject">Follow us on Twitter</a> |
|
||||
<a href="http://eviscape.com/profile/openbankproject/">Eviscape Profile</a> |
|
||||
<!-- <a href="http://polarizeit.tesobe.com/polarize/the-open-bank-project---an-open-source-a-82602778985">Polarize it!</a> | -->
|
||||
<a href="/api/accounts/tesobe/anonymous">JSON API</a></p>
|
||||
</div>
|
||||
The application <span id="applicationName"> web app </span> is
|
||||
asking for access to your account data.
|
||||
<!-- LOGGED OUT -->
|
||||
<div class="lift:embed?what=_login_form"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="verifierBloc">
|
||||
<div>Please go back to the application where you come from and enter the following code: </div>
|
||||
<div id="verifier">123123213</div>
|
||||
</div>
|
||||
<div id="errorMessage">Error message</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</div>
|
||||
@ -1,30 +1,10 @@
|
||||
<div>
|
||||
<form method="post" action="#">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2" id="loginText">login</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="emailAddressText">e-mail address </td>
|
||||
<td><user:email /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="passwordText"> password </td>
|
||||
<td><user:password /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="SignUpLink" >
|
||||
<a href="#">link text</a>
|
||||
</td>
|
||||
<td id="recoverPasswordLink" >
|
||||
<a href="#">link text</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<user:submit />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div id="authorizeSection">
|
||||
<div id="userAccess">
|
||||
<div class="account account-in-content">
|
||||
<div class="login-error"><span class="lift:Msg?id=login&errorClass=error"/></div>
|
||||
<!-- LOGGED OUT -->
|
||||
Please login with your username or e-mail address.
|
||||
<div class="lift:embed?what=_login_form"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
19
src/main/webapp/templates-hidden/_login_form.html
Normal file
@ -0,0 +1,19 @@
|
||||
<form class="login" action="/user_mgt/login" method="post">
|
||||
<div class="field username">
|
||||
<input class="username" type="email" placeholder="Username" name="username" tabindex=1 autofocus />
|
||||
</div>
|
||||
<div class="field password">
|
||||
<input class="password" type="password" placeholder="Password" name="password" tabindex=2 />
|
||||
</div>
|
||||
<div id="recoverPasswordLink" class="field password" style="height: 1em;">
|
||||
<a href="/user_mgt/lost_password" class="forgot" tabindex=3>Forgot your password?</a>
|
||||
</div>
|
||||
<div class="field buttons">
|
||||
<div class="button button-field">
|
||||
<input class="submit" type="submit" value="Login" tabindex=4 />
|
||||
</div>
|
||||
<div id="SignUpLink" class="button button-field" style="margin-left: auto;">
|
||||
<a href="/user_mgt/sign_up" class="signup" tabindex=5>Register</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@ -1,6 +1,6 @@
|
||||
<!--
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2015, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -30,83 +30,95 @@ Berlin 13359, Germany
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
|
||||
<title class="lift:Menu.title">Open Bank Project: %*%</title>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
|
||||
<title class="lift:Menu.title">Open Bank Project: %*%</title>
|
||||
|
||||
<link href="/media/css/website.css?20150517" rel="stylesheet" type="text/css" />
|
||||
<script id="jquery" src="/classpath/jquery.js" type="text/javascript"></script>
|
||||
<script src="/media/js/website.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<header id="header">
|
||||
<a href="/"><h1 id="logo">Open Bank Project</h1></a>
|
||||
<div class="account account-upper">
|
||||
<div id="admin-logout"class="lift:Login.adminLogout">
|
||||
Currently logged in as admin <span id="admin-username">NAME</span>. <a id="admin-logout-clickme" href="#">Logout</a>
|
||||
</div>
|
||||
<!-- LOGGED OUT -->
|
||||
<div class="lift:Login.loggedOut">
|
||||
<form class="login" action="." method="post">
|
||||
<div class="field username">
|
||||
<label>Username</label>
|
||||
<input class="username" type="text" name="username" tabindex=1/>
|
||||
</div>
|
||||
<div class="field password">
|
||||
<label>Password</label>
|
||||
<a href="#" class="forgot" tabindex=5>Forgotten?</a>
|
||||
<a href="#" class="signup" tabindex=4>Sign up</a>
|
||||
<input class="password" type="password" name="password" tabindex=2 />
|
||||
</div>
|
||||
<div class="button submit">
|
||||
<input class="submit" type="submit" value="Login" tabindex=3/>
|
||||
</div>
|
||||
</form>
|
||||
<link href="/media/css/website.css" rel="stylesheet" type="text/css" />
|
||||
<script id="jquery" src="/classpath/jquery.js" type="text/javascript"></script>
|
||||
<script src="/media/js/website.js" type="text/javascript"></script>
|
||||
<script src="/media/js/toastr.min.js"></script>
|
||||
<link href="/media/css/toastr.min.css" rel="stylesheet"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="background">
|
||||
<div id="wrapper">
|
||||
<header id="header">
|
||||
<div id="header-decoration"></div>
|
||||
<div id="logo-left" class="lift:WebUI.headerLogoLeft">
|
||||
<a href="/"><img src="" alt=""></a>
|
||||
</div>
|
||||
<!-- LOGGED IN -->
|
||||
<div class="lift:Login.loggedIn">
|
||||
<div class="profile-info">
|
||||
Logged in as <span class="username">username@domain.com</span>
|
||||
<a href="" class="logout">Logout</a>
|
||||
</div>
|
||||
<div id="logo-right" class="lift:WebUI.headerLogoRight">
|
||||
<a href="/"><img src="" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<nav id="nav">
|
||||
<ul>
|
||||
<li class="lift:Nav.item?name=Home navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
<li class="lift:Nav.item?name=Consumer%20Registration navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
<li class="lift:Nav.item?name=Metrics navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
<li class="lift:Nav.item?name=Connect navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
<li class="lift:Nav.item?name=Sandbox%20Account%20Creation&showEvenIfRestricted=true navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<section id="content">
|
||||
<lift:bind name="content" />
|
||||
The main content gets bound here
|
||||
</section>
|
||||
|
||||
<footer id="footer">
|
||||
<p><a href="http://openbankproject.com">Open Bank Project</a> is ©2011-2015 <a href="http://tesobe.com">TESOBE</a> and distributed under the AGPL 3.</p>
|
||||
<br/>
|
||||
<p>
|
||||
<a href="http://twitter.com/#!/OpenBankProject">Follow us on Twitter</a> |
|
||||
<a href="https://github.com/OpenBankProject/OBP-API/">Source Code on Github</a> |
|
||||
<a href="https://github.com/OpenBankProject/OBP-API/wiki">API Documentation</a>
|
||||
</p>
|
||||
</footer>
|
||||
<div id="messages-container" class="lift:Msgs"></div>
|
||||
<script>
|
||||
$(function() {
|
||||
toastr.options.timeOut = 3000;
|
||||
if(notice = $("#lift__noticesContainer___error").text()) {
|
||||
toastr.error(notice)
|
||||
}
|
||||
else if(notice = $("#lift__noticesContainer__").text()) {
|
||||
toastr.success(notice)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</lift:Msgs>
|
||||
</header>
|
||||
<nav id="nav">
|
||||
<ul>
|
||||
<li class="lift:Nav.item?name=Home navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
<li class="lift:Nav.item?name=Consumer%20Registration navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
<li class="lift:Nav.item?name=Metrics navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
<li class="lift:Nav.item?name=Connect navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
<li class="lift:Nav.item?name=Sandbox%20Account%20Creation&showEvenIfRestricted=true navitem">
|
||||
<a class="navlink" href="#">Link name. Has class "selected" if it's the current page.</a>
|
||||
</li>
|
||||
<!-- login state -->
|
||||
<li class="lift:Nav.item?name=Login navitem nav-login-state-item">
|
||||
<!-- LOGGED OUT -->
|
||||
<div class="lift:Login.loggedOut">
|
||||
<a href="#" class="navlink login">Login</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="navitem nav-login-state-item">
|
||||
<!-- LOGGED IN -->
|
||||
<div id="admin-logout" class="lift:Login.adminLogout">
|
||||
admin <span id="admin-username">NAME</span>. <a id="admin-logout-clickme" href="#">Logout</a>
|
||||
</div>
|
||||
<div class="lift:Login.loggedIn">
|
||||
<div class="profile-info">
|
||||
<span class="username">username@domain.com</span> <a href="" class="logout">Logout</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<section id="content">
|
||||
<lift:bind name="content"/>
|
||||
The main content gets bound here
|
||||
</section>
|
||||
<footer id="footer">
|
||||
<div>
|
||||
<a href="http://openbankproject.com">Open Bank Project</a> is ©2011-2015 <a href="http://tesobe.com">TESOBE</a> and distributed under the AGPL and commercial licenses.</p>
|
||||
<br/>
|
||||
</div>
|
||||
<div>
|
||||
<a href="http://twitter.com/#!/OpenBankProject">Follow us on Twitter</a> |
|
||||
<a href="https://github.com/OpenBankProject">Sources on Github</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<!-- <a id="feedBack" href="http://polarize.it/polarize/openbankprojectdemoa_78828874370"></a> -->
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - Transparency / Social Finance Web Application
|
||||
Copyright (C) 2011, 2015, TESOBE / Music Pictures Ltd
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2014, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||
@ -261,7 +261,7 @@ class TransactionRequestsTest extends ServerSetupWithTestData with DefaultUsers
|
||||
challenge.size should not equal(0)
|
||||
|
||||
//3. TODO: answer challenge and check if transaction is being created
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/**
|
||||
Open Bank Project - API
|
||||
Copyright (C) 2011, 2013, TESOBE / Music Pictures Ltd
|
||||
Copyright (C) 2011-2015, TESOBE / Music Pictures Ltd
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
||||