Raw Source
katherinetuebner / Admin Extension for JobSight

// ==UserScript==
// @name     Admin Extension for JobSight
// @license MIT
// @updateURL https://openuserjs.org/meta/username/Admin_Extension.meta.js
// @include  https://app.levelset.com/admin/orders/view_order/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==
var companyNum = $( "#wdgt_user_info a:first").attr("href").replace(/[^0-9]/gi, '');
var isAffiliate = $( "#wdgt_user_info .badge-label:last" ).text();
var overrides = { "7083": {"instruction": ["For monthly notices, if new informaton is found for missing info alerts have been sent, send RN if necessary. If no new info is found, push order to ready for batch. For monthly notices, if Federl Project Type notification is sent and user accepts, cancel the order.CANCEL orders in PA and IA if there isn't an entry and add bond number from projects page. Cell tower: only operator listed as the ownership,no parcel owner."] },"38494": { "instruction": ["If surety is required, send RN for surety if you can't find one."] },"18053": { "instruction": ["Notices: If the project type changes and the document is voluntary or not required, cancel the order. All Orders: If the project type changes and new extra fields are required for amounts, use the amount info from the previous order."] },"21619": { "instruction": [" Run everything through the assessor first."] }, "6413": { "instruction": ["If user lists the owner as FPL, Florida Power & Light, etc. send the notice out as-is"] }, "79158": {"instruction": ["Mail to the subcontractor! Do not email if they accidentally clicked that."] }, "18755": {"instruction": ["For liens or bond claims, please search the secretary of state for the property owner, and add the registered agent for the owners as additional property owners. For NOC states, you can add and solve notification for surety, lender and OD without sending a RN."] }, "53956": { "instruction": ["Double check hiring party information name and address are correct, the information comes over in different fields."] }, "4810": { "instruction": ["If a claim is ordered, send a desk to Barry (barrydambrowski@emser.com) to confirm they want to proceed. Do NOT send conflict or non-match notifications for project address if it is only for a suite number, leave as-is."] }, "140601": { "instruction": [" Check docs tab. Surety/GC can be found there. CANCEL any order with the project address 122 E INDUSTRIAL BLVD CLEBRUNE TEXAS 76031."] }, "16199": { "instruction": ["If project is new development leave as residential if the order was submitted as residential. Hub does not want to be contacted with the commercial suggestion. If the project is Tribal Land, proceed as is. No need to reach out to the user. Always leave SURETY UNASSOCIATED."] }, "3253": {"instruction": ["If NOC found, added and solve the RN for the owner designee and send copy of NOF. Do not send missing lender RNs, Make sure everything gets sent as CMRR"] }, "7186": { "instruction": ["If General Contractor provided is only name with no mailing address, send a contact conflict alert with the address we find. "] },"116981": {"instruction": ["send to user for approval before filing."] }, "42293": {"instruction": ["BEWARE Might of listed themselves as the GC. When you see Akins as PO, GOOGLE address b/c probably Lochridge address."] }, "25494": {"instruction": ["send lender or surety notification when it's a required contact and we can't find."] }, "16200": { "instruction": ["Monthly Notices: If project is a new development, consider it commercial until it is sold by the developer. For liens, do not cotnact them for notice info when they are hired by the PO. "] }, "22533": { "instruction": ["When sending an alert for Legal Property Description attach a PDF of the property report. "] }, "55147": { "instruction": ["Project Research: make note that we confirmed DTI or updated from the assessor. "] }, "13366": { "instruction": ["Do NOT send any RNs for missing address. Please refer to Amy's instructions on how to research oil and gas jobs before pinging her or others. "]}, "13427": { "instruction": ["Dont reach out for more information. Don't add the property address address as is."] }, "32996": { "instruction": ["If monthly notice is federal, change to a generic preliminary notice and send notice. ALSO, for monthly notices, if the project address matches the subcontractor's address, research as normal and send out."] }, "28866": {"instruction": ["Do not send missing GC RN if you can not find a GC."] }, "18768": { "instruction": ["If NOC is found, send an alert for Owner Designee, do NOT just add the contact. User is concerned about postage. Please attach NOC for reference on RNs"]}, "29179": {"instruction": ["Do not send last furnishing date if it is missing."] }, "33972": { "instruction": ["Can update hiring role. 3 Attempts to obtain info before sending RNs"] }, "38704": { "instruction": ["Can update hiring role. 3 Attempts to obtain info before sending RNs"] }, "18756": { "instruction": ["Can update hiring role. 3 Attempts to obtain info before sending RNs"] }, "27367": { "instruction": ["Can update hiring role. Always add legal when applicable. RN after 1st touch when deadline is < 3 days. RN after 1st touch for rushed orders. Try to confirm customer's role. Make sure contacts and PA are in lower case."] },"22346": { "instruction": ["If search for GC comes back empty, send missing contact RN for GC. IF OIL/GAS PROJECT, CHANGE PROJECT TYPE TO OTHER, CANCEL ORDER. If unable to locate any project info, send missing address, missing GC, and missing PO. Always run through ASSESSOR first."] },"64733": { "instruction": ["If there's a contact with a missing mailing address, search in their account for mailing address and updated the contact."] },"67150": { "instruction": [" Send as little as notifications as possible. FL: Add surety, lender or OD if find the NOC and solve RNs. Can update hiring party to GC if find they were hired by the GC. TX: Cancel TX orders when Argos is listed as the customer.For GA notices, cancel any orders on Residential jobs where Argos provides just a lot # in the PA where we are not able to find an NOC."] },"147002": {"instruction": ["Cancel TX orders when Argos is listed as the customer. Only send Missing contacts for RNs for GC/Surety if we're unable to find and they are required conacts. If you find that Argos customer is the GC, update role"] }, "99797": {"instruction": ["Add surety, lender or OD if find the NOC and solve RNs."] },"94375": {"instruction": ["When filing on UT website use user email address to file aaron@buildwithmint.com. NOT Levelsets."] },"145951": {"instruction":["If the job name had Pipeline in it, do not update the PT to residential.  If we cannot find the pipleine, send RN/message to Grant inapp."]}, "147346":{"instruction": ["Estimated Contract Amount is always going to be the oustanding amount."] }, "82450": {"instruction": ["License #: 23516 exp 6.30.2022."] },"17214": {"instruction": ["Keep an out for Duplicate nonmatch vs conflict. When the property owner matches the GC or Sub -has to be exact- then unassociate one of the contacts."] }, "6346": {"instruction": ["If attachment for liens are LIEN INTAKE forms or other internal forms please reach out to end user."]}, "46917": { "instruction": ["Do not send RN's for estimated total contract amount."] }, "18217": { "instruction": ["USE THE WHITE-LABEL TEMPLATE IN THE FORMS."] }};
var instList = '';
if (overrides[companyNum]) { var list = $.each(overrides[companyNum].instruction, function(i, inst) {
    var listItem = '<li>' + inst + '</li>';
    instList += listItem;
});} else { instList = "<li>No special instructions</li>"; }
if (isAffiliate == "Affiliate") { instList += "<li>AFFILIATE ORDER</li>"; }
var myHTML = '<div id="gmRightSideBar"><ul>' +
             instList +
             '</ul>' +
             '</div>';
$("body").append (myHTML);
GM_addStyle ( "                                                     \
    #gmRightSideBar {                                               \
        position:               fixed;                              \
        top:                    0;                                  \
        right:                  0;                                  \
        margin:                 1ex;                                \
        padding:                1em;                                \
        background:             orange;                             \
        width:                  200px;                              \
        z-index:                6666;                               \
        opacity:                0.9;                                \
    }                                                               \
    #gmRightSideBar p {                                             \
        font-size:              80%;                                \
    }                                                               \
    #gmRightSideBar ul {                                            \
        margin:                 0ex;                                \
    }                                                               \
    #gmRightSideBar a {                                             \
        color:                  blue;                               \
    }                                                               \
" );