Order details function in Hybris - spring-mvc

I am new to Hybris.
Can anyone please let me know the function to get the order details in Hybris.
I need to pass the order details to SAP via we-service.
Thanks.
Biju

You can use orderFacade to get order details based on order code. For example
final OrderData orderDetails = orderFacade.getOrderDetailsForCode(orderCode);
orderFacade is using CustomerAccountService to get OrderModel and then populate it to orderData.
Or if you want to get Order History, you can use this function -
final SearchPageData<OrderHistoryData> searchPageData = orderFacade.getPagedOrderHistoryForStatuses(pageableData);

Hybris exposes most of the data available in hybris as a RESTful web service
. These files are named as
*Resource.Java.
you should find something to get order in one of the OrderResource.Java files.

Related

How to get comments by instanceId from the COMMENTS table in Activiti 5.22.0?

I am trying to get the comments associated with a Process Instance.
I thought these comments were being populated into the ACT_HI_COMMENT
table, but they are found in the COMMENTS table instead, so
I am not able to get them using taskService.getProcessInstanceComments
nor the
historyService.createProcessInstanceHistoryLogQuery(processInstanceService).includeComments().singleResult()
Does anyone know which is the correct service call to get this records
in Activiti 5.22.0 / Alfresco APS 1.9.0?
Thanks for your help!
I just found that this can be done by using:
com.activiti.service.runtime.CommentService
Like this:
commentService.getCommentsForProcessInstance(instanceId, true);

ReferenceError: people is not defined in Alfresco Community

I am using Alfresco Community 5.0.d and I'm getting below error.
ReferenceError: people is not defined
For following code in people-finder.js file:
var currentUser = people.getPerson(person);
I want to use the people methods for further process. Is there anyway to achieve this?
Also my target is to get all groups for the current user and the search result too.
One way I know is making ajax call to /alfresco/service/api/people/{people}?groups=true but this is an expensive way to achieve this.
Is there an alternative to achieve this?
Thanks
The "people" root object as well as any other that depends on repository tier services can not be accessed directly from a web script running in Alfresco Share.
if you wanted to get all the current user details in share webscript then you can get it using user Object
example:
Currently i have logged in with admin user
my webscript files
test.get.js
model.user=user;
test.get.html.ftl
${user}
Output ::
{lastName=, userStatus=null, alfUserLoaded=1489745903574,
userStatusTime=null,
alfUserGroups=GROUP_ALFRESCO_ADMINISTRATORS,GROUP_ALFRESCO_MODEL_ADMINISTRATORS,GROUP_ALFRESCO_SEARCH_ADMINISTRATORS,GROUP_EMAIL_CONTRIBUTORS,GROUP_SITE_ADMINISTRATORS,
firstName=Administrator,
userHome=workspace://SpacesStore/7338666a-7a02-4ab6-aa3b-5a46d06074ee,
id=admin, email=admin#alfresco.com}
list of groups in output::
GROUP_ALFRESCO_ADMINISTRATORS,GROUP_ALFRESCO_MODEL_ADMINISTRATORS,GROUP_ALFRESCO_SEARCH_ADMINISTRATORS,GROUP_EMAIL_CONTRIBUTORS,GROUP_SITE_ADMINISTRATORS
By repo webscript
if you wanted to get all the current user details in repo webscript then you can get it by using
example:
Currently i have logged in with admin user
my repo webscript files
test1.get.js
var users = people.getPerson(person.properties.userName);
var groups=people.getContainerGroups(users);
model["groups"] = groups;
test1.get.html.ftl file
<#list groups as g>
${g.name}
</#list>
output::
GROUP_ALFRESCO_ADMINISTRATORS GROUP_ALFRESCO_MODEL_ADMINISTRATORS
GROUP_ALFRESCO_SEARCH_ADMINISTRATORS GROUP_EMAIL_CONTRIBUTORS
GROUP_SITE_ADMINISTRATORS

DiagnosticOrder.Item - How should I incorporate other attributes

In our system , DiagnosticOrder.Item has many attributes. Example,
1. Code
2. Name
3. Parent Code
4. Problem with the code
5. Automatically added code ... and many more.
Seems to me , it will be more appropriate to create a new resource here. I see that DiagnosticOrder.Item is a backbone element.
Question is , should I create a new resource or should I use extension here for DiagnosticOrder.Item?
I am more inclined to create a new resource - but not sure how to create one ? If I have to create one , can you please guide me to create a new resource ?
At the moment, creating your own resource is non-compliant, though you could profile the Basic resource. What you're looking for sounds like an extension to me, though you could also look at DataElement.

DotNetOpenAuth and Quickbooks

I'm need to develop a .NET 3.5 application that imports data from Quickbooks, and I decided to use DNOA to OAuthorize with them. I downloaded the latest available version (4.1.something), took a look around, then create a QuickBooksConsumer following the example of GoogleConsumer. However, there is a problem I cannot seem to solve.
The url of the QuickBooks REST services looks like this:
https://services.intuit.com/sb/{0}/v2/{1}
where:
{0} is the name of the object to get the records of (like, "invoice", or "payment");
{1} is the realmId, i.e. the id of the Company the data is required for
The problem is that I don't see how to do PrepareAuthorizedRequest with such variable urls. The function is not virtual, so I cannot override it in my QuickBooksConsumer.cs. I'm stuck.
Can you please show me the way how to do that?
Thanks in advance!
Authorizing requests to dynamically created URLs should be no problem at all. Just wrap any URL in a MessageReceivingEndpoint and send it through ConsumerBase.PrepareAuthorizedRequest and you're good to go.

SqlProfileProvider - can you use Profile.GetProfile() in a project?

I am attempting to use the SqlProfileProvider in an application and can't seem to use it the way I want to. I would like to be able to simply call up a profile like this:
Profile p = Profile.GetProfile("naspinski");
p.Organization = "new_org";
but I can't seem to find the correct way to use the GetProfile() that I seem to see scattered around the net. Is there a way to grab, read and modify profiles?
I am using it in MVC 3 and will not be actually logging in as the specific user, this will be pulling users from the db that are specified. Thank you.
To retrieve the profile:
var profile = ProfileBase.Create(HttpContext.Profile.UserName, true);
And here's the MSDN documentation. And a nice blog post about custom profiles.

Resources