Exemple #1
0
def user_details(target_id, first_name, last_name, a=1):
    browser.get(
        'https://sysco.sprocketcmms.com/Default.aspx?screen=People&SSF=-134')
    create_new_person_button = browser.find_element_by_xpath(
        '//*[@id="btnNewLink"]')
    create_new_person_button.click()
    time.sleep(3)
    id_field = browser.find_element_by_id('StdSf_62_UserName_txt')
    id_field.clear()
    id_field.send_keys(target_id)
    fname_field = browser.find_element_by_id('StdSf_62_FirstName_txt')
    fname_field.clear()
    fname_field.send_keys(first_name)
    lname_field = browser.find_element_by_id('StdSf_62_LastName_txt')
    lname_field.clear()
    lname_field.send_keys(last_name)
    ignore_wdt = browser.find_element_by_id('StdSf_62_OverrideWorkDay_chk')
    ignore_wdt.click()
    ignore_wd_termination = browser.find_element_by_id(
        'StdSf_62_IgnoreWorkDayTermination_chk')
    ignore_wd_termination.click()
    access_flag = int(a)

    if access_flag == 1:
        access_food_safety = browser.find_element_by_id(
            'StdSf_62_Food_Safety_chk')
        access_food_safety.click()

    save_initial = browser.find_element_by_id('liSave')
    save_initial.click()
    time.sleep(5)
    browser.switch_to.alert.accept()
    time.sleep(1)
Exemple #2
0
def nav_wo_record(target_id):
    record_link = \
        'https://sysco.sprocketcmms.com/Default.aspx?screen=Work%20Order%20Details&InstanceName={}'.format(target_id)
    browser.get(record_link)
    time.sleep(3)
    inspection_tab = browser.find_element_by_id('liInspection')
    inspection_tab.click()
Exemple #3
0
def add_safety(target_user, a):
    browser.implicitly_wait(10)
    browser.get(
        'https://sysco.sprocketcmms.com/Default.aspx?screen=People&SSF=-134')
    search_box = browser.find_element_by_link_text('Search')
    search_box.click()
    user_name_field = browser.find_element_by_id('UserName_txt0')
    user_name_field.clear()
    user_name_field.send_keys(target_user)
    start_search = browser.find_element_by_id('SearchScreenBtnSearch')
    start_search.click()
    browser.find_element_by_link_text(target_user).click()
    time.sleep(3)

    if int(a) == 1:
        print('Flagging OverrideWorkDay')
        ignore_wdt = browser.find_element_by_id('StdSf_62_OverrideWorkDay_chk')
        ignore_wdt.click()

    groups_tab = browser.find_element_by_id('liGroups')
    time.sleep(3)
    groups_tab.click()
    add_group = browser.find_element_by_id('txt_Group')
    add_group.send_keys('Data-FSY')
    submit_group = browser.find_element_by_xpath(
        '//*[@id="divGroups"]/table/tbody/tr[1]/td[2]/input[2]')
    submit_group.click()
    time.sleep(1)
    save_exit = browser.find_element_by_link_text('Save')
    save_exit.click()
    time.sleep(3)
    browser.switch_to.alert.accept()
Exemple #4
0
def find_schedule(schedule, location_based=0):
    browser.implicitly_wait(10)
    if location_based == 0:
        browser.get(
            'https://sysco.sprocketcmms.com/Default.aspx?screen=PM%20Projects&SSF=-108'
        )
        print('---> Loading Equipment Based View')
    elif location_based == 1:
        browser.get(
            'https://sysco.sprocketcmms.com/Default.aspx?screen=PM%20Projects&SSF=244'
        )
        print('---> Loading Location Based View')
    else:
        print(
            '--->!! Value outside of defined parameters\nlocation_based=0\nor\nlocation_based=1'
        )

    project_link = schedule
    time.sleep(1)
    search_link = browser.find_element_by_link_text('Search')
    time.sleep(1)
    search_link.click()
    pm_number_field = browser.find_element_by_id('PMNumber_txt3')
    pm_number_field.clear()
    pm_number_field.send_keys(schedule)
    search_button = browser.find_element_by_id('SearchScreenBtnSearch')
    search_button.click()
    time.sleep(1)
    browser.find_element_by_partial_link_text(project_link).click()
Exemple #5
0
def update_item_price(
    target_agreement,
    item_id,
    item_price,
):
    browser.get(
        'https://sysco.sprocketcmms.com/Default.aspx?screen=Vendor%20Purchase%20Agreements'
    )
    parent_vpa = browser.find_element_by_link_text(target_agreement)
    parent_vpa.click()
    items_tab = browser.find_element_by_id('liItems')
    items_tab.click()
    search_id = browser.find_element_by_id(
        'ajaxReport_itemsReport_promptsdivContainer_0_input')
    search_id.clear()
    search_id.send_keys(item_id)
    id_search_button = browser.find_element_by_xpath(
        '/html/body/form/div[3]/div[3]/div[2]/div/div[2]/div/div[1]/input')
    id_search_button.click()
    time.sleep(1)
    get_edit = browser.find_element_by_link_text('Edit')
    get_edit.click()
    price_field = browser.find_element_by_id('StdSf581_Price_txt')
    price_field.clear()
    price_field.send_keys(item_price)
    save_button = browser.find_element_by_xpath(
        '/html/body/form/div[3]/div[3]/div[3]/div[3]/input[1]')
    save_button.click()
    time.sleep(1)
    print('VPA {} item {} price updated to {}'.format(target_agreement,
                                                      item_id, item_price))
Exemple #6
0
def create_vpa(y, y_description, y_vendor_id, y_date, y_expire, PreferredVendor=1):
    browser.get('https://sysco.sprocketcmms.com/Default.aspx?screen=Vendor%20Purchase%20Agreements')
    vpa_new_button = browser.find_element_by_xpath('//*[@id="btnNewLink"]')
    time.sleep(1)
    vpa_new_button.click()
    name_field = browser.find_element_by_id('StdSf580_Name_txt')
    name_field.send_keys(y)
    description_field = browser.find_element_by_id('StdSf580_Description_txt')
    description_field.send_keys(y_description)
    vendor_id_field = browser.find_element_by_id('StdSf580_VendorID_txt')
    vendor_id_field.send_keys(y_vendor_id)
    start_date_field = browser.find_element_by_id('StdSf580_StartDate_txt')
    start_date_field.send_keys(y_date)
    end_date_field = browser.find_element_by_id('StdSf580_EndDate_txt')
    end_date_field.send_keys(y_expire)
    preferred_vendor_check = browser.find_element_by_id('StdSf580_PreferredVendor_chk')

    if PreferredVendor == 1:
        preferred_vendor_check.click()
        time.sleep(1)
        browser.find_element_by_link_text('Save').click()
        time.sleep(1)
        browser.find_element_by_link_text('Exit').click()
    else:
        browser.find_element_by_link_text('Save').click()
        time.sleep(1)
        browser.find_element_by_link_text('Exit').click()
def find_main(main_target):
    browser.get('https://sysco.sprocketcmms.com/Default.aspx?screen=Inspection%20Manager')
    search_box = browser.find_element_by_id('liSearch')
    search_box.click()
    search_by_name = browser.find_element_by_id('Inspection_Name_txt1')
    search_by_name.clear()
    search_by_name.send_keys(main_target)
    submit_search = browser.find_element_by_id('SearchScreenBtnSearch')
    submit_search.click()
    time.sleep(2)
def search_equip(unit):
    browser.get(
        'https://sysco.sprocketcmms.com/Default.aspx?screen=Equipment&SSF=-102'
    )
    equip_search = browser.find_element_by_id('liSearch')
    equip_search.click()
    equip_field = browser.find_element_by_id('Equipment_txt4')
    equip_field.clear()
    equip_field.send_keys(unit)
    submit_button = browser.find_element_by_id('SearchScreenBtnSearch')
    submit_button.click()
    time.sleep(1)
Exemple #9
0
def archive_item(inventoryItemId):
    browser.implicitly_wait(60)
    base_url = 'https://sysco.sprocketcmms.com/Default.aspx?screen=Inventory%20Item&InstanceName='
    target_item_url = '{}{}'.format(base_url, inventoryItemId)
    browser.get(target_item_url)
    time.sleep(5)
    archive_chk_box = browser.find_element_by_id('StdSf12_Archived_chk')
    archive_chk_box.click()
    save_archive = browser.find_element_by_id('liSave')
    save_archive.click()
    time.sleep(5)
    browser.find_element_by_id('liExit').click()
    time.sleep(5)
Exemple #10
0
def device_search(old_value):
    browser.get('https://sysco.sprocketcmms.com/Default.aspx?screen=Devices')
    search_button = browser.find_element_by_id('liSearch')
    search_button.click()
    device_id_search_field = browser.find_element_by_id(
        'Device_Identifier_txt0')
    device_id_search_field.clear()
    device_id_search_field.send_keys(old_value)
    start_search = browser.find_element_by_id('SearchScreenBtnSearch')
    start_search.click()
    time.sleep(1)
    record_link = browser.find_element_by_link_text(old_value)
    record_link.click()
    time.sleep(1)
Exemple #11
0
def equipment_page(unit):
    # Find and select Equipment
    browser.implicitly_wait(15)
    browser.get(
        'https://sysco.sprocketcmms.com/Default.aspx?screen=Equipment&SSF=-102'
    )
    search_field = browser.find_element_by_link_text('Search')
    search_field.click()
    equip_search = browser.find_element_by_id('Equipment_txt4')
    equip_search.clear()
    equip_search.send_keys(unit)
    searchButton = browser.find_element_by_id('SearchScreenBtnSearch')
    searchButton.click()
    time.sleep(5)
    unit_link = browser.find_element_by_link_text(unit)
    unit_link.click()
Exemple #12
0
def gen_number(unit_description, location, equipment_type, department,
               manufacturer, inventory_number, start_date, gb_fuel_type,
               equipment_system):

    browser.get(
        'https://sysco.sprocketcmms.com/Default.aspx?screen=Equipment&SSF=-102'
    )
    time.sleep(1)
    new_equip_button = browser.find_element_by_id('btnNewLink')
    new_equip_button.click()

    field_id = browser.find_element_by_id('StdSf_70_EquipmentIdentifier_txt')
    field_id.send_keys('AUTONUMBER')

    desc_field = browser.find_element_by_id('StdSf_70_Description_txt')
    desc_field.send_keys(unit_description)

    location_field = browser.find_element_by_id('StdSf_70_LocationID_txt')
    location_field.send_keys(location)

    type_field = browser.find_element_by_id('StdSf_70_EquipmentTypeID_txt')
    type_field.send_keys(equipment_type)

    dept_field = browser.find_element_by_xpath(
        '//*[@id="StdSf_70_Div1"]/p[8]/div/input')
    dept_field.send_keys(department)

    man_field = browser.find_element_by_id('StdSf_70_Manufacturer_txt')
    man_field.send_keys(manufacturer)

    inv_field = browser.find_element_by_id('StdSf_70_InventoryNumber_txt')
    inv_field.send_keys(inventory_number)

    start_date_field = browser.find_element_by_id('StdSf_70_DateInService_txt')
    start_date_field.send_keys(start_date)

    gb_type_field = browser.find_element_by_xpath(
        '//*[@id="StdSf_70_Div3"]/p[12]/div/input')
    gb_type_field.send_keys(gb_fuel_type)

    equip_sys_field = browser.find_element_by_id(
        'StdSf_70_EquipmentSystemID_txt')
    equip_sys_field.send_keys(equipment_system)

    browser.find_element_by_link_text('Save').click()
    time.sleep(3)
Exemple #13
0
def add_item(target_agreement, item_id, item_price, status, vendor_id):
    browser.get(
        'https://sysco.sprocketcmms.com/Default.aspx?screen=Perform%20Inspection&ID=43579&InstanceName=43579'
    )
    target_vpa = browser.find_element_by_id('question_4881136')
    target_vpa.send_keys(target_agreement)
    product_id = browser.find_element_by_id('question_4881132')
    product_id.send_keys(item_id)
    price_field = browser.find_element_by_id('question_4881133')
    price_field.send_keys(item_price)
    purchase_status_field = browser.find_element_by_id('question_4881134')
    purchase_status_field.send_keys(status)
    vendor_id_field = browser.find_element_by_id('question_4881135')
    vendor_id_field.send_keys(vendor_id)
    is_true_field = browser.find_element_by_id('question_4881137')
    is_true_field.send_keys('TRUE')
    submit_btn = browser.find_element_by_id(
        'ctl00_MainPage_PerformInspection_43579_submit')
    submit_btn.click()
    time.sleep(1)
    print('-----> {} added'.format(item_id))
Exemple #14
0
        fsi_target_sch = 'FSI-Quarterly Consolidated'
    monthly_site_code = monthly_fsi_site
    fsi_monthly_start = monthly_fsi_start
    fsi_monthly_name = '{} {}'.format(monthly_site_code, fsi_target_sch)
    fsi_location = '{}-BLDA'.format(monthly_site_code)
    daily_frequency = monthly_frequency
    fsi_page_one(fsi_monthly_name, fsi_monthly_start, sch_on_comp_flag=0)
    fsi_page_two(fsi_location, set=1)
    fsi_page_three(fsi_monthly_name, fsi_monthly_start, daily_frequency, day_dropdown='Monthly', set=0, week_day=3)
    fsi_page_four(fsi_target_sch)
    print('{} Created'.format)


mw_sites = []

browser.implicitly_wait(30)
login(bot1, password)

target_site_code = mw_sites[10]
target_start_daily = '09072020'
target_start_weekly = '09062020'
target_start_monthly = '09072020'
set_site(target_site_code)

browser.get('https://sysco.sprocketcmms.com/Default.aspx?screen=PM%20Projects&SSF=244')
create_fsi_daily(target_site_code, target_start_daily)
create_fsi_weekly(target_site_code, target_start_weekly)
create_fsi_monthly(target_site_code, target_start_monthly, monthly_frequency=1)
# Quarterly variant of Monthly
create_fsi_monthly(target_site_code, target_start_monthly, monthly_frequency=3)
Exemple #15
0
import requests
import lxml
import re
from bs4 import BeautifulSoup
import time
from spBot_Core.BotLogin import set_site, login, browser
from spBot_Core.secrets import bot1, bot2, bot3, bot4, bot5, bot6, password

login(bot2, password)
set_site('102')
page = browser.get(
    'https://sysco.sprocketcmms.com/Default.aspx?screen=New%20Equipment&InstanceName=203069'
)
war_tab = browser.find_element_by_id('liWarranty')
war_tab.click()
time.sleep(3)
html = browser.page_source

soup = BeautifulSoup(html, 'lxml')
#war = soup.tbody.td.find_all_next(string=True)
war = soup.find(id='divWarranties')
#war_anchor = soup.find_all('tr', {'class': re.compile('evenRow')})

for i in war:
    children = i.findChildren('a', recursive=True)
    for child in children:
        info = child.text
        print(info)

#print(war)
while x <= counter:
    try:
        x += 1
        set_site(target_site[x])
        print('{} of {}\nUnit-{}\nSiteCode-{}'.format(x, counter, unit[x],
                                                      target_site[x]))
        set_site(target_site[x])
        search_equip(unit[x])
        clear_oos_field(unit[x])
        print('Success!----->\n         Moving to Next----->')

    except IndexError:
        print('Script Complete!')
        break
    except Exception as b:
        print('!!!Error!!!\nEquipment {} @ Site {}\n{}'.format(
            unit[x], target_site[x], b))
        try:
            browser.switch_to.alert.accept()
            browser.get(
                'https://sysco.sprocketcmms.com/Default.aspx?screen=Equipment&SSF=-102'
            )
            continue
        except Exception as c:
            print(
                'Bad Equipment Data Import -------> GasBoy Type Or Date In Service Missing'
            )
            continue

browser.quit()
Exemple #17
0
from spBot_Core.BotLogin import set_site, login, browser
from spBot_Core.secrets import bot1, bot2, bot3, bot4, bot5, bot6, password
from selenium.webdriver.support.select import Select

login(bot1, password)
browser.implicitly_wait(30)
target_file = 'docs_to_load.csv'
col_names = ['unit', 'target_site', "target_url"]
data = pandas.read_csv(target_file, names=col_names)

unit = data.unit.tolist()
target_site = data.target_site.tolist()
target_url = data.target_url.tolist()

counter = len(unit)
x = 0

while x <= counter:
    try:
        x += 1
        set_site(target_site[x])
        target_inspection = \
            'https://sysco.sprocketcmms.com/Default.aspx?screen=Perform%20Inspection&ID=43575&InstanceName=43575'
        browser.get(target_inspection)
        question_equipment_id = browser.find_element_by_id('question_4880706')
        question_equipment_id.send_keys(unit[x])
    except:
        break


Exemple #18
0

# Set iteration variables
x = 0
counter = len(site)

# Create Options Loop
while x <= counter:
    x = x + 1
    try:
        # Change Site
        set_site(site[x])
        name = '{} {} Freight'.format(site[x], model[x])

        # Open Page
        browser.get('https://sysco.sprocketcmms.com/Default.aspx?screen=Equipment%20Options')
        time.sleep(5)

        # Create Option
        browser.find_element_by_id('btnNewLink').click()
        browser.find_element_by_id('StdSf524_Name_txt').send_keys(name)
        browser.find_element_by_id('StdSf524_Description_txt').send_keys(name)
        browser.find_element_by_id('StdSf524_VendorID_txt').send_keys(vendor[x])
        time.sleep(1)
        browser.find_element_by_link_text('Save').click()
        time.sleep(3)
        browser.find_element_by_link_text('Exit').click()
        browser.get('https://sysco.sprocketcmms.com/Default.aspx?screen=Equipment%20Models')
        time.sleep(1)

        # Attach option to Model
Exemple #19
0
    search_button = browser.find_element_by_id('liSearch')
    search_button.click()
    product_id_field_search = browser.find_element_by_id(
        'Product_Identifier_txt0')
    product_id_field_search.clear()
    product_id_field_search.send_keys(inv_id)
    search_button = browser.find_element_by_id('SearchScreenBtnSearch')
    search_button.click()
    time.sleep(3)


def update_record(inv_id, oem_num, sds_bol):
    browser.find_element_by_link_text(inv_id).click()
    time.sleep(1)
    edit_button = browser.find_element_by_id('btnEditRequest')
    edit_button.click()
    oem_field = browser.find_element_by_id('StdSf12_OEMNumber_txt')
    oem_field.clear()
    oem_field.send_keys(oem_num)
    select1 = Select(browser.find_element_by_id('StdSf12_SDS_txt'))
    select1.select_by_visible_text(sds_bol)


login(bot1, password)
set_site('Global Site Code')
browser.get(
    'https://sysco.sprocketcmms.com/Default.aspx?screen=Inventory%20Items&SSF=72'
)
search_id('406012')
update_record('406122', '406122', 'True')