1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.policies;
20
21 import org.apache.syncope.client.console.rest.PolicyRestClient;
22 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
23 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
24 import org.apache.syncope.common.lib.policy.DefaultTicketExpirationPolicyConf;
25 import org.apache.syncope.common.lib.policy.TicketExpirationPolicyTO;
26 import org.apache.syncope.common.lib.types.IdRepoEntitlement;
27 import org.apache.syncope.common.lib.types.PolicyType;
28 import org.apache.wicket.PageReference;
29 import org.apache.wicket.ajax.AjaxRequestTarget;
30 import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
31 import org.apache.wicket.model.IModel;
32 import org.apache.wicket.model.Model;
33
34 public class TicketExpirationPolicyDirectoryPanel extends PolicyDirectoryPanel<TicketExpirationPolicyTO> {
35
36 private static final long serialVersionUID = 4984337552918213290L;
37
38 public TicketExpirationPolicyDirectoryPanel(
39 final String id,
40 final PolicyRestClient restClient,
41 final PageReference pageRef) {
42
43 super(id, restClient, PolicyType.TICKET_EXPIRATION, pageRef);
44
45 TicketExpirationPolicyTO defaultItem = new TicketExpirationPolicyTO();
46
47 this.addNewItemPanelBuilder(new PolicyModalPanelBuilder<>(
48 PolicyType.TICKET_EXPIRATION, defaultItem, modal, restClient, pageRef), true);
49 MetaDataRoleAuthorizationStrategy.authorize(addAjaxLink, RENDER, IdRepoEntitlement.POLICY_CREATE);
50
51 initResultTable();
52 }
53
54 @Override
55 protected void addCustomActions(
56 final ActionsPanel<TicketExpirationPolicyTO> panel,
57 final IModel<TicketExpirationPolicyTO> model) {
58
59 panel.add(new ActionLink<>() {
60
61 private static final long serialVersionUID = -3722207913631435501L;
62
63 @Override
64 public void onClick(final AjaxRequestTarget target, final TicketExpirationPolicyTO ignore) {
65 model.setObject(restClient.read(type, model.getObject().getKey()));
66 if (model.getObject().getConf() == null) {
67 model.getObject().setConf(new DefaultTicketExpirationPolicyConf());
68 }
69 target.add(policySpecModal.setContent(
70 new TicketExpirationPolicyModalPanel(policySpecModal, model, pageRef)));
71 policySpecModal.header(new Model<>(getString("ticketExpirationPolicyConf.title", model)));
72 policySpecModal.show(true);
73 }
74 }, ActionLink.ActionType.CHANGE_VIEW, IdRepoEntitlement.POLICY_UPDATE);
75 }
76 }