Package com.psddev.cms.db

Examples of com.psddev.cms.db.ToolUser


     * {@code permissionId}.
     *
     * @param If {@code null}, returns {@code true}.
     */
    public boolean hasPermission(String permissionId) {
        ToolUser user = getUser();

        return user != null &&
                (permissionId == null ||
                user.hasPermission(permissionId));
    }
View Full Code Here


                        ObjectType itemType = item instanceof Draft ? ((Draft) item).getObjectType() : itemState.getType();
                        typeOk = itemType != null && itemType.getGroups().contains(type.getInternalName());
                    }

                    if (userType != UserType.ANYONE) {
                        ToolUser updateUser = itemState.as(Content.ObjectModification.class).getUpdateUser();

                        if (userType == UserType.ME) {
                            userOk = page.getUser().equals(updateUser);

                        } else if (user instanceof ToolUser) {
                            userOk = user.equals(updateUser);

                        } else if (user instanceof ToolRole && updateUser != null) {
                            userOk = user.equals(updateUser.getRole());
                        }
                    }

                    return typeOk && userOk;
                }
View Full Code Here

        return null;
    }

    @Override
    protected void doService(ToolPageContext page) throws IOException, ServletException {
        ToolUser user = page.getUser();
        boolean verifyError = false;

        if (page.isFormPost() &&
                page.param(String.class, "action-verify") != null) {
            if (!user.verifyTotp(page.param(int.class, "totpCode"))) {
                verifyError = true;

            } else {
                user.setTfaEnabled(!user.isTfaEnabled());
                user.save();

                page.writeStart("script", "type", "text/javascript");
                    page.writeRaw("window.location = window.location;");
                page.writeEnd();
                return;
            }
        }

        if (user.getTotpSecret() == null) {
            byte[] secret = new byte[20];

            RANDOM.nextBytes(secret);
            user.setTotpSecretBytes(secret);
            user.save();
        }

        page.writeHeader();
            page.writeStart("div",
                    "class", "widget",
                    "style", "overflow: hidden;");
                page.writeStart("h1", "class", "icon icon-key");
                    page.writeHtml(user.isTfaEnabled() ? "Disable" : "Enable");
                    page.writeHtml(" Two Factor Authentication");
                page.writeEnd();

                StringBuilder keyUri = new StringBuilder("otpauth://totp/");
                String companyName = page.getCmsTool().getCompanyName();

                if (!ObjectUtils.isBlank(companyName)) {
                    keyUri.append(StringUtils.encodeUri(companyName));
                    keyUri.append(StringUtils.encodeUri(" - "));
                }

                keyUri.append(StringUtils.encodeUri(user.getEmail()));
                keyUri.append("?secret=");
                keyUri.append(user.getTotpSecret());

                page.writeElement("img",
                        "width", 200,
                        "height", 200,
                        "src", page.cmsUrl("/qrCode", "data", keyUri),
                        "style", "float: right; margin-left: 10px;");

                page.writeStart("div", "style", "margin-right: 210px;");
                    if (verifyError) {
                        page.writeStart("div", "class", "message message-error");
                            page.writeHtml("Code you've entered isn't valid! Try re-entering the code or re-scan the QR code.");
                        page.writeEnd();

                    } else {
                        page.writeStart("div", "class", "message message-info");
                            if (user.isTfaEnabled()) {
                                page.writeHtml("Enter the displayed code from your Google Authenticator to disable two factor authentication.");

                            } else {
                                page.writeHtml("Scan the QR code with your Google Authenticator and enter the displayed code to enable two factor authentication.");
                            }
View Full Code Here

                        State contentState = State.getInstance(content);
                        String permalink = contentState.as(Directory.ObjectModification.class).getPermalink();
                        Content.ObjectModification contentData = contentState.as(Content.ObjectModification.class);
                        DateTime updateDateTime = page.toUserDateTime(contentData.getUpdateDate());
                        String updateDate = page.formatUserDate(updateDateTime);
                        ToolUser updateUser = contentData.getUpdateUser();

                        page.writeStart("tr", "data-preview-url", permalink);
                            page.writeStart("td", "class", "date");
                                if (!updateDate.equals(lastUpdateDate)) {
                                    page.writeHtml(updateDate);
View Full Code Here

        if (userId != null) {
            String signature = StringUtils.hex(StringUtils.hmacSha1(Settings.getSecret(), userId));

            if (signature.equals(request.getParameter("signature"))) {
                ToolUser user = Query.
                        from(ToolUser.class).
                        where("_id = ?", ObjectUtils.to(UUID.class, userId)).
                        first();

                if (user != null) {
View Full Code Here

    @Override
    protected void doService(final ToolPageContext page) throws IOException, ServletException {
        List<WorkStream> workStreams = Query.from(WorkStream.class).where(page.siteItemsPredicate()).selectAll();

        UUID stop = page.param(UUID.class, "stop");
        ToolUser user = page.getUser();

        for (WorkStream workStream : workStreams) {
            if (workStream.getId().equals(stop)) {
                workStream.stop(user);
                page.redirect(null);
View Full Code Here

            for (Map<String, Object> checkRequest : checkRequests) {
                String checkName = (String) checkRequest.get("check");

                try {
                    ToolCheck check = CHECKS.get().get(checkName);
                    ToolUser user = userReference.get();
                    ToolCheckResponse checkResponse = check.check(user, url, checkRequest);

                    checkResponses.add(checkResponse);

                    if (checkResponse != null) {
View Full Code Here

    protected void doService(ToolPageContext page) throws IOException, ServletException {
        if (!page.isFormPost()) {
            throw new IllegalStateException("Form must be posted!");
        }

        ToolUser user = page.getUser();
        State userState = user.getState();

        for (String action : page.params(String.class, "action")) {
            if ("liveContentPreview-enable".equals(action)) {
                userState.put("liveContentPreview", true);

            } else if ("liveContentPreview-disable".equals(action)) {
                userState.put("liveContentPreview", false);

            } else if ("dashboardWidgets-position".equals(action)) {
                userState.put("dashboardWidgets", ObjectUtils.fromJson(page.param(String.class, "widgets")));
                userState.put("dashboardWidgetsCollapse", ObjectUtils.fromJson(page.param(String.class, "widgetsCollapse")));

            } else if ("scheduleSet".equals(action)) {
                user.setCurrentSchedule(Query.
                        from(Schedule.class).
                        where("_id = ?", page.param(UUID.class, "scheduleId")).
                        first());
            }
        }
View Full Code Here

                            "href", page.url("", "customize", "true"));
                        page.writeHtml("Customize");
                    page.writeEnd();
                page.writeEnd();

                ToolUser user = page.getUser();
                Set<UUID> automaticallySavedDraftIds = user.getAutomaticallySavedDraftIds();
                List<Object> automaticallySavedDrafts = Query.
                        from(Object.class).
                        where("_id = ?", automaticallySavedDraftIds).
                        selectAll();

                if (!automaticallySavedDrafts.isEmpty()) {
                    boolean removed = false;

                    for (Iterator<Object> i = automaticallySavedDrafts.iterator(); i.hasNext();) {
                        State draft = State.getInstance(i.next());

                        if (!draft.as(Content.ObjectModification.class).isDraft()) {
                            removed = true;

                            automaticallySavedDraftIds.remove(draft.getId());
                            i.remove();
                        }
                    }

                    if (removed) {
                        user.save();
                    }

                    if (!automaticallySavedDrafts.isEmpty()) {
                        page.writeStart("h2").writeHtml("Automatically Saved Drafts").writeEnd();
View Full Code Here

TOP

Related Classes of com.psddev.cms.db.ToolUser

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.