/o//commerce-media/accounts/-1/images/18551373?download=true
Shared Resources Manager
DXP App
This app allows the management of shared resources in a company. Keeping
track of the current user and the people interested in using them, after
the resources are released.
Features:
+ Admin users can define shared resources in the Admin > Site Administration > Content page.
+ Admin users can set up Locations and Categories for shared resources.
+ The app allows searching resources by Location, Category and keywords.
+ Users can request any shared resources. If the resource is available it will be assigned and booked, but if it is already booked then the request will be put in a queue. Once the resource becomes available the next user in the queue will receive a notification asking to complete the booking.
+ Once the system chooses the next user from the waiting queue. This user will have some time to complete the booking of the resource, if she/he doesn't do that in the allocated time then the system will choose another user from the queue. The admin user configures how long the system will wait.
+ Users can send messages to the current user of the resource, and the current user can reply as well. Both will receive notifications.
+ When the current user returns the shared resource it is assigned to the next user in the queue. That person will receive a notification asking to complete the booking.
Features:
+ Admin users can define shared resources in the Admin > Site Administration > Content page.
+ Admin users can set up Locations and Categories for shared resources.
+ The app allows searching resources by Location, Category and keywords.
+ Users can request any shared resources. If the resource is available it will be assigned and booked, but if it is already booked then the request will be put in a queue. Once the resource becomes available the next user in the queue will receive a notification asking to complete the booking.
+ Once the system chooses the next user from the waiting queue. This user will have some time to complete the booking of the resource, if she/he doesn't do that in the allocated time then the system will choose another user from the queue. The admin user configures how long the system will wait.
+ Users can send messages to the current user of the resource, and the current user can reply as well. Both will receive notifications.
+ When the current user returns the shared resource it is assigned to the next user in the queue. That person will receive a notification asking to complete the booking.
DEVELOPER
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> publisePages.items [in template "3192443#3192485#null" at line 36, column 38] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign publisePage = publisePages.items [in template "3192443#3192485#null" at line 36, column 17] ----
1<#if themeDisplay?has_content>
2 <#assign scopeGroupId = themeDisplay.getScopeGroupId() />
3</#if>
4
5<#if currentURL?has_content>
6 <#if currentURL?contains('web')>
7 <#assign
8 index = 2
9 partsUrl = currentURL?split('/')
10 siteName = partsUrl[index..index]?join('/')
11 />
12 </#if>
13</#if>
14
15<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") />
16
17<#if channel?has_content>
18 <#assign channelId = channel.items[0].id />
19</#if>
20
21<#if (CPDefinition_cProductId.getData())??>
22 <#assign productId = CPDefinition_cProductId.getData() />
23</#if>
24
25<#assign
26 product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=productSpecifications")
27 productSpecifications = product.productSpecifications![]
28 catalogName=product.catalogName
29/>
30
31<#if catalogName?has_content>
32 <#assign publisePages=restClient.get("/c/publisherdetailses?filter=catalogName eq '${catalogName}'" ) />
33 <#assign redirectPath="https://marketplace-uat.liferay.com/e/publisher-details/29282497"/>
34
35 <#if publisePages?has_content>
36 <#assign publisePage=publisePages.items />
37 <#if publisePage?has_content>
38 <#assign publisherDetail=publisePage[0]/>
39 </#if>
40 </#if>
41</#if>
42
43<div>
44 <#if productSpecifications?has_content>
45 <#assign developerNames = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "developer-name")) />
46
47 <#if developerNames?has_content>
48 <#list developerNames as developerName>
49 <#if publisherDetail?has_content>
50 <a class="bg-neutral-8" href="${redirectPath}/${publisherDetail.id}">
51 ${developerName.value}
52 </a>
53 <#else>
54 <a class="bg-neutral-8" href="/?developer-name=${developerName.value}">
55 ${developerName.value}
56 </a>
57 </#if>
58 </#list>
59 </#if>
60 </#if>
61</div>
DEVELOPER
21/11/24 18:14
Published date
21/11/24 18:14
Published Date
21/11/24 18:14
SUPPORTED OFFERINGS
Liferay PaaS, Liferay Self-Hosted
Supported Versions
6.2
Resource Requirements
Edition
CE, EE
PRICE
Free
help & support
HTML Example
A paragraph is a self-contained unit of a discourse in writing dealing with a particular point or idea. Paragraphs are usually an expected part of formal writing, used to organize longer prose.