use of org.olat.resource.accesscontrol.OrderPart 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);
}
}
use of org.olat.resource.accesscontrol.OrderPart in project OpenOLAT by OpenOLAT.
the class OrderImpl method recalculate.
@Override
public void recalculate() {
totalOrderLines = new PriceImpl(BigDecimal.ZERO, getCurrencyCode());
for (OrderPart part : getParts()) {
((OrderPartImpl) part).recalculate(getCurrencyCode());
totalOrderLines = totalOrderLines.add(part.getTotalOrderLines());
}
total = totalOrderLines.clone();
if (discount == null) {
discount = new PriceImpl(BigDecimal.ZERO, getCurrencyCode());
}
}
use of org.olat.resource.accesscontrol.OrderPart in project OpenOLAT by OpenOLAT.
the class OrderDetailController method getOrderItemsDataModel.
private OrderItemsDataModel getOrderItemsDataModel() {
List<OrderItemWrapper> items = new ArrayList<OrderItemWrapper>();
for (OrderPart part : order.getParts()) {
boolean first = true;
AccessTransaction transaction = null;
if (transactions != null) {
for (AccessTransaction trx : transactions) {
if (trx.getOrderPart().equals(part)) {
transaction = trx;
break;
}
}
}
for (OrderLine line : part.getOrderLines()) {
OLATResource resource = line.getOffer().getResource();
String displayName;
if (resource == null) {
displayName = line.getOffer().getResourceDisplayName();
} else {
displayName = acService.resolveDisplayName(resource);
}
OrderItemWrapper wrapper = new OrderItemWrapper(part, line, transaction, displayName, first);
items.add(wrapper);
first = false;
}
}
return new OrderItemsDataModel(items);
}
use of org.olat.resource.accesscontrol.OrderPart in project openolat by klemens.
the class PaypalManagerImpl method cancelTransaction.
private synchronized void cancelTransaction(PaypalTransaction trx) {
if (trx.getStatus() == PaypalTransactionStatus.SUCCESS || trx.getStatus() == PaypalTransactionStatus.CANCELED) {
// already completed: if successed -> let it in this state
return;
}
updateTransaction(trx, PaypalTransactionStatus.CANCELED);
Order order = orderManager.loadOrderByNr(trx.getRefNo());
orderManager.save(order, OrderStatus.CANCELED);
// cancel the reservations
Identity identity = order.getDelivery();
for (OrderPart part : order.getParts()) {
if (part.getKey().equals(trx.getOrderPartId())) {
for (OrderLine line : part.getOrderLines()) {
OLATResource resource = line.getOffer().getResource();
ResourceReservation reservation = acService.getReservation(identity, resource);
if (reservation != null) {
acService.removeReservation(identity, identity, reservation);
log.audit("Remove reservation after cancellation for: " + reservation + " to " + identity, null);
}
}
}
}
}
use of org.olat.resource.accesscontrol.OrderPart in project openolat by klemens.
the class OrderDetailController method getOrderItemsDataModel.
private OrderItemsDataModel getOrderItemsDataModel() {
List<OrderItemWrapper> items = new ArrayList<OrderItemWrapper>();
for (OrderPart part : order.getParts()) {
boolean first = true;
AccessTransaction transaction = null;
if (transactions != null) {
for (AccessTransaction trx : transactions) {
if (trx.getOrderPart().equals(part)) {
transaction = trx;
break;
}
}
}
for (OrderLine line : part.getOrderLines()) {
OLATResource resource = line.getOffer().getResource();
String displayName;
if (resource == null) {
displayName = line.getOffer().getResourceDisplayName();
} else {
displayName = acService.resolveDisplayName(resource);
}
OrderItemWrapper wrapper = new OrderItemWrapper(part, line, transaction, displayName, first);
items.add(wrapper);
first = false;
}
}
return new OrderItemsDataModel(items);
}
Aggregations