Search in sources :

Example 11 with AccessTransaction

use of org.olat.resource.accesscontrol.AccessTransaction 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);
    }
}
Also used : Order(org.olat.resource.accesscontrol.Order) AccessTransaction(org.olat.resource.accesscontrol.AccessTransaction) OrderLine(org.olat.resource.accesscontrol.OrderLine) ResourceReservation(org.olat.resource.accesscontrol.ResourceReservation) OrderPart(org.olat.resource.accesscontrol.OrderPart) Identity(org.olat.core.id.Identity) PaypalAccessMethod(org.olat.resource.accesscontrol.provider.paypal.model.PaypalAccessMethod)

Example 12 with AccessTransaction

use of org.olat.resource.accesscontrol.AccessTransaction 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);
}
Also used : AccessTransaction(org.olat.resource.accesscontrol.AccessTransaction) OrderLine(org.olat.resource.accesscontrol.OrderLine) ArrayList(java.util.ArrayList) OrderPart(org.olat.resource.accesscontrol.OrderPart) OLATResource(org.olat.resource.OLATResource)

Example 13 with AccessTransaction

use of org.olat.resource.accesscontrol.AccessTransaction in project openolat by klemens.

the class TransactionDetailsController method initForm.

@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
    String page = velocity_root + "/transaction_details.html";
    FormLayoutContainer detailsLayout = FormLayoutContainer.createCustomFormLayout("transaction-details-layout", getTranslator(), page);
    formLayout.add(detailsLayout);
    detailsLayout.setRootForm(mainForm);
    AccessTransaction transaction = wrapper.getTransaction();
    DetailsForm detailsForm = new DetailsForm(ureq, getWindowControl(), transaction, mainForm);
    detailsLayout.add("simple", detailsForm.getInitialFormItem());
    AccessMethod method = transaction.getMethod();
    AccessMethodHandler handler = acModule.getAccessMethodHandler(method.getType());
    FormController controller = handler.createTransactionDetailsController(ureq, getWindowControl(), order, wrapper.getPart(), method, mainForm);
    if (controller != null) {
        uifactory.addSpacerElement("details-spacer", detailsLayout, false);
        detailsLayout.add("custom", controller.getInitialFormItem());
    }
}
Also used : AccessTransaction(org.olat.resource.accesscontrol.AccessTransaction) AccessMethod(org.olat.resource.accesscontrol.model.AccessMethod) FormLayoutContainer(org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer) AccessMethodHandler(org.olat.resource.accesscontrol.method.AccessMethodHandler)

Example 14 with AccessTransaction

use of org.olat.resource.accesscontrol.AccessTransaction 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);
}
Also used : AccessTransaction(org.olat.resource.accesscontrol.AccessTransaction) OrderLine(org.olat.resource.accesscontrol.OrderLine) ArrayList(java.util.ArrayList) OrderPart(org.olat.resource.accesscontrol.OrderPart) OLATResource(org.olat.resource.OLATResource)

Aggregations

AccessTransaction (org.olat.resource.accesscontrol.AccessTransaction)14 Order (org.olat.resource.accesscontrol.Order)6 OrderLine (org.olat.resource.accesscontrol.OrderLine)6 OrderPart (org.olat.resource.accesscontrol.OrderPart)6 AccessMethod (org.olat.resource.accesscontrol.model.AccessMethod)6 Collection (java.util.Collection)4 HashSet (java.util.HashSet)4 Set (java.util.Set)4 Identity (org.olat.core.id.Identity)4 AccessMethodHandler (org.olat.resource.accesscontrol.method.AccessMethodHandler)4 PaypalAccessMethod (org.olat.resource.accesscontrol.provider.paypal.model.PaypalAccessMethod)4 ArrayList (java.util.ArrayList)2 FormLayoutContainer (org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer)2 OLATResource (org.olat.resource.OLATResource)2 AccessResult (org.olat.resource.accesscontrol.AccessResult)2 ResourceReservation (org.olat.resource.accesscontrol.ResourceReservation)2