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.panels;
20
21 import org.apache.syncope.client.console.SyncopeConsoleSession;
22 import org.apache.syncope.client.console.rest.UserRequestRestClient;
23 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
24 import org.apache.syncope.client.ui.commons.Constants;
25 import org.apache.syncope.client.ui.commons.pages.BaseWebPage;
26 import org.apache.syncope.client.ui.commons.panels.SubmitableModalPanel;
27 import org.apache.syncope.client.ui.commons.panels.WizardModalPanel;
28 import org.apache.syncope.common.lib.to.UserRequestForm;
29 import org.apache.syncope.ext.client.common.ui.panels.UserRequestFormPanel;
30 import org.apache.wicket.PageReference;
31 import org.apache.wicket.ajax.AjaxRequestTarget;
32 import org.apache.wicket.markup.html.panel.Panel;
33 import org.apache.wicket.spring.injection.annot.SpringBean;
34
35 public class UserRequestFormModal extends Panel implements SubmitableModalPanel, WizardModalPanel<UserRequestForm> {
36
37 private static final long serialVersionUID = -8847854414429745216L;
38
39 @SpringBean
40 protected UserRequestRestClient userRequestRestClient;
41
42 protected final BaseModal<?> modal;
43
44 protected final UserRequestForm formTO;
45
46 protected final PageReference pageRef;
47
48 public UserRequestFormModal(final BaseModal<?> modal, final PageReference pageRef, final UserRequestForm formTO) {
49 super(BaseModal.CONTENT_ID);
50 this.modal = modal;
51 this.formTO = formTO;
52 this.pageRef = pageRef;
53
54 MultilevelPanel mlp = new MultilevelPanel("userRequestForm");
55 mlp.setFirstLevel(new UserRequestFormPanel(MultilevelPanel.FIRST_LEVEL_ID, formTO) {
56
57 private static final long serialVersionUID = -2195387360323687302L;
58
59 @Override
60 protected void viewDetails(final AjaxRequestTarget target) {
61 mlp.next(getString("userRequest.details"), new UserRequestFormDetails(pageRef, formTO), target);
62 }
63 });
64 add(mlp);
65 }
66
67 @Override
68 public void onSubmit(final AjaxRequestTarget target) {
69 userRequestRestClient.submitForm(formTO);
70 this.modal.show(false);
71 this.modal.close(target);
72 SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
73 }
74
75 @Override
76 public void onError(final AjaxRequestTarget target) {
77 ((BaseWebPage) pageRef.getPage()).getNotificationPanel().refresh(target);
78 }
79
80 @Override
81 public UserRequestForm getItem() {
82 return this.formTO;
83 }
84 }