Upload invoices to host and send url to customers! hide URL joomla? - url

I don't know exactly what tittle use but my problem is as follows. I have a Website for my small company and i would love to upload all my invoices to my host (where my website is hosted) and send to my clients just a link for the invoice. But the problem is that when i send a link for example "www.mycompany.com/invoice/invoice-15.pdf" i need to send them that link but if some of my clients see the URL can easily change the invoice number in the URL and see other invoices which i don't want. That's is why I wonders if there is kind of module that hide the URL and display for example "www.mycompany.com/invoice/l87y23bf9.pdf". I don't know if its possible or if there is some other options which i can use.

It is not very convenient to upload invoices by FTP. And download link is outside of Joomla. Even this one www.mycompany.com/invoice/l87y23bf9.pdf is not controlled by Joomla. If it would be something like www.mycompany.com/index.php?option=com_cobalt&task=download&id=2 then you can control it.
i suggest you install extension like Cobalt. then you create article and upload file to that article. You set author of that article user you want to give invoice to. Then you set that only this user can open this article.
Another way is to install some PM (Personal Message) extension and send files internally as attachment to personal message.

If your website is Joomla!, I recommend you this way to manage invoices, using extension to upload PDF invoice or any documents that you want to share with your customers
https://extensions.joomla.org/extension/jdownloads/
https://extensions.joomla.org/extension/phoca-download/
Then, in your website, you open login panel for customers. So, when you send invoices or any document for your customers, just send customer login info on first time, them your customers can login and see it as private area. Two extensions above allow to set permission to view for special user(s), or publish file if you want to show for all customers.
It's good way that I'm using, anytime when you have new invoices or files, just alert your customers about file name via email, so customer can login and see, download, etc.

Related

How can I link to Google Sheet from Google Form? (Exploring Make a Copy feature, but I need it to be shared with the original owner)

I'm posting here because I'm hoping someone can help me edit the link to a google sheet. I haven't been able to find the answer online, but I'm hoping maybe someone understands how the link works better than I and can give me an answer.
I've been tasked with updating the application for funding (from a non-profit) to include a budget category. The application is in Google Forms, but there's no way to insert a table into the form for an applicant to fill out. I created the budget outline in a Google Sheet, but now I'm trying to find the best solution to create an individual link within the form that will lead them to the budget document. Essentially, I'm hoping the applicant can fill out the form, and when they reach the section about their budget, I want them to click the link to the google sheet, have it make a copy, but have the copy be shared with the organization's google account so we can see it when they submit their application.
I've experiment with the forced copy feature (editing the shared link by google), but when I test it from a different google account than the owner, it tells me I have to request permission. The share settings are set to allow anyone with the link to access, so I don't understand why it's asking me to request permission when I open the force copy link. This isn't going to work because the applicants need to access it when applying, and we can't have them waiting for us to accept the request every time.
I'm sure there could be a few solutions, so I'm open to any advice. The only other solution I can possibly think of is creating individual links for each applicant, if there's a way to automate that?
I recognize there could be a solution where I ask the applicant to download the file and re-upload, or share it themselves, but our applicants are not native english speakers and they are often non very comfortable with technology, so I want to automate the process as much as possible.
To summarize: The applicant should be able to
Fill out the google form
Receive an individual copy of the budget document (from google sheets) to fill out.
The budget document must be shared with the original owner so we can see it and see how it relates to the rest of their application.
Thank you for your consideration!
A solution for your use-case would be to make use of Apps Script.
Apps Script is a powerful development platform which can be used to build web apps and automate tasks. What makes it special is the fact that it is easy to use and to create applications that integrate with G Suite.
Taking this into account, you can create a script which will create a copy of the document whenever a new form submission is made and add the permissions needed for the user. Essentially, you will be the one owning the copy of the sheet as well and the candidates will have edit permissions.
Therefore, the script will end up looking something similar to this:
Code
function onFormSubmit() {
let sheetId = 'ORIGINAL_SPREADSHEET_ID';
let form = FormApp.getActiveForm();
let responses = form.getResponses();
let n = responses.length;
let currentUser = form.getResponse(responses[n-1].getId()).getRespondentEmail();
let newSpreadsheet = SpreadsheetApp.openById(sheetId).copy("Sheet copy for " + currentUser);
let newSpreadsheetId = newSpreadsheet.getId();
DriveApp.getFileById(newSpreadsheetId).addEditor(currentUser);
}
Explanation
The above snippet makes use of the Apps Script's onFormSubmit installable trigger. Basically, whenever a new form submission is sent, the code above will run. The code will retrieve the last response which was submitted and get the user's email address by making use of the getRespondentEmail method. Afterwards, a copy of the original spreadsheet will get created and shared with the editor permission with the user who just submitted the form. Adding the permission is done by making use of the addEditor method from the DriveApp parent class. As for the user accessing the copy of the spreadsheet, this is easily done as the user will end up receiving an email telling them that a spreadsheet has been shared with them.
Setup
You will have to have the Collect emails option checked for the form;
Open the three dots icon and click on Script Editor;
Once you open the script editor, input the code from above and do not forget to modify the sheetId such that it matches the id of your original spreadsheet that you want to share.
Install the onFormSubmit trigger by going to the Triggers page and create a new trigger with the following options:
Send the URL form to the candidates and wait for submission to be sent.
Reference
Google Apps Script;
Apps Script Installable Triggers;
Apps Script SpreadsheetApp Class;
Apps Script FormApp Class;
Apps Script DriveApp Class.

Save to OneDrive from ERP

We want to save documents to individual OneDrive Folders.
Currently:
User "Tim" generates a customer overview (Last visits, Revenue etc.) in our ERP-Sytem from Customer "TomCompany" and it will be automatically saved in an FTP-Folder. He's now able to have a look on this file at customers site with Good Reader on his iPad.
Plan:
First step: The customer overview should be saved directly to OneDrive, instead of an FTP-Folder.
Second step: Every Sales Person has his own OneDrive account, so it should be saved to his own account with user-Parameters etc. (which is not a Problem to manage in our ERP-API).
The question is: Is it possible to connect to OneDrive from a different System like ERP. "SaveFileToOneDrive with Authentication"
You can 'connect' to OneDrive through the given API with JavaScript.
Here is an example: https://dev.onedrive.com/sdk/js-v7/js-picker-save.htm .
You can now add the 'Save to OneDrive' button on every page you need it.
If not noticed yet, some examples for the API: https://dev.onedrive.com/sample-code.htm
Hope this helps you to solve your (for me still unknown) problem ;-)
I implemented own windows live API because of I found some problems with standard live api. It is based on REST API so there is layer with objects (file, folder, etc...) and each object has some equipment (i.e. file has method for upload and download file). Second layer is for communication with server side and object layer send requests into second layer which send it into server. Server sends response and second layer return this response into object layer.
I implemented onedrive function mainly because of I developed application which uploads some files into onedrive.
So it is very simple to use it. I describe it on webpage https://wlivefw.codeplex.com/
You can sign as user which onedrive want to use by connection object. Then you will need folder id where you want to create new file. Then you create file object with parent_id set to folder id, name (is required) and description (optional). And now you call File.Create(file object which you created, Stream object - data of origin file, OverWriteOption - if you want to overwrite file if exists or not or create with new name, and progress handler - delegate to method which you want to invoke when progress changed).
File uploading is implemented by BITS protocol, so you can upload file greater than 60MB. File is uploaded by fragment so if fragment uploading fails you can very easy send this fragment again - in exception when uploading fails is delegate to continue method which continue upload from last successfull fragment.
I would like to improve this library so library is free to use as well as source code. Please if you will expand this library send me your changes and I will build new version, etc... Thank you and I hope it is usefull.

Getting Files From Another User's Folder

So I've read the documentation for the dropbox api, and its quite rough around the edges, and Im not sure that I can do this. Basically what I want to do is make my app create a folder, give the user the link so that they can give it to other users. After those users have that link, they can paste it into the app and it will let them see whats in the folder. They don't even need to be able to see it, the app just needs to be able to download files from the folder. Its kinda exactly what a shared link would do in the normal dropbox. Is this at all possible? And if so, how would one go about doing this?
This certainly sounds possible, but you would probably need your own server-side component. The basic idea as I see it:
user A links the app to their Dropbox account
the app has the user pick a folder
the app generates its own link for that folder and supplies it to user A
user A supplies the link to user B
user B supplies the link to the app
the app looks up user A via the link, and uses /metadata or /delta to list files from user A's account, and then /files (GET) to serve file content to user B (from user A's account).
The server-side component is important in order to avoid exposing user A's access token to any other user.
This would be much easier, and wouldn't require a server-side component, if Dropbox offered an API for Dropbox shared links themselves, since you could then just use /shares to get one and pass that around directly. It doesn't though, so I'll pass this along as a request.

Eventbrite custom ticket pdf

Is it possible to use event_list_attendees to get the list of attendees and their specific information for the event in order to place it onto my own custom designed ticket graphic/PDF?
For instance, I want to create my own stand alone website that links to my event, have users register/purchase tickets, then from my website via the API, I would send the user a custom email as well as a custom designed ticket specific to my event. On the ticket itself I would want to pull the attendee name and number of tickets ordered, as well as the barcode and the event information.
Yes, that is totally possible. See the page on the Eventbrite API - event_list_attendees
It should give you all the information you need.
Good luck!
You may be interested by Pygmento custom emails & tickets : https://www.pygmento.com/en/blog/eventbrite-custom-tickets-pdf/.
You can use the service customize the confirmation email and pdf ticket using any variable from Eventbrite : given name, surname, ticket class, barcode, or even the user-defined checkout fields.

Adding Outlook appointment using ASP.Net

I am creating an ASP.Net MVC project where users will add Outlook appointments to other users calendars. I other words; I wish for a user of my web app to be able to add an appointment directly in another persons calendar. This means sending it via email with no need for the receiver to accept it. It should be as if the receiver actually created it himself in Outlook.
Is this even possible to do?
The web app is hosted outside the customers network.
Best regards
Pål Eilertsen
You can create an ICS file that the user can double click and store the appointment. If multiple users, it can be sent to others. If you can get access to their exchange server (sounds like you can't), as SLaks asked, you can use something like this (http://goo.gl/G2nrd). If you have no access to Exchange directly, the ICS file format will allow the user to add the appointment.
If you want an example of an ics file (other than a Google search), sign up for a Microsoft event and click the "add to outlook" button. The fortunate thing about this methodology is it can also work with other mail/calendar applications that use the format.

Resources