use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalAccessMethod in project OpenOLAT by OpenOLAT.
the class PaypalManagerImpl method getMethodSecure.
private PaypalAccessMethod getMethodSecure(Long key) {
PaypalAccessMethod smethod = null;
List<PaypalAccessMethod> methods = getPaypalMethods();
if (methods.size() > 0) {
smethod = methods.get(0);
} else {
smethod = new PaypalAccessMethod();
smethod.setCreationDate(new Date());
smethod.setLastModified(smethod.getCreationDate());
save(smethod);
}
for (PaypalAccessMethod method : methods) {
if (key != null && key.equals(method.getKey())) {
smethod = method;
}
}
return smethod;
}
use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalAccessMethod in project OpenOLAT by OpenOLAT.
the class PaypalManagerImpl method completeTransactionSucessfully.
private void completeTransactionSucessfully(PaypalTransaction trx, String trxStatus) {
Order order = orderManager.loadOrderByNr(trx.getRefNo());
if ("PENDING".equalsIgnoreCase(trxStatus)) {
updateTransaction(trx, PaypalTransactionStatus.PENDING);
} else {
updateTransaction(trx, PaypalTransactionStatus.SUCCESS);
}
order = orderManager.save(order, OrderStatus.PAYED);
PaypalAccessMethod method = getMethodSecure(trx.getMethodId());
if (order.getKey().equals(trx.getOrderId())) {
// make accessible
Identity identity = order.getDelivery();
for (OrderPart part : order.getParts()) {
if (part.getKey().equals(trx.getOrderPartId())) {
AccessTransaction transaction = transactionManager.createTransaction(order, part, method);
transaction = transactionManager.save(transaction);
for (OrderLine line : part.getOrderLines()) {
if (acService.allowAccesToResource(identity, line.getOffer())) {
log.audit("Paypal payed access granted for: " + buildLogMessage(line, method) + " to " + identity, null);
transaction = transactionManager.update(transaction, AccessTransactionStatus.SUCCESS);
} else {
log.error("Paypal payed access refused for: " + buildLogMessage(line, method) + " to " + identity, null);
transaction = transactionManager.update(transaction, AccessTransactionStatus.ERROR);
}
}
}
}
} else {
log.error("Order not in sync with PaypalTransaction", null);
}
}
use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalAccessMethod in project openolat by klemens.
the class PaypalManagerImpl method completeDeniedTransaction.
private void completeDeniedTransaction(PaypalTransaction trx) {
updateTransaction(trx, PaypalTransactionStatus.DENIED);
Order order = orderManager.loadOrderByNr(trx.getRefNo());
order = orderManager.save(order, OrderStatus.ERROR);
PaypalAccessMethod method = getMethodSecure(trx.getMethodId());
if (order.getKey().equals(trx.getOrderId())) {
// make accessible
Identity identity = order.getDelivery();
for (OrderPart part : order.getParts()) {
if (part.getKey().equals(trx.getOrderPartId())) {
AccessTransaction transaction = transactionManager.createTransaction(order, part, method);
transaction = transactionManager.update(transaction, AccessTransactionStatus.ERROR);
for (OrderLine line : part.getOrderLines()) {
acService.denyAccesToResource(identity, line.getOffer());
log.audit("Paypal payed access revoked for: " + buildLogMessage(line, method) + " to " + identity, null);
ResourceReservation reservation = reservationDao.loadReservation(identity, line.getOffer().getResource());
if (reservation != null) {
acService.removeReservation(identity, identity, reservation);
log.audit("Remove reservation after cancellation for: " + reservation + " to " + identity, null);
}
}
}
}
} else {
log.error("Order not in sync with PaypalTransaction", null);
}
}
use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalAccessMethod in project openolat by klemens.
the class PaypalManagerImpl method completeTransactionSucessfully.
private void completeTransactionSucessfully(PaypalTransaction trx, String trxStatus) {
Order order = orderManager.loadOrderByNr(trx.getRefNo());
if ("PENDING".equalsIgnoreCase(trxStatus)) {
updateTransaction(trx, PaypalTransactionStatus.PENDING);
} else {
updateTransaction(trx, PaypalTransactionStatus.SUCCESS);
}
order = orderManager.save(order, OrderStatus.PAYED);
PaypalAccessMethod method = getMethodSecure(trx.getMethodId());
if (order.getKey().equals(trx.getOrderId())) {
// make accessible
Identity identity = order.getDelivery();
for (OrderPart part : order.getParts()) {
if (part.getKey().equals(trx.getOrderPartId())) {
AccessTransaction transaction = transactionManager.createTransaction(order, part, method);
transaction = transactionManager.save(transaction);
for (OrderLine line : part.getOrderLines()) {
if (acService.allowAccesToResource(identity, line.getOffer())) {
log.audit("Paypal payed access granted for: " + buildLogMessage(line, method) + " to " + identity, null);
transaction = transactionManager.update(transaction, AccessTransactionStatus.SUCCESS);
} else {
log.error("Paypal payed access refused for: " + buildLogMessage(line, method) + " to " + identity, null);
transaction = transactionManager.update(transaction, AccessTransactionStatus.ERROR);
}
}
}
}
} else {
log.error("Order not in sync with PaypalTransaction", null);
}
}
use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalAccessMethod in project OpenOLAT by OpenOLAT.
the class PaypalManagerImpl method completeDeniedTransaction.
private void completeDeniedTransaction(PaypalTransaction trx) {
updateTransaction(trx, PaypalTransactionStatus.DENIED);
Order order = orderManager.loadOrderByNr(trx.getRefNo());
order = orderManager.save(order, OrderStatus.ERROR);
PaypalAccessMethod method = getMethodSecure(trx.getMethodId());
if (order.getKey().equals(trx.getOrderId())) {
// make accessible
Identity identity = order.getDelivery();
for (OrderPart part : order.getParts()) {
if (part.getKey().equals(trx.getOrderPartId())) {
AccessTransaction transaction = transactionManager.createTransaction(order, part, method);
transaction = transactionManager.update(transaction, AccessTransactionStatus.ERROR);
for (OrderLine line : part.getOrderLines()) {
acService.denyAccesToResource(identity, line.getOffer());
log.audit("Paypal payed access revoked for: " + buildLogMessage(line, method) + " to " + identity, null);
ResourceReservation reservation = reservationDao.loadReservation(identity, line.getOffer().getResource());
if (reservation != null) {
acService.removeReservation(identity, identity, reservation);
log.audit("Remove reservation after cancellation for: " + reservation + " to " + identity, null);
}
}
}
}
} else {
log.error("Order not in sync with PaypalTransaction", null);
}
}
Aggregations