Skip to content

Commit

Permalink
MID-7976 fixing todos in request access ui, shopping cart edit dialog…
Browse files Browse the repository at this point in the history
…, wip
  • Loading branch information
1azyman committed Jun 24, 2022
1 parent f86dc75 commit eadafbc
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1063,7 +1063,7 @@ public static <T extends Enum> IModel<String> createLocalizedModelForEnum(T valu
}

public static <T extends Enum> IModel<List<T>> createReadonlyModelFromEnum(final Class<T> type) {
return (IModel<List<T>>) () -> {
return () -> {
List<T> list = new ArrayList<>();
Collections.addAll(list, type.getEnumConstants());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -471,4 +471,10 @@ public void solveConflict(Conflict conflict, ConflictItem toRemove) {
public boolean isAllConflictsSolved() {
return getConflicts().stream().filter(c -> c.getState() == ConflictState.UNRESOLVED).count() == 0;
}

public void submitRequest() {
// todo submit stuff

clearCart();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,43 +7,52 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<div class="row">
<form class="row" wicket:id="form">
<div class="col-12">
<div class="form-group">
<label class="col-form-label font-weight-bold">Relation
<span class="text-gray font-weight-light">- Optional</span></label>
<select class="form-control">
<label class="col-form-label font-weight-bold">
<wicket:message key="ObjectReferenceType.relation"/>
</label>
<select class="form-control" wicket:id="relation">
<option>Member</option>
</select>
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="col-form-label">Administrative status
<span class="text-gray font-weight-light">- Optional</span></label>
<select class="form-control">
<label class="col-form-label">
<wicket:message key="ActivationType.administrativeStatus"/>
<span class="text-gray font-weight-light">- <wicket:message key="ShoppingCartEditPanel.optional"/></span>
</label>
<select class="form-control" wicket:id="administrativeStatus">
<option>Undefined</option>
</select>
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="col-form-label">Validity</label>
<label class="col-form-label">
<wicket:message key="ShoppingCartEditPanel.validity"/>
<span class="text-gray font-weight-light">- <wicket:message key="ShoppingCartEditPanel.optional"/></span>
</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon1">
<i class="fa-solid fa-calendar-days"></i>
</span>
<span class="input-group-text" id="basic-addon1">
<i class="fa-solid fa-calendar-days"></i>
</span>
</div>
<input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1" value="06/01/2022 - 06/07/2022">
</div>
</div>
</div>
</div>
<!--<a class="btn btn-primary mt-2" href="#">
<i class="fa-solid fa-user-gear mr-1"></i>
Change user selection
</a>-->
</form>
<wicket:remove>
<!-- todo implement later -->
<a class="btn btn-primary mt-2" href="#">
<i class="fa-solid fa-user-gear mr-1"></i>
Change user selection
</a>
</wicket:remove>

<wicket:fragment wicket:id="buttons">
<div class="d-flex flex-wrap gap-2 w-100">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,23 @@

package com.evolveum.midpoint.gui.impl.page.self.requestAccess;

import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.web.component.dialog.Popupable;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;

import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;

import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.web.component.dialog.Popupable;
import com.evolveum.midpoint.web.component.form.MidpointForm;
import com.evolveum.midpoint.web.component.util.EnableBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationStatusType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentType;

/**
* Created by Viliam Repan (lazyman).
Expand All @@ -29,6 +35,9 @@ public class ShoppingCartEditPanel extends BasePanel<ShoppingCartItem> implement
private static final String ID_BUTTONS = "buttons";
private static final String ID_SAVE = "save";
private static final String ID_CLOSE = "close";
private static final String ID_FORM = "form";
private static final String ID_RELATION = "relation";
private static final String ID_ADMINISTRATIVE_STATUS = "administrativeStatus";

private Fragment footer;

Expand All @@ -39,6 +48,44 @@ public ShoppingCartEditPanel(IModel<ShoppingCartItem> model) {
}

private void initLayout() {
Form form = new MidpointForm(ID_FORM);
add(form);

DropDownChoice relation = new DropDownChoice(ID_RELATION);
relation.add(new EnableBehaviour(() -> false));
form.add(relation);

IModel<ActivationStatusType> model = new Model<>() {

@Override
public ActivationStatusType getObject() {
AssignmentType assignment = getModelObject().getAssignment();
ActivationType activation = assignment.getActivation();
if (activation == null) {
return null;
}

return activation.getAdministrativeStatus();
}

@Override
public void setObject(ActivationStatusType status) {
AssignmentType assignment = getModelObject().getAssignment();
ActivationType activation = assignment.getActivation();
if (activation == null) {
activation = new ActivationType();
assignment.setActivation(activation);
}

activation.setAdministrativeStatus(status);
}
};

DropDownChoice administrativeStatus = new DropDownChoice(ID_ADMINISTRATIVE_STATUS,
WebComponentUtil.createReadonlyModelFromEnum(ActivationStatusType.class), model,
WebComponentUtil.getEnumChoiceRenderer(this));
form.add(administrativeStatus);

footer = new Fragment(Popupable.ID_FOOTER, ID_BUTTONS, this);
footer.add(new AjaxLink<>(ID_SAVE) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,8 @@ protected void openConflictPerformed(AjaxRequestTarget target) {

protected void submitPerformed(AjaxRequestTarget target) {
// todo implement
getModelObject().submitRequest();

}

@Override
Expand Down

0 comments on commit eadafbc

Please sign in to comment.