Service Contracts not visible in Customer Portal - vtiger

I'm running Vtiger 7 on PHP 7.
Service contracts can be enabled from the admin configuration
But Service Contracts are not visible in the Customer Portal
Is this because of some bug or is this feature not fully added to Customer Portal yet ?

Hi panchtatva please execute this Queries in your database
INSERT INTO `sandeep_forexcrmdb`.`vtiger_customerportal_prefs` (`tabid`, `prefkey`, `prefvalue`) VALUES ('35', 'showrelatedinfo', '1');
INSERT INTO `sandeep_forexcrmdb`.`vtiger_customerportal_tabs` (`tabid`, `visible`, `sequence`) VALUES ('35', '1', '12');
and check Service Contract Module display or not

Related

PowerBI - Power Query Fetch credentials from Azure Vault

We have a requirement to fetch data from a rest api into powerbi and schedule a refresh every night. The rest api support jwt authentication so it needs header with xapikey and access token.
I have managed to write a function in power query to get access token from our auth endpoint and able to inject access token for the rest api call and it works fine with powerbi-desktop. I have published the report to powerbi cloud.
The auth endpoint require username and password, we would not like to store this details in .pbix file and publish to cloud but instead use azure key vault and powerbi to fetch details at runtime.
Please advise ?
Power Automate has a great Azure Vault connector.
You could make a simple 3-action flow:
A post to that URL will json back the secret/credentials.
Now, here is the goofy part - hide that URL in a permissioned location (Onedrive, Sharepoint, etc). Have your pbi pickup from that location, using privileged credentials. Now the URL and the credentials get picked up at runtime, and neither is persisted in PBIX.
I am assuming that there is an available premium PAutomate env in which to spin up that flow, of course. But, given that you already have an azure vault, that seems like a standard PBI+ toolkit to have at that point.

Are SagePay merchantSessionKeys and cardIdentifiers OK to expose to end users?

I'm currently working on a REST based SagePay Integration using a combination of Django on the backend and Vue / Nuxt on the front.
The current process is as follows:
Client makes a request to my backend server for a merchantSessionKey via a GraphQL resolver.
The backend graphene resolver uses the secret merchant integration key and password (stored in environment variables) to make a post request for the merchantSessionKey and returns it to the Vue frontend.
A user fills in the credit card form (using SagePay's Own Form integration)
I use the card data to generate a cardIdentifier that I will store in my vuex state and will use later to further the rest of the transaction.
Is this all safe to do? Obviously it will be secured via https and I will setup CORS properly when everything goes into production, but I am technically storing the merchantSessionKey and cardIdentifier on the end users machine.
Both expire after 400sec and must be send together within Payment Registration POST authenticated with your vendor/account IntegrationKey and IntegrationPassword from your server which IP is whitelisted by Sage Pay. MSK is required to authenticate card tokenization call from customer's browser to Sage Pay endpoint. As a result you receive cardIdentifier/Token. This method keeps your server free of cardholder details but all (MSK,Token, PAN and CV2) are allowed to exist in customer browser.
IntegrationKey and IntegrationPassword can't be stored in the customer browser.
If you decide to use your own payment pages instead of drop-in checkout, you can't reference files from 3rd-party non-PCI DSS server to archive PCI DSS SAQ A-EP attestation.
I've reviewed it with QSA

Google Apps Admin Settings API Reseller Service Account Example

I am working on building a Reseller platform where Customers can buy Google app for Business and avail Gmail Services, I need to verify if user has setup MX records so that I can setup MX record verification automatically. So my questions are:
My assumption is, I can use Admin settings Api as a Reseller service account for this purpose, Is it correct?
What is the correct scope for calling this Api, Is this https://apps-apis.google.com/a/feeds/domain/ ?
Can I get working example to accomplish this, for example for domain verification I use Python Syntax.
service = build("siteVerification", 'v1', http=http)
followed by
response=service.webResource().insert(body=request_verify_domain,verificationMethod="DNS_TXT").execute()
I am looking for a similar example to verify MX records as a Reseller service account holder.
Thanks in Advance!
See an end-to-end codelab from Google in several different languages:
https://developers.google.com/admin-sdk/reseller/v1/codelab/intro
To Answer your questions:
You can validate sites on behalf of your customer domains using a service account on your reseller domain.
The scope for the site verification api is: https://www.googleapis.com/auth/siteverification
It is not possible to validate the MX records via the API. If the site/domain itself is validated, then you'll be fine. Mail will continue to flow (assuming you actually set up the mx records) even if the MX records are not "validated" on the domain. Basically, validating the mx does nothing more than get rid of the little nag message in the cpanel -- it's purely cosmetic. :)

Deploying WSPs to SP2013: I was not able to connect to the sql data even after deploying the WSPs properly

I developed a webapplication Example1:7575 which uses FBA. Now, I deployed these WSP's to a new server Production:2525 to get the same functionality of my previous server's webapplication. However, I was not able to fetch the data from sql server and I'm getting the following error: A Membership Provider has not been configured correctly. Check the web.config setttings for this web application.
Actually, I have manually entered the same membership and role providers of my previous server's central admin, security service token & web application's web.config entries to this new web.configs and matched them.
Can someone help me with where I might be doing wrong. Any help would be greatly appreciated.
If you can't fetch data from SQL Server there's probably an issue with permissions to the database. Check the database connection string that FBA is using. It likely uses Windows authentication to connect - in which case it will be connecting as the user assigned to the app pool for the web application and the secure token service. Check that the configured app pool identities have permissions to access the sql server databases.

Implementing web service security in Reporting Tools

I have a web reporting tool lets say Business Objects, Cognos, OBIEE, Crystal Reports. I want to display some data into the report which is coming from a Web Service. So i copy paste the Web service URL inside the report cell and i can access the data.
However this leaves a big security issue as i cannot authenticate the requestor. One thing which i can think of is checking the Http header request: referer property which is set by the reporting tool in my Web Service. This atleast ensures that the request has originated from my Reporting Application. Besides this i cannot see how i can authenticate a specific user.
Appending Username in the Web Service URL is also not an option because one report is used by many users. I would somehow want to access this specific user session and associate the web service request with this user session. Lets say both my Web Reporting tool and web service are running on the same Web Application Server. Is it possible to merge the Web Service Provider and my Reporting Application so that the session user name is available in the WebService ?