Calendar 按代码创建日历并在Liferay中添加权限模型
我有Liferay 6.2 GA4。。。 我想通过代码在portlet中创建一个生日日历。。。因此,我在portlet中创建了一个日历,代码如下:Calendar 按代码创建日历并在Liferay中添加权限模型,calendar,liferay,Calendar,Liferay,我有Liferay 6.2 GA4。。。 我想通过代码在portlet中创建一个生日日历。。。因此,我在portlet中创建了一个日历,代码如下: long calendarId = CounterLocalServiceUtil.increment(Calendar.class.getName()); calendar = CalendarLocalServiceUtil.createCalendar(calendarId); calendar.setName(BIRTHDAYS_CALEN
long calendarId = CounterLocalServiceUtil.increment(Calendar.class.getName());
calendar = CalendarLocalServiceUtil.createCalendar(calendarId);
calendar.setName(BIRTHDAYS_CALENDAR_NAME);
calendar.setGroupId(themeDisplay.getScopeGroupId());
calendar.setUserId(themeDisplay.getUserId());
calendar.setCreateDate(new Date());
calendar.setCompanyId(themeDisplay.getCompanyId());
calendar.setUserName(themeDisplay.getUser().getFullName());
calendar.setModifiedDate(new Date());
calendar.setCalendarResourceId(getCalendarDefault(themeDisplay.getScopeGroupId()).getCalendarResourceId());
calendar.setColor(6663561);
CalendarLocalServiceUtil.addCalendar(calendar);
这工作正常,日历将被创建。。。但在那之后我面临一个问题
如果我尝试在portlet(在站点中)中设置日历的权限,我会得到一个空白页面,日志中有一个错误:
java.lang.IllegalArgumentException: Permissioned model is null
所以我的问题是:
如何创建具有权限的日历?
我想使用默认权限创建日历,当您在站点中创建日历时,将显示以下内容:
权限
可查看者:站点成员
我该怎么做
谢谢
编辑
我在liferay论坛上问了同样的问题,但没有得到答案。。。所以我在这里问,希望我能在这里得到答案:)
您可以拨打:
CalendarLocalServiceUtil.addCalendar(long userId, long groupId, long calendarResourceId, java.util.Map<java.util.Locale, java.lang.String> nameMap, java.util.Map<java.util.Locale, java.lang.String> descriptionMap, java.lang.String timeZoneId, int color, boolean defaultCalendar, boolean enableComments, boolean enableRatings, com.liferay.portal.service.ServiceContext serviceContext)
CalendarLocalServiceUtil.addCalendar(长用户ID、长组ID、长calendarResourceId、java.util.Map nameMap、java.util.Map descriptionMap、java.lang.String timeZoneId、int-color、布尔默认日历、布尔启用注释、布尔启用评级、com.liferay.portal.service.ServiceContext服务上下文)
它将创建资源权限
Fabio。我找到了一个解决方法,您只需在创建日历后调用addModelResource方法即可
ResourceLocalServiceUtil.addModelResources(calendar, serviceContext);
希望它能帮助别人 我知道你已经问过这个问题了。请表示一些尊重,并始终添加一个链接,当交叉张贴(见)。这是我的朋友!伟大的liferay专家,我投他的票。那么调用addCalendar并通过addCalendar方法中的所有参数?好的,谢谢,我会试试的!!用你的方法做不到,我可能做了点什么。。不管怎样,我找到了另一种方法,谢谢你!我检查了addCalendar代码,这个答案应该有效!我猜我做错了什么。。泰!