astoundify / donkey Goto Github PK
View Code? Open in Web Editor NEWAstoundify Support System - Provide support to Envato purchases.
Astoundify Support System - Provide support to Envato purchases.
To help avoid confusion we should show expired ThemeForest licenses but disable them so they cannot be used.
Step 1: Figure out how PHP tests work in WP.
Tags, Favorites.
http://developer.helpscout.net/help-desk-api/conversations/create/
Hopefully the Gravity Forms add-on has a way to add a customField
so when we retrieve a list of conversations we can see what license it was originally submitted with.
Should make notice more clear that it is searching for a purchase under X account (that is authed in the API).
When checking license if the expiration date comes back empty/incorrect/api error, don't override the license info.
If the ID of the item isn't one of ours, we shouldn't add the license.
Licenses generated on products that are free ($0) should not appear in the list.
We should allow users to manage multiple licenses/purchase codes and receive support for individual items.
A way to add a purchase code, then access and area based on that subscription.
Add New > Listify License
Add New > Jobify License (12 Months)
Should give you two subscriptions.
Since the tokens expire so quickly we should check and regenerate on each page load to avoid showing too many reconnection notices.
https://github.com/Astoundify/donkey/blob/master/src/inc/class-helpscout.php#L78
Lots its charm at some point.
Only the licenses page needs to be restricted to authenticated requests. The form should always show.
Less plugin-specific and more about our general setup. RCP won't be necessary anymore unless we want to still offer VIP support.
Thoughts @adampickering
If you can auth from Envato and there is no user account with that email we could easily make them one.
The Envato oAuth process is being removed from this plugin.
Shouldn't have duplicates. If it exists we should just update expiration time (if needed)
Field should list all licenses, with them all selectable. Expired should have a value of 0 or something distinguishable so the conditional logic can be triggered.
Right now it's jammed in the main class.
Scenario 1: New customer tries to submit a ticket:
The verification emails are however sent to the spam box. I think what is happening is that:
A new customer tries to submit a ticket
A verification email is sent to his email but the email goes to their spam box
If a customer does not check his spam folder, then he is not in a position to view the ticket from his account dashboard. The ticket is however sent to our Helpdesk
The customer is however not aware of this and he therefore tries to repeat the process once again but the tickets are never displayed, therefore he just assumes the ticket system is faulty.
Scenario 2: A customer who had an Astoundify account and later on purchases the theme, tries to submit a ticket:
What happens is that if their account is not synced with Envato, the customer is in a position to login but not in a position to view the theme he has purchased and hence is not in a position to submit a ticket.
In some cases also, the customer is in a position to login via Envato but the theme is not displayed within their dashboard and hence is not in a position to submit a ticket.
Should add valid EDD SL licenses to the Gravity Form select box.
https://github.com/Astoundify/donkey/blob/master/src/inc/class-user.php#L48
get_token_expire_time()
will return 0 if it doesn't exist, which is always less than now! This will cause licenses to not refresh.
I purchased a plugin licence but when I visit the GravityForm it doesn't show the licence key, so cannot submit a ticket under that licence key.
All hard-coded at the moment.
We can get the data much easier now (and more of it, since it's stored). Will be more accurate too.
Looks like Envato API is returning support renewals as well. Need to ensure the license
property is Regular License
and only display that.
What the re-write should do.
@spencerfinnell is this what you were thinking? I would like us to start discussing this as @benjaminprojas will start work this monday. He needs to know how we want it to work and how to should be built.
Thanks!
Can we with the API check multiple purchases from a buyer and list the products they have purchased from us as well as any extended support licences?
Using the Envato API connection authenticating with OAuth, so they would come to our site and log in with their Envato username and password.
Right now we have very basic implementation in the RCP registration form here:
https://github.com/Astoundify/helpscout/blob/master/includes/class-astoundify-helpscout-rcp.php
It just checks if the license key is valid and completes the registration with their selected subscription. Then it stores it in a huge array. Not fun.
This plugin should be a lot more robust. It should still only add a single field to the registration form, but subscription levels will no longer be present. The subscription that is assigned will be determined by the API response.
Using the response we can set their subscription start date based on when the purchase was made (as opposed to when they register) so the expiration dates match up.
Purchases made before September 1st will use their purchase date as the start and automatically be assigned the default 6 months from registration.
When a subscription is expired the user will see a notice from RCP but we need to filter that to have them update through ThemeForest, not RCP directly.
Right now we explicitly check if a license is active, but that is not the same as not-expired. A license can be valid but not active on a site and still not expired.
Need to extract just the theme name from the selected license.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.