Snipe-it: Feature: Eula Normalization (Variables)

Created on 23 Jul 2018  路  30Comments  路  Source: snipe/snipe-it

Feature request.
Adding a pregmatch formatting to include php requests when building the eula.

Example
[{"value":"company;name"}]] == Company Name | (exmple: Awesome Corp)
[{"value":"user;present;fullName"}!] == Checkout User Fullname | (exmple: John Johnson)
[{"value":"item;asset_tag"}]] == Asset Tag | (exmple: AS223311)
[{"type":"date","format":"date","value":"item;last_checkout"}]] == checkout date | (exmple: 23 Jul 2018)

If you format your EULA as
_By signing this EULA I ('[{"value":"user;present;fullName"}!]') accept to use this asset owned by [{"value":"company;name"}]], and protect this asset with asset tag: '[{"value":"item;asset_tag"}]]' with your life starting from: [{"type":"date","format":"date","value":"item;last_checkout"}]]._

The format will result as
_By signing this EULA I ('John Johnson') accept to use this asset owned by Awesome Corp, and protect this asset with asset tag: 'AS223311' with your life starting from: 23 Jul 2018._

We have already build this so if people are interested in this we will consider upstreaming this to the dev branch.

feature request ready for dev stale

Most helpful comment

This would be awesome! Please do a pull, we'd love to be able to customize the EULA to include some more info about the asset and the user. Thank you!

Thanks for this, I really wanted to do this but there was no support from the project owners for this and I don't want to spend my time on something they don't want to implement. I probably still have the code somewhere but I don't think I could find the time to update it to work in the current function of the SnipeIT.

All 30 comments

| Type | Variable | Notation |
| ----- | ----- | ----- |
| Asset | Asset Name | [[{"value":"item;name"}]] |
| Asset | Asset Tag | [[{"value":"item;asset_tag"}]] |
| Asset | Serial Number | [[{"value":"item;serial"}]] |
| Asset | Purchase Date | [[{"value":"item;purchase_date"}]] |
| Asset | Purchase Cost | [[{"value":"item;purchase_cost"}]] |
| Asset | Order Number | [[{"value":"item;order_number"}]] |
| Asset | Assigned To | [[{"value":"item;assigned_to"}]] |
| Asset | Notes | [[{"value":"item;notes"}]] |
| Asset | Image | [[{"value":"item;image"}]] |
| Asset | Checkout Date | [[{"type":"date","format":"date","value":"item;last_checkout"}]] |
| Company | Name | [[{"value":"company;name"}]] |
| Company | image | [[{"value":"company;image"}]] |
| User | First Name | [[{"value":"user;first_name"}]] |
| User | Last Name | [[{"value":"user;last_name"}]] |
| User | Job Title | [[{"value":"user;jobtitle"}]] |
| User | Employee Number| [[{"value":"user;employee_num"}]] |
| Accessory | Name | [[{"value":"item;name"}]] |
| Accessory | Purchase Date | [[{"value":"item;purchase_date"}]] |
| Accessory | Purchase Cost | [[{"value":"item;purchase_cost"}]] |
| Accessory | Model Number | [[{"value":"item;model_number"}]] |
| Accessory | Checkout Date | [[{"type":"date","format":"date","value":"item;last_checkout"}]] |
| License | Name | [[{"value":"item;name"}]] |
| License | License Key | [[{"value":"item;serial"}]] |
| License | Purchase Date | [[{"value":"item;purchase_date"}]] |
| License | Purchase Cost | [[{"value":"item;purchase_cost"}]] |
| License | Order Number | [[{"value":"item;order_number"}]] |
| License | Seats | [[{"value":"item;seats"}]] |
| License | Notes | [[{"value":"item;notes"}]] |
| Consumable | Name | [[{"value":"item;name"}]] |
| Consumable | Quantity | [[{"value":"item;qty"}]] |
| Consumable | Purchase Date | [[{"value":"item;purchase_date"}]] |
| Consumable | Purchase Cost | [[{"value":"item;purchase_cost"}]] |
| Consumable | Order Number | [[{"value":"item;order_number"}]] |
| Consumable | Min. Amount | [[{"value":"item;min_amt"}]] |
| Consumable | Model Number | [[{"value":"item;model_number"}]] |
| Consumable | Item Number | [[{"value":"item;item_no"}]] |
| Consumable | Image| [[{"value":"item;image"}]] |

I'm not sure this is going to be a priority for us, but I'm leaving it open in case someone else decides to take a stab at it. (Also, there's probably better ways to shorthand those values.)

We have a working module for this formatting, I'm documenting some variables now to give some information about how to use it and then I'll send in a Pull Request.

With the documentation it's fairly easy to use, please check it after I've send the Pull Request :)

Those placeholders aren't very user friendly though. :-/

Also what happens when the EULA is being sent for an accessory, which doesn't have an asset tag?

How do you suggest we make it more user friendly? :)

When a value doen't exists the value will be empty.
We suggest creating a EULA for each catagory, this way you can add the correct variables for each catagory.

We suggest creating a EULA for each catagory

Not everybody is going to set it up that way though, which is going to lead to a lot of confusing support tickets.

If the documentation of this feature is extremely useful, people will understand how it works.
Even tho, if people don't use the EULA per category feature they will probably only use the company name, user name and item name in the EULA.

In our situation, the EULA is a legal contract everybody needs to sign to use there hardware. We use it for everything so we need to have the asset tag, serial number, model number and more in the EULA.

For our company it's really important and I strongly believe that we're not the only one.

If the documentation of this feature is extremely useful, people will understand how it works.

You're assuming people read the documentation. They don't. Trust me. I've been running this project for 4 years.

The only way I could see this really working is having those variables available through a selector, and the list of variables is dependent on the category type (asset, accessory, etc). So only asset variables show up for asset categories, etc. And with the option of a preview on-screen or via sending a test email. Without those two constraints, there's no way that people won't mess this up and blame the software.

Okay, I can easily make that it will only work for the category EULA.
I'll check if I can make some time to add a EULA preview block to the edit category blade.

I found some time to add a preview field and added just some random demo data.
Do you like something like this? It's just the start.

image

Very keen to see where this goes.

Haven't got any time to work on this lately.

Got some time to work on this again.
I've created buttons that apply to the selected category type. This way the buttons shown are working notations for this eula.

Keep in mind, it's still a beta.
screenshot 2018-10-25 at 10 14 32

The buttons are draggable and will place the notation in the textarea where you dropped it.
mhbb7luh2i

Any feedback on this?
The eula preview now only works after the changes are saved. So the will need to click save and then edit again. Any ideas how we can make the preview realtime?

Working like a charm now!
Things we've done:

1.

Also what happens when the EULA is being sent for an accessory, which doesn't have an asset tag?

_The notation will be replaced with nothing, this removes is from the email and the accept-blade._

2.

The only way I could see this really working is having those variables available through a selector.

_Build a selection box, users can now drag and drop notations into the category EULA._

3.

The list of variables is dependent on the category type (asset, accessory, etc).

_The Items shown are based on the selected category, the User and Company items are always available._

4.

And with the option of a preview on-screen or via sending a test email.

_I've build a preview windows that works but is not optimised. The preview only works after saving the changes and reopening the edit blade._

5.

Okay, I can easily make that it will only work for the category EULA.

_The EULA Normalization only works on the category EULA. The default EULA always shows the EULA as plain text/the git notation._

@snipe I'l love to hear what you think about this.

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

@SjamonDaal pull request? Looks like you've done lots of work here that I'd like to use.

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know!

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

Still want this to be implemented.

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know!

@SjamonDaal pull request? Looks like you've done lots of work here that I'd like to use.

@Never, I saw this reply. I'll try to fix this on the dev branch but it will take some time.

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

This issue has been automatically closed because it has not had recent activity. If you believe this is still an issue, please confirm that this issue is still happening in the most recent version of Snipe-IT and reply to this thread to re-open it.

Hi there,
This idea seems very relevant and would help drastically reduce paper contracts we to up instead still.
Keep us posted.

Is it possible to reopen this issue? We're looking for a function like this to use Snipe inside our organization. Currently we're using a selfbuilt php portal with variables that generate the document what needs to be signed. So every document is custom using user and device variables.

I need exactly the feature that @SjamonDaal described here. Please try to merge this in the new update :)

Hi @ardvw,

I'm willing to create a pull request for this but only if @snipe says it's ok to add this in snipe-it. I won't spend the time on it if they don't want it.

This would be awesome! Please do a pull, we'd love to be able to customize the EULA to include some more info about the asset and the user. Thank you!

This would be awesome! Please do a pull, we'd love to be able to customize the EULA to include some more info about the asset and the user. Thank you!

Thanks for this, I really wanted to do this but there was no support from the project owners for this and I don't want to spend my time on something they don't want to implement. I probably still have the code somewhere but I don't think I could find the time to update it to work in the current function of the SnipeIT.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Neor5804 picture Neor5804  路  3Comments

ericdude101 picture ericdude101  路  5Comments

Supsuop picture Supsuop  路  4Comments

WELLBOREIS picture WELLBOREIS  路  3Comments

sbenoit89 picture sbenoit89  路  5Comments