com.liferay.classregistration.admin.portlet.AdminPortlet.java Source code

Java tutorial

Introduction

Here is the source code for com.liferay.classregistration.admin.portlet.AdminPortlet.java

Source

/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.liferay.classregistration.admin.portlet;

import com.liferay.classregistration.service.ClassEntryLocalServiceUtil;
import com.liferay.classregistration.service.ClassRegistrationLocalServiceUtil;
import com.liferay.portal.kernel.servlet.SessionErrors;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.portal.security.permission.PermissionChecker;
import com.liferay.portal.theme.ThemeDisplay;
import com.liferay.util.bridges.mvc.MVCPortlet;

import java.util.Calendar;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;

/**
 * @author Janghyun Kim
 */

public class AdminPortlet extends MVCPortlet {

    public void deleteClassEntry(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

        ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        if (!permissionChecker.isCompanyAdmin()) {
            return;
        }

        long classEntryId = ParamUtil.getLong(actionRequest, "classEntryId");

        ClassEntryLocalServiceUtil.deleteClassEntry(classEntryId);
    }

    public void updateClassEntry(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

        long classEntryId = ParamUtil.getLong(actionRequest, "classEntryId");

        String title = ParamUtil.getString(actionRequest, "title");
        String description = ParamUtil.getString(actionRequest, "description");

        int startDateMonth = ParamUtil.getInteger(actionRequest, "startDateMonth");
        int startDateDay = ParamUtil.getInteger(actionRequest, "startDateDay");
        int startDateYear = ParamUtil.getInteger(actionRequest, "startDateYear");
        int startDateHour = ParamUtil.getInteger(actionRequest, "startDateHour");
        int startDateMinute = ParamUtil.getInteger(actionRequest, "startDateMinute");
        int startDateAmPm = ParamUtil.getInteger(actionRequest, "startDateAmPm");

        if (startDateAmPm == Calendar.PM) {
            startDateHour += 12;
        }

        int endDateMonth = ParamUtil.getInteger(actionRequest, "endDateMonth");
        int endDateDay = ParamUtil.getInteger(actionRequest, "endDateDay");
        int endDateYear = ParamUtil.getInteger(actionRequest, "endDateYear");
        int endDateHour = ParamUtil.getInteger(actionRequest, "endDateHour");
        int endDateMinute = ParamUtil.getInteger(actionRequest, "endDateMinute");
        int endDateAmPm = ParamUtil.getInteger(actionRequest, "endDateAmPm");

        if (endDateAmPm == Calendar.PM) {
            endDateHour += 12;
        }

        int maxAttendees = ParamUtil.getInteger(actionRequest, "maxAttendees");
        double price = ParamUtil.getDouble(actionRequest, "price");

        ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

        if (classEntryId <= 0) {
            ClassEntryLocalServiceUtil.addClassEntry(themeDisplay.getUserId(), title, description, startDateMonth,
                    startDateDay, startDateYear, startDateHour, startDateMinute, endDateMonth, endDateDay,
                    endDateYear, endDateHour, endDateMinute, maxAttendees, price);
        } else {
            ClassEntryLocalServiceUtil.updateClassEntry(themeDisplay.getUserId(), classEntryId, title, description,
                    startDateMonth, startDateDay, startDateYear, startDateHour, startDateMinute, endDateMonth,
                    endDateDay, endDateYear, endDateHour, endDateMinute, maxAttendees, price);
        }
    }

    public void updateClassRegistration(ActionRequest actionRequest, ActionResponse actionResponse)
            throws Exception {

        ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

        long classEntryId = ParamUtil.getLong(actionRequest, "classEntryId");
        boolean registered = ParamUtil.getBoolean(actionRequest, "registered");

        try {
            ClassEntryLocalServiceUtil.updateTotalAttendees(classEntryId, registered);

            if (registered) {
                long classRegistrationId = ParamUtil.getLong(actionRequest, "classRegistrationId");

                ClassRegistrationLocalServiceUtil.deleteClassRegistration(classRegistrationId);
            } else {
                String comments = ParamUtil.getString(actionRequest, "comments");

                ClassRegistrationLocalServiceUtil.updateClassRegistration(themeDisplay.getUserId(), classEntryId,
                        comments);
            }
        } catch (Exception e) {
            SessionErrors.add(actionRequest, e.getClass().getName());
        }
    }
}