Skip to content

Instantly share code, notes, and snippets.

View princeneres's full-sized avatar
📈
Focusing

Prince princeneres

📈
Focusing
View GitHub Profile
@princeneres
princeneres / configuration.json
Created May 14, 2024 12:59
Search contents fragment with headless API Liferay
{
"fieldSets": [
{
"fields": [
{
"name": "contentStructureId",
"label": "ID da estrutura do conteúdo",
"type": "text",
"dataType": "int",
"defaultValue": ""
@princeneres
princeneres / getDdmFields.java
Created April 11, 2024 18:58
Pega campos de estrutura do conteúdo web
Long groupId = 0;
String articleId = "0";
Locale locale = LocaleUtil.getDefault();
JournalArticle article = JournalArticleLocalServiceUtil.getArticle(groupId, articleId);
AssetEntry entry = AssetEntryLocalServiceUtil.getEntry(article.getGroupId(), article.getArticleResourceUuid());
AssetRenderer<?> assetRenderer = entry.getAssetRenderer();
Map<String, List<DDMFormFieldValue>> ddmFormFieldValuesMap = assetRenderer.getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap();
Map<String, DDMFormField> ddmFormFieldsReferencesMap = article.getDDMStructure().getDDMForm().getDDMFormFieldsReferencesMap(true);
@princeneres
princeneres / index.ftl
Last active April 23, 2026 03:21
Calendar form filled as events
<!--
Importar CDN no Header
<script src='https://cdn.jsdelivr.net/npm/fullcalendar@6.1.10/index.global.min.js'></script>
-->
[#assign currentYear = .now?string('yyyy')?number]
[#assign currentMonth = .now?string('MM')?number]
<div>
<div class="d-flex gap-3">
@princeneres
princeneres / paginatedItems.jsp
Created November 3, 2023 12:57
Paginação de items no front end
<%@ include file="../../../init.jsp" %>
<%
User.TranslationLanguageEnum currentLanguage = MyCpUtil.getTranslationEnum(themeDisplay.getLanguageId());
%>
<liferay-portlet:resourceURL id="/mycp_user_requests/get_requests" var="getUserRequestsURL"/>
<div id="<portlet:namespace/>error-message-conainer"></div>
<div>
@princeneres
princeneres / relateFileToContent.groovy
Created October 20, 2023 21:41
Relacionando arquivo de documentos e mídia com conteúdo web no liferay
private void relateFileToContent(long fileId, String externalReferenceCode) throws PortalException {
long groupId = _b3MigratorSystemConfiguration.clientsGroupId();
AssetEntry journalArticleEntry = getJournalArticleEntry(externalReferenceCode, groupId);
AssetEntry fileEntry = getFileEntry(fileId, groupId);
if (Validator.isNotNull(journalArticleEntry) && Validator.isNotNull(fileEntry)) {
relateEntries(journalArticleEntry, fileEntry);
relateEntries(fileEntry, journalArticleEntry);
import com.liferay.portal.kernel.service.UserLocalServiceUtil
import com.liferay.portal.kernel.util.PortalUtil
def deleteUsersByEmails(emails) {
def company = PortalUtil.getCompany(actionRequest)
def companyId = company.getCompanyId()
for (email in emails.split('\n')) {
try {
def user = UserLocalServiceUtil.fetchUserByEmailAddress(companyId, email.trim())
@princeneres
princeneres / language-util-format.jsp
Created October 16, 2023 21:03
Using LanguageUtil.format to multiples params in message
<%
String changeLog = LanguageUtil.format(
resourceBundle,
"workflow-configuration-changelog",
new String[] { String.valueOf(user.getUserId()), user.getEmailAddress() },
false
);
_log.info(changeLog);
%>
@princeneres
princeneres / getDDMFieldsValuesFromContent.groovy
Last active September 11, 2023 17:39
Pega valores de campos dos conteúdos web e colcoa em Array de JSON
import com.liferay.asset.kernel.model.AssetEntry;
import com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil;
import com.liferay.asset.kernel.service.persistence.AssetEntryQuery;
import com.liferay.portal.kernel.json.JSONFactoryUtil;
import com.liferay.portal.kernel.util.LocaleUtil;
Locale locale = LocaleUtil.BRAZIL;
long groupId = 0;
long curseStructureId = 0;
long eventStructureI = 0;
@princeneres
princeneres / get_preview_url.ftl
Last active December 12, 2024 19:18
Código freemarker para pegar url de imagens de conteúdos web no liferay
<#--
Configurações para habilitar serviceLocor localizar classes java
não instanciadas por BaseService e BaseLocalService
Setar varável em `portal-ext.properties`
template.engine.service.locator.restrict=false
-->
<#assign
@princeneres
princeneres / get_user_expando_attr.ftl
Last active August 2, 2023 23:01
Código freemarker para pegar atributo da expando bridge de usuário no liferay
<#assign
userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")
userId = 0
user = userLocalService.getUser(userId)
userPerfilType = user.getExpandoBridge().getAttribute("userPerfilType")
>
<p>
${userPerfilType}
</p>