Example usage for org.apache.wicket.markup.html.form Form setVisible

List of usage examples for org.apache.wicket.markup.html.form Form setVisible

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form Form setVisible.

Prototype

public final Component setVisible(final boolean visible) 

Source Link

Document

Sets whether this component and any children are visible.

Usage

From source file:com.example.justaddwater.web.app.ChangePasswordPage.java

License:Apache License

public ChangePasswordPage(final PageParameters parameters) {
    super(parameters);

    add(new Header("header"));

    enclosingDiv = new WebMarkupContainer("enclosing-div");
    enclosingDiv.setOutputMarkupId(true);

    if (!session.isLoggedIn()) {
        error("not logged in");
        throw new RestartResponseAtInterceptPageException(LoginPage.class);
    }//  ww w.  j  a  va  2  s  .  c o  m

    Form form = new Form("form");
    form.setOutputMarkupId(true);

    feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);
    form.add(feedback);

    currentPasswordField = new PasswordTextField("current-password", new Model<String>());
    currentPasswordField.setRequired(true);

    passwordField = new PasswordTextField("password", new Model<String>());
    passwordField.setRequired(true);
    passwordField.add(StringValidator.lengthBetween(6, 32));

    PasswordTextField confirmPasswordField = new PasswordTextField("confirm-password", new Model<String>());
    confirmPasswordField.setRequired(true);

    form.add(currentPasswordField);
    form.add(passwordField);
    form.add(confirmPasswordField);

    form.add(new EqualPasswordInputValidator(passwordField, confirmPasswordField));

    AjaxButton submit = new AjaxButton("submit") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            String currentPassword = currentPasswordField.getModelObject();
            String newPassword = passwordField.getModelObject();
            User user = dao.findUserByEmail(session.getUsername());

            if (user == null) {
                error("not logged in");
                throw new RestartResponseAtInterceptPageException(LoginPage.class);
            } else if (currentPasswordIsValid(user, currentPassword)) {

                changePassword(user, newPassword);
                EntityManager em = emModel.getObject();
                em.persist(user);
                action.apply(em); // save changes
                successMessage.setVisible(true);
                form.setVisible(false);
            } else {
                error("current password is invalid");
            }

            target.add(enclosingDiv);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedback);
            target.add(enclosingDiv);
        }
    };

    form.add(submit);
    enclosingDiv.add(form);

    successMessage = new WebMarkupContainer("success-message");
    successMessage.setOutputMarkupId(true);
    successMessage.setVisible(false);
    enclosingDiv.add(successMessage);

    add(enclosingDiv);

}

From source file:com.gitblit.wicket.panels.RegistrantPermissionsPanel.java

License:Apache License

public RegistrantPermissionsPanel(String wicketId, RegistrantType registrantType, List<String> allRegistrants,
        final List<RegistrantAccessPermission> permissions, final Map<AccessPermission, String> translations) {
    super(wicketId);
    setOutputMarkupId(true);/*  w w w . j  a  v  a 2s  .  c  o  m*/

    /*
     * Permission view toggle buttons
     */
    Form<Void> permissionToggleForm = new Form<Void>("permissionToggleForm");
    permissionToggleForm.add(new ShowStateButton("showSpecified", Show.specified));
    permissionToggleForm.add(new ShowStateButton("showMutable", Show.mutable));
    permissionToggleForm.add(new ShowStateButton("showEffective", Show.effective));
    add(permissionToggleForm);

    /*
     * Permission repeating display
     */
    RefreshingView<RegistrantAccessPermission> dataView = new RefreshingView<RegistrantAccessPermission>(
            "permissionRow") {
        private static final long serialVersionUID = 1L;

        @Override
        protected Iterator<IModel<RegistrantAccessPermission>> getItemModels() {
            // the iterator returns RepositoryPermission objects, but we need it to
            // return models
            return new ModelIteratorAdapter<RegistrantAccessPermission>(permissions.iterator()) {
                @Override
                protected IModel<RegistrantAccessPermission> model(RegistrantAccessPermission permission) {
                    return new CompoundPropertyModel<RegistrantAccessPermission>(permission);
                }
            };
        }

        @Override
        protected Item<RegistrantAccessPermission> newItem(String id, int index,
                IModel<RegistrantAccessPermission> model) {
            // this item sets markup class attribute to either 'odd' or
            // 'even' for decoration
            return new OddEvenItem<RegistrantAccessPermission>(id, index, model);
        }

        @Override
        public void populateItem(final Item<RegistrantAccessPermission> item) {
            final RegistrantAccessPermission entry = item.getModelObject();
            if (RegistrantType.REPOSITORY.equals(entry.registrantType)) {
                String repoName = StringUtils.stripDotGit(entry.registrant);
                if (!entry.isMissing() && StringUtils.findInvalidCharacter(repoName) == null) {
                    // repository, strip .git and show swatch
                    Fragment repositoryFragment = new Fragment("registrant", "repositoryRegistrant",
                            RegistrantPermissionsPanel.this);
                    Component swatch = new Label("repositorySwatch", "&nbsp;").setEscapeModelStrings(false);
                    WicketUtils.setCssBackground(swatch, entry.toString());
                    repositoryFragment.add(swatch);
                    Label registrant = new Label("repositoryName", repoName);
                    repositoryFragment.add(registrant);
                    item.add(repositoryFragment);
                } else {
                    // regex or missing
                    Label label = new Label("registrant", entry.registrant);
                    WicketUtils.setCssStyle(label, "font-weight: bold;");
                    item.add(label);
                }
            } else if (RegistrantType.USER.equals(entry.registrantType)) {
                // user
                PersonIdent ident = new PersonIdent(entry.registrant, "");
                UserModel user = app().users().getUserModel(entry.registrant);
                if (user != null) {
                    ident = new PersonIdent(user.getDisplayName(),
                            user.emailAddress == null ? user.getDisplayName() : user.emailAddress);
                }

                Fragment userFragment = new Fragment("registrant", "userRegistrant",
                        RegistrantPermissionsPanel.this);
                userFragment.add(new AvatarImage("userAvatar", ident, 20));
                userFragment.add(new Label("userName", entry.registrant));
                item.add(userFragment);
            } else {
                // team
                Fragment teamFragment = new Fragment("registrant", "teamRegistrant",
                        RegistrantPermissionsPanel.this);
                teamFragment.add(new Label("teamName", entry.registrant));
                item.add(teamFragment);
            }
            switch (entry.permissionType) {
            case ADMINISTRATOR:
                Label administrator = new Label("pType",
                        entry.source == null ? getString("gb.administrator") : entry.source);
                WicketUtils.setHtmlTooltip(administrator, getString("gb.administratorPermission"));
                WicketUtils.setCssClass(administrator, "label label-inverse");
                item.add(administrator);
                break;
            case OWNER:
                Label owner = new Label("pType", getString("gb.owner"));
                WicketUtils.setHtmlTooltip(owner, getString("gb.ownerPermission"));
                WicketUtils.setCssClass(owner, "label label-info");
                item.add(owner);
                break;
            case TEAM:
                Label team = new Label("pType", entry.source == null ? getString("gb.team") : entry.source);
                WicketUtils.setHtmlTooltip(team,
                        MessageFormat.format(getString("gb.teamPermission"), entry.source));
                WicketUtils.setCssClass(team, "label label-success");
                item.add(team);
                break;
            case REGEX:
                Label regex = new Label("pType", "regex");
                if (!StringUtils.isEmpty(entry.source)) {
                    WicketUtils.setHtmlTooltip(regex,
                            MessageFormat.format(getString("gb.regexPermission"), entry.source));
                }
                WicketUtils.setCssClass(regex, "label");
                item.add(regex);
                break;
            default:
                if (entry.isMissing()) {
                    // repository is missing, this permission will be removed on save
                    Label missing = new Label("pType", getString("gb.missing"));
                    WicketUtils.setCssClass(missing, "label label-important");
                    WicketUtils.setHtmlTooltip(missing, getString("gb.missingPermission"));
                    item.add(missing);
                } else {
                    // standard permission
                    item.add(new Label("pType", "").setVisible(false));
                }
                break;
            }

            item.setVisible(activeState.show(entry));

            // use ajax to get immediate update of permission level change
            // otherwise we can lose it if they change levels and then add
            // a new repository permission
            final DropDownChoice<AccessPermission> permissionChoice = new DropDownChoice<AccessPermission>(
                    "permission", Arrays.asList(AccessPermission.values()),
                    new AccessPermissionRenderer(translations));
            // only allow changing an explicitly defined permission
            // this is designed to prevent changing a regex permission in
            // a repository
            permissionChoice.setEnabled(entry.mutable);
            permissionChoice.setOutputMarkupId(true);
            if (entry.mutable) {
                permissionChoice.add(new AjaxFormComponentUpdatingBehavior("change") {

                    private static final long serialVersionUID = 1L;

                    @Override
                    protected void onUpdate(AjaxRequestTarget target) {
                        target.add(permissionChoice);
                    }
                });
            }

            item.add(permissionChoice);
        }
    };
    add(dataView);
    setOutputMarkupId(true);

    // filter out registrants we already have permissions for
    final List<String> registrants = new ArrayList<String>(allRegistrants);
    for (RegistrantAccessPermission rp : permissions) {
        if (rp.mutable) {
            // remove editable duplicates
            // this allows for specifying an explicit permission
            registrants.remove(rp.registrant);
        } else if (rp.isAdmin()) {
            // administrators can not have their permission changed
            registrants.remove(rp.registrant);
        } else if (rp.isOwner()) {
            // owners can not have their permission changed
            registrants.remove(rp.registrant);
        }
    }

    /*
     * Add permission form
     */
    IModel<RegistrantAccessPermission> addPermissionModel = new CompoundPropertyModel<RegistrantAccessPermission>(
            new RegistrantAccessPermission(registrantType));
    Form<RegistrantAccessPermission> addPermissionForm = new Form<RegistrantAccessPermission>(
            "addPermissionForm", addPermissionModel);
    addPermissionForm.add(new DropDownChoice<String>("registrant", registrants));
    addPermissionForm.add(new DropDownChoice<AccessPermission>("permission",
            Arrays.asList(AccessPermission.NEWPERMISSIONS), new AccessPermissionRenderer(translations)));
    AjaxButton button = new AjaxButton("addPermissionButton", addPermissionForm) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            // add permission to our list
            RegistrantAccessPermission rp = (RegistrantAccessPermission) getForm().getModel().getObject();
            if (rp.permission == null) {
                return;
            }
            if (rp.registrant == null) {
                return;
            }
            RegistrantAccessPermission copy = DeepCopier.copy(rp);
            if (StringUtils.findInvalidCharacter(copy.registrant) != null) {
                copy.permissionType = PermissionType.REGEX;
                copy.source = copy.registrant;
            }
            permissions.add(copy);

            // resort permissions after insert to convey idea of eval order
            Collections.sort(permissions);

            // remove registrant from available choices
            registrants.remove(rp.registrant);

            // force the panel to refresh
            target.add(RegistrantPermissionsPanel.this);
        }
    };
    addPermissionForm.add(button);

    // only show add permission form if we have a registrant choice
    add(addPermissionForm.setVisible(registrants.size() > 0));
}

From source file:com.przemo.projectmanagementweb.pages.SprintPage.java

public SprintPage(IModel<Sprint> model) {
    super(model);
    Form f = new Form("form") {
        @Override/* w  w  w .  j av a 2s  .c om*/
        protected void onSubmit() {
            try {
                sprintService.saveSprint(model.getObject());
                success("Sprint saved successfully.");
                //setResponsePage(SprintsListPage.class);
            } catch (Exception ex) {
                error(ex.getMessage());
            }
        }
    };
    add(new Link("newtasklink") {
        @Override
        public void onClick() {
            Task t = taskService.createNewTask();
            t.setSprint(model.getObject());
            setResponsePage(new TaskPage(new CompoundPropertyModel<>(t)));
        }
    });

    f.add(new TextField("name"));
    f.add(new TextField<>("startDate"));
    f.add(new TextField("endDate"));

    f.add(new Label("timeAvailable", sprintService.getAvailableTime(model.getObject())));
    f.add(new Label("timeElapsed", Model.of(timeLogService.getTimeLoggedForSprint(model.getObject().getId()))));
    f.add(new Label("sprintStatus.name"));
    add(f);

    Form closeSprint = new Form("closeSprintForm") {
        @Override
        protected void onSubmit() {
            try {
                sprintService.saveSprintWithStatus(model.getObject(), "Closed");
            } catch (SprintServiceSaveException ex) {
                Logger.getLogger(SprintPage.class.getName()).log(Level.SEVERE, null, ex);
                error(ex.getMessage());
            }
            setResponsePage(SprintsListPage.class);
        }
    };
    add(closeSprint);
    closeSprint.setVisible(model.getObject().getSprintStatus() == null
            || !model.getObject().getSprintStatus().getName().equals("Closed"));

    Form currentSprint = new Form("currentSprintForm") {
        @Override
        protected void onSubmit() {
            try {
                sprintService.saveSprintWithStatus(model.getObject(), "Current");
            } catch (SprintServiceSaveException ex) {
                Logger.getLogger(SprintPage.class.getName()).log(Level.SEVERE, null, ex);
                error(ex.getMessage());
            }
            setResponsePage(SprintsListPage.class);
        }

    };
    add(currentSprint);
    currentSprint.setVisible(model.getObject().getSprintStatus() == null
            || !(model.getObject().getSprintStatus().getName().equals("Current")
                    || model.getObject().getSprintStatus().getName().equals("Closed")));
    //instead of a single task panel, task panels for different sprint flows are rendered
    renderSprintFlowTaskLists(model);
}

From source file:com.tysanclan.site.projectewok.components.ConversationContentPanel.java

License:Open Source License

public ConversationContentPanel(String id, ConversationParticipation participation,
        final EntityClickListener<ConversationParticipation> listener) {
    super(id);/*  w ww  .  ja  va2s .  com*/

    participationId = participation.getId();

    for (Message m : participation.getConversation().getMessages()) {
        if (!participation.getReadMessages().contains(m)) {
            service.markAsRead(participation, m);
        }
    }

    add(new ListView<Message>("messages", new MessageList(participation.getConversation().getId())) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Message> item) {
            Message message = item.getModelObject();

            item.add(new Label("user",
                    message.getSender() != null ? message.getSender().getUsername() : "System"));
            item.add(new Label("time",
                    DateUtil.getTimezoneFormattedString(message.getSendTime(), getUser().getTimezone())));
            item.add(new BBCodePanel("content", message.getContent()));
        }

    }.setOutputMarkupId(true).add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(15))));

    List<ConversationParticipation> plist = new LinkedList<ConversationParticipation>();
    plist.addAll(participation.getConversation().getParticipants());

    add(new ListView<ConversationParticipation>("participants", ModelMaker.wrap(plist)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<ConversationParticipation> item) {
            item.add(new MemberListItem("participant", item.getModelObject().getUser()));

        }

    });

    Form<ConversationParticipation> respondForm = new Form<ConversationParticipation>("respondForm",
            ModelMaker.wrap(participation)) {
        private static final long serialVersionUID = 1L;
        @SpringBean
        private MessageService messageService;

        @Override
        protected void onSubmit() {
            String message = getEditorComponent().getModelObject();
            ConversationParticipation part = getModelObject();

            Message msg = messageService.respondToConversation(part.getConversation(), part.getUser(), message);

            messageService.markAsRead(part, msg);

            listener.onEntityClick(null, part);
        }
    };

    editorVisible = participation.getConversation().getParticipants().size() > 1;

    add(new WebMarkupContainer("respondheader").setVisible(editorVisible));

    respondForm.setVisible(editorVisible);

    editor = new BBCodeTextArea("messagecontent", "");
    editor.setOutputMarkupId(true);
    editor.setOutputMarkupPlaceholderTag(true);

    respondForm.add(editor);

    add(respondForm);
}

From source file:com.tysanclan.site.projectewok.components.TrialPanel.java

License:Open Source License

/**
 * //from   w w w. ja v  a 2 s .c  o m
 */
public TrialPanel(String id, Trial trial, User user) {
    super(id);

    if (MemberUtil.isMember(trial.getAccused())) {
        add(new MemberListItem("accused", trial.getAccused()));
    } else {
        add(new Label("accused", trial.getAccused().getUsername()));
    }

    add(new ListView<Regulation>("regulations", ModelMaker.wrap(trial.getRegulations())) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Regulation> item) {
            Regulation regulation = item.getModelObject();
            item.add(new Label("name", regulation.getName()));

        }

    });

    if (MemberUtil.isMember(trial.getAccused())) {
        add(new MemberListItem("truthsayer", trial.getJudge()));
    } else {
        add(new Label("truthsayer", trial.getJudge().getUsername()));
    }

    add(new BBCodePanel("evidence", trial.getMotivation()).setVisible(trial.getJudge().equals(user)));

    ForumThread thread = trial.getTrialThread();

    Calendar cal = DateUtil.getMidnightCalendarInstance();
    Calendar cal2 = Calendar.getInstance();

    cal2.setTime(thread.getPostTime());

    cal2.add(Calendar.DAY_OF_MONTH, 1);
    cal.set(Calendar.DAY_OF_MONTH, cal2.get(Calendar.DAY_OF_MONTH));
    cal.set(Calendar.MONTH, cal2.get(Calendar.MONTH));
    cal.set(Calendar.YEAR, cal2.get(Calendar.YEAR));

    boolean canVerdictBePassed = trial.getAccused().getRank() == Rank.TRIAL || new Date().after(cal.getTime());
    boolean hasVerdict = trial.getVerdict() != null;
    boolean isJudge = user != null && user.equals(trial.getJudge());

    Form<Trial> verdictForm = new Form<Trial>("verdictForm", ModelMaker.wrap(trial)) {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private LawEnforcementService lawEnforcementService;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @SuppressWarnings("unchecked")
        @Override
        protected void onSubmit() {
            Trial t = getModelObject();

            DropDownChoice<Verdict> verdictChoice = (DropDownChoice<Verdict>) get("verdict");

            Verdict verdict = verdictChoice.getModelObject();

            lawEnforcementService.passVerdict(t, verdict);

            setResponsePage(new ForumThreadPage(t.getTrialThread().getId(), 1, false));
        }

    };

    verdictForm.add(new DropDownChoice<Verdict>("verdict", new Model<Verdict>(Verdict.INNOCENT),
            Arrays.asList(Verdict.values()), new IChoiceRenderer<Verdict>() {

                /**
                * 
                */
                private static final long serialVersionUID = 1L;

                @Override
                public Object getDisplayValue(Verdict object) {
                    switch (object) {
                    case INNOCENT:
                        return "Member is innocent";
                    case MINOR:
                        return "Member is guilty, but will only be given a warning";
                    case MEDIUM:
                        return "Member is guilty, and will be reprimanded";
                    case MAJOR:
                        return "Member is guilty and will be banned immediately";
                    default:
                        return "I have no idea";
                    }

                }

                @Override
                public String getIdValue(Verdict object, int index) {
                    return object.toString();
                }
            }));

    verdictForm.setVisible(canVerdictBePassed && !hasVerdict && isJudge);

    add(new IconLink.Builder(trial.isRestrained() ? "images/icons/lock_delete.png" : "images/icons/lock.png",
            new DefaultClickResponder<Trial>(ModelMaker.wrap(trial)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private LawEnforcementService lawEnforcementService;

                /**
                * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                */
                @Override
                public void onClick() {
                    Trial t = getModelObject();

                    if (t.isRestrained()) {
                        lawEnforcementService.unrestrainAccused(t);
                    } else {
                        lawEnforcementService.restrainAccused(t);
                    }

                    setResponsePage(new ForumThreadPage(t.getTrialThread().getId(), 1, false));
                }

            }).setText(trial.isRestrained() ? "Lift restraint" : "Restrain the accused").newInstance("restrain")
                    .setVisible(isJudge));

    if (hasVerdict) {
        switch (trial.getVerdict()) {
        case MAJOR:
            add(new Label("verdict", "Member was found guilty, and removed from the clan"));
            break;
        case MEDIUM:
            add(new Label("verdict", "Member was found guilty, and given a reprimand"));
            break;
        case MINOR:
            add(new Label("verdict", "Member was found guilty, and given a warning"));
            break;
        case INNOCENT:
            add(new Label("verdict", "Member was found innocent"));
            break;
        default:
            add(new WebMarkupContainer("verdict").setVisible(false));
        }
    } else {
        add(new WebMarkupContainer("verdict").setVisible(false));
    }

    add(verdictForm);
}

From source file:com.tysanclan.site.projectewok.pages.member.group.EditGroupForumModeratorPage.java

License:Open Source License

public EditGroupForumModeratorPage(GroupForum groupForum) {
    super("Moderators for forum " + groupForum.getName());

    forumModel = ModelMaker.wrap(groupForum);

    Group group = groupForum.getGroup();

    if (!group.getLeader().equals(getUser())) {
        throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class);
    }/*w  w w  .  ja  v  a 2  s. c o  m*/

    add(new Label("title", "Moderators for forum " + groupForum.getName()));

    List<User> moderators = new LinkedList<User>();
    moderators.addAll(groupForum.getModerators());

    Collections.sort(moderators, new Comparator<User>() {

        @Override
        public int compare(User o1, User o2) {
            return o1.getUsername().compareTo(o2.getUsername());
        }

    });

    add(new ListView<User>("moderators", ModelMaker.wrap(moderators)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<User> item) {
            User user = item.getModelObject();
            item.add(new Label("user", user.getUsername()));

            Link<User> deleteLink = new Link<User>("remove", ModelMaker.wrap(user)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private ForumService forumService;

                /**
                 * @see org.apache.wicket.markup.html.link.Link#onClick()
                 */
                @Override
                public void onClick() {
                    User moderator = getModelObject();

                    setResponsePage(new EditGroupForumModeratorPage(
                            (GroupForum) forumService.removeModerator(getUser(), getForum(), moderator)));
                }
            };

            deleteLink.add(new ContextImage("icon", "images/icons/group_delete.png"));

            item.add(deleteLink);

        }

    });

    Form<GroupForum> addModeratorForm = new Form<GroupForum>("addForm", ModelMaker.wrap(groupForum)) {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private ForumService forumService;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @SuppressWarnings("unchecked")
        @Override
        protected void onSubmit() {
            DropDownChoice<User> userChoice = (DropDownChoice<User>) get("userSelect");

            User moderator = userChoice.getModelObject();

            setResponsePage(new EditGroupForumModeratorPage(
                    (GroupForum) forumService.addModerator(getUser(), getModelObject(), moderator)));
        }

    };

    List<User> users = new LinkedList<User>();

    users.addAll(group.getGroupMembers());
    users.removeAll(moderators);

    Collections.sort(users, new Comparator<User>() {

        @Override
        public int compare(User o1, User o2) {
            return o1.getUsername().compareToIgnoreCase(o2.getUsername());
        }

    });

    addModeratorForm.add(
            new DropDownChoice<User>("userSelect", ModelMaker.wrap(users.isEmpty() ? null : users.get(0), true),
                    ModelMaker.wrap(users)).setNullValid(false));

    addModeratorForm.setVisible(!users.isEmpty());

    add(addModeratorForm);

    addBackLink(group);
}

From source file:com.tysanclan.site.projectewok.pages.member.TruthsayerNominationPage.java

License:Open Source License

/**
 * /*  www .  j  ava  2s .co  m*/
 */
public TruthsayerNominationPage() {
    super("Nominate Truthsayer");

    Form<?> nominateForm = new Form<Void>("nominateform") {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private LawEnforcementService lawEnforcementService;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @SuppressWarnings("unchecked")
        @Override
        protected void onSubmit() {
            TysanDropDownChoice<User> userChoice = (TysanDropDownChoice<User>) get("user");
            User user = userChoice.getModelObject();

            if (user != null) {
                lawEnforcementService.nominateTruthsayer(getUser(), user);

                setResponsePage(new TruthsayerNominationPage());
            } else {
                error("You must select a user!");
            }
        }

    };

    UserFilter filter = new UserFilter();
    filter.setRetired(false);
    filter.addRank(Rank.REVERED_MEMBER);
    filter.addRank(Rank.FULL_MEMBER);
    filter.addRank(Rank.SENIOR_MEMBER);
    filter.setTruthsayerNominated(false);
    filter.addOrderBy("username", true);

    List<User> users = userDAO.findByFilter(filter);

    nominateForm.add(new TysanDropDownChoice<User>("user", null, users).setNullValid(false));

    nominateForm.setVisible(!users.isEmpty());

    if (users.isEmpty()) {
        info("There are no users who qualify to become a Truthsayer");
    }

    add(nominateForm);

}

From source file:com.tysanclan.site.projectewok.pages.PasswordRequestPage.java

License:Open Source License

public PasswordRequestPage(String username) {
    super("Request Password");

    UserFilter filter = new UserFilter();
    filter.setUsername(username);//from w  ww  . j  a  va2  s.  c  o  m

    String _username = username;

    User user = null;

    List<User> users = userDAO.findByFilter(filter);
    if (!users.isEmpty()) {
        user = users.get(0);
    }

    Form<User> requestPasswordForm = new Form<User>("requestpassword", ModelMaker.wrap(user)) {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private MailService mailService;

        @SpringBean
        private UserService userService;

        @SpringBean
        private PasswordRequestDAO passwordRequestDAO;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @Override
        protected void onSubmit() {
            User u = getModelObject();

            PasswordRequestFilter f = new PasswordRequestFilter();
            f.setUser(u);

            List<PasswordRequest> requests = passwordRequestDAO.findByFilter(f);

            if (u != null && requests.isEmpty()) {
                PasswordRequest request = userService.generatePasswordRequest(u);

                String requestBody = mailService.getPasswordRequestMailBody(u.getUsername(), request.getKey());
                mailService.sendHTMLMail(u.getEMail(), "Tysan Clan Password Reset", requestBody);
            }

            info("Password reset mail sent!");
        }

    };

    requestPasswordForm.setVisible(user != null);

    requestPasswordForm.add(new TextField<String>("username", new Model<String>(_username)).setEnabled(false));

    add(requestPasswordForm);

}

From source file:com.userweave.pages.configuration.study.localization.LanguageActivationPanel.java

License:Open Source License

protected void init() {

    User user = UserWeaveSession.get().getUser();

    final boolean isAuthorized = user.getCurrentProjectRoles().hasRole(Role.PROJECT_ADMIN)
            || user.getCurrentProjectRoles().hasRole(Role.PROJECT_PARTICIPANT);

    Form form = new Form("form");

    form.setVisible(isAuthorized);

    CheckGroup group = new CheckGroup("group", new PropertyModel(getDefaultModel(), "supportedLocales"));

    group.add(new ListView("checkboxes", getAdditionalLocales()) {
        @Override//from  ww  w. ja v  a 2 s  .c  o m
        protected void populateItem(ListItem item) {
            item.add(new Check("check", item.getModel()));
            item.add(new Label("locale", new LocaleModel(item.getModel(), getLocale())));
        }

    });

    group.add(new AjaxFormChoiceComponentUpdatingBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            Study study = getStudy();
            study.getSupportedLocales().add(study.getLocale());
            studyDao.save(study);
            onChange(target);
        }
    });

    form.add(group);

    // dispay a list of available languages if user is visitor
    ListView langList = new ListView("langList", new PropertyModel(getDefaultModel(), "supportedLocales")) {
        @Override
        protected void populateItem(ListItem item) {
            Locale locale = (Locale) item.getModelObject();

            item.add(new Label("locale", locale.getDisplayLanguage(getLocale())));
        }

        @Override
        public boolean isVisible() {
            return !isAuthorized;
        }
    };

    add(langList);
    add(form);
}

From source file:gr.interamerican.wicket.markup.html.panel.back.ServicePanelWithBack.java

License:Open Source License

/**
 * Paints the go-back button./*from  w  w w .ja v a  2 s.  c o m*/
 */
protected void paintBackButton() {
    Form<Void> backForm = new Form<Void>(BACK_FORM_ID);
    add(backForm);
    backForm.add(backButton);
    if (getDefinition().getBackAction() != null) {
        backForm.setVisible(true);
    } else {
        backForm.setVisible(false);
    }
}