Package com.psddev.cms.tool.page

Source Code of com.psddev.cms.tool.page.UpdateUserSettings

package com.psddev.cms.tool.page;

import java.io.IOException;
import java.util.UUID;

import javax.servlet.ServletException;

import com.psddev.cms.db.Schedule;
import com.psddev.cms.db.ToolUser;
import com.psddev.cms.tool.PageServlet;
import com.psddev.cms.tool.ToolPageContext;
import com.psddev.dari.db.Query;
import com.psddev.dari.db.State;
import com.psddev.dari.util.ObjectUtils;
import com.psddev.dari.util.RoutingFilter;

@RoutingFilter.Path(application = "cms", value = "/misc/updateUserSettings")
@SuppressWarnings("serial")
public class UpdateUserSettings extends PageServlet {

    @Override
    protected String getPermissionId() {
        return "area/dashboard";
    }

    @Override
    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());
            }
        }

        userState.save();

        String returnUrl = page.param(String.class, "returnUrl");

        if (!ObjectUtils.isBlank(returnUrl)) {
            page.getResponse().sendRedirect(returnUrl);
        }
    }
}
TOP

Related Classes of com.psddev.cms.tool.page.UpdateUserSettings

TOP
Copyright © 2018 www.massapi.com. 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.