Changeset 624 in tmcsimulator


Ignore:
Timestamp:
08/29/2020 09:03:00 AM (6 years ago)
Author:
jdalbey
Message:

LCS dynamically fill fieldrep from selected supervisor

Location:
branches/LCSv2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/LCSv2/controllers/default.py

    r623 r624  
    214214        supervisors.append(row.radiocallnum + ' ' + row.name) 
    215215    crew = ['']  # List of names for the dropdown box 
     216    crewlookup = [] 
    216217    # Obtain all the crew names from the database 
    217218    for row in db().select(db.crew.ALL): 
    218219        crew.append(row.radiocallnum + ' ' + row.name) 
     220        crewlookup.append(row.radiocallnum + ' ' + row.name) 
    219221    # Build the list of street locations and a hidden cross street lookup table 
    220222    streets = [''] 
     
    263265            TD(LABEL('Field Rep')) 
    264266            ),  
    265           TR(TD(SELECT(supervisors,_name='supervisor', requires=IS_LENGTH(minsize=1,error_message='supervisor cannot be empty'))), 
    266              TD(SELECT(crew,_name='fieldrep')), 
     267          TR(TD(SELECT(supervisors,_name='supervisor', _id='supervisorcombo', _onchange='supervisorchanged()', requires=IS_LENGTH(minsize=1,error_message='supervisor cannot be empty'))), 
     268             TD(SELECT(crew,_name='fieldrep',_id='fieldrep')), 
    267269             TD(XML("    ")), 
    268270             TD('Is this an existing incident?', 
     
    279281                  TR(TD(INPUT(_name='meeting', _size='25')),TD(INPUT(_name='reason',_size='25')),TD(INPUT(_name='remarks',_size='25'))) ), BR(),  
    280282            INPUT(_type='submit',_value='Submit Closure', _class="btn btn-primary btn-default", _style="margin:  2% 45% 2% 40%;"), 
    281             XML('\n'),SELECT(streetlookup,_name='stlookup', _id='stlookup', _class='hideme'))  
     283            XML('\n'),SELECT(streetlookup,_name='stlookup', _id='stlookup', _class='hideme'),  
     284SELECT(crewlookup,_name='crewlookup', _id='crewlookup', _class='hideme'))  
    282285 
    283286    if form.process(onvalidation=validate_existing_id).accepted: 
  • branches/LCSv2/databases/sql.log

    r623 r624  
    4810148101DELETE FROM sqlite_sequence WHERE name='crew' 
    4810248102success! 
     48103DELETE FROM "supervisors"; 
     48104DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48105success! 
     48106DELETE FROM "streets"; 
     48107DELETE FROM sqlite_sequence WHERE name='streets' 
     48108success! 
     48109DELETE FROM "crew"; 
     48110DELETE FROM sqlite_sequence WHERE name='crew' 
     48111success! 
     48112DELETE FROM "supervisors"; 
     48113DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48114success! 
     48115DELETE FROM "streets"; 
     48116DELETE FROM sqlite_sequence WHERE name='streets' 
     48117success! 
     48118DELETE FROM "crew"; 
     48119DELETE FROM sqlite_sequence WHERE name='crew' 
     48120success! 
     48121DELETE FROM "supervisors"; 
     48122DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48123success! 
     48124DELETE FROM "streets"; 
     48125DELETE FROM sqlite_sequence WHERE name='streets' 
     48126success! 
     48127DELETE FROM "crew"; 
     48128DELETE FROM sqlite_sequence WHERE name='crew' 
     48129success! 
     48130DELETE FROM "supervisors"; 
     48131DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48132success! 
     48133DELETE FROM "streets"; 
     48134DELETE FROM sqlite_sequence WHERE name='streets' 
     48135success! 
     48136DELETE FROM "crew"; 
     48137DELETE FROM sqlite_sequence WHERE name='crew' 
     48138success! 
     48139DELETE FROM "supervisors"; 
     48140DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48141success! 
     48142DELETE FROM "streets"; 
     48143DELETE FROM sqlite_sequence WHERE name='streets' 
     48144success! 
     48145DELETE FROM "crew"; 
     48146DELETE FROM sqlite_sequence WHERE name='crew' 
     48147success! 
     48148DELETE FROM "supervisors"; 
     48149DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48150success! 
     48151DELETE FROM "streets"; 
     48152DELETE FROM sqlite_sequence WHERE name='streets' 
     48153success! 
     48154DELETE FROM "crew"; 
     48155DELETE FROM sqlite_sequence WHERE name='crew' 
     48156success! 
     48157DELETE FROM "supervisors"; 
     48158DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48159success! 
     48160DELETE FROM "streets"; 
     48161DELETE FROM sqlite_sequence WHERE name='streets' 
     48162success! 
     48163DELETE FROM "crew"; 
     48164DELETE FROM sqlite_sequence WHERE name='crew' 
     48165success! 
     48166DELETE FROM "supervisors"; 
     48167DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48168success! 
     48169DELETE FROM "streets"; 
     48170DELETE FROM sqlite_sequence WHERE name='streets' 
     48171success! 
     48172DELETE FROM "crew"; 
     48173DELETE FROM sqlite_sequence WHERE name='crew' 
     48174success! 
     48175DELETE FROM "supervisors"; 
     48176DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48177success! 
     48178DELETE FROM "streets"; 
     48179DELETE FROM sqlite_sequence WHERE name='streets' 
     48180success! 
     48181DELETE FROM "crew"; 
     48182DELETE FROM sqlite_sequence WHERE name='crew' 
     48183success! 
     48184DELETE FROM "supervisors"; 
     48185DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48186success! 
     48187DELETE FROM "streets"; 
     48188DELETE FROM sqlite_sequence WHERE name='streets' 
     48189success! 
     48190DELETE FROM "crew"; 
     48191DELETE FROM sqlite_sequence WHERE name='crew' 
     48192success! 
     48193DELETE FROM "supervisors"; 
     48194DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48195success! 
     48196DELETE FROM "streets"; 
     48197DELETE FROM sqlite_sequence WHERE name='streets' 
     48198success! 
     48199DELETE FROM "crew"; 
     48200DELETE FROM sqlite_sequence WHERE name='crew' 
     48201success! 
     48202DELETE FROM "supervisors"; 
     48203DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48204success! 
     48205DELETE FROM "streets"; 
     48206DELETE FROM sqlite_sequence WHERE name='streets' 
     48207success! 
     48208DELETE FROM "crew"; 
     48209DELETE FROM sqlite_sequence WHERE name='crew' 
     48210success! 
     48211DELETE FROM "supervisors"; 
     48212DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48213success! 
     48214DELETE FROM "streets"; 
     48215DELETE FROM sqlite_sequence WHERE name='streets' 
     48216success! 
     48217DELETE FROM "crew"; 
     48218DELETE FROM sqlite_sequence WHERE name='crew' 
     48219success! 
     48220DELETE FROM "supervisors"; 
     48221DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48222success! 
     48223DELETE FROM "streets"; 
     48224DELETE FROM sqlite_sequence WHERE name='streets' 
     48225success! 
     48226DELETE FROM "crew"; 
     48227DELETE FROM sqlite_sequence WHERE name='crew' 
     48228success! 
     48229DELETE FROM "supervisors"; 
     48230DELETE FROM sqlite_sequence WHERE name='supervisors' 
     48231success! 
     48232DELETE FROM "streets"; 
     48233DELETE FROM sqlite_sequence WHERE name='streets' 
     48234success! 
     48235DELETE FROM "crew"; 
     48236DELETE FROM sqlite_sequence WHERE name='crew' 
     48237success! 
  • branches/LCSv2/views/default/submit.html

    r623 r624  
    6464    startloc.selectedIndex = "0"; 
    6565    endloc.selectedIndex = "0"; 
     66} 
     67/* When a supervisor is selected from the combobox, filter the 
     68   list of fieldrep (crew) for just those of that supervisor.  
     69   Note: this function is a near duplicate of routechanged() */ 
     70function supervisorchanged() { 
     71  var e = document.getElementById("supervisorcombo"); 
     72  var currentSuper = e.options[e.selectedIndex].text; 
     73  // update the list of crew 
     74  removeOptions(document.getElementById("fieldrep")); 
     75  fillCrew(currentSuper); 
     76} 
     77/* Fill the FieldRep selectbox with items that match supervisor 
     78   I.e., have the same radio call number. 
     79   Note: this function is a near duplicate of fillOptions()  */ 
     80function fillCrew(supervisor) 
     81{ 
     82    var i;     
     83    var tbl = document.getElementById("crewlookup"); 
     84    var dropdown = document.getElementById("fieldrep") 
     85    var opt1; 
     86 
     87    // Examine all items in crew lookup table 
     88    for(i = tbl.options.length - 1 ; i >= 0 ; i--) 
     89    { 
     90        var item = tbl.options[i].text; 
     91        // Extract the call num from the lookup table item 
     92        var currentCallnum = item.substring(0,2); 
     93        // if the supervisor's call num matches crew call num  
     94        var superCallnum = supervisor.substring(0,2) 
     95        if (currentCallnum.startsWith(superCallnum)) 
     96        { 
     97            // Add an option to the fieldrep combo box 
     98            opt1 = document.createElement('option'); 
     99            opt1.text = opt1.value = item; 
     100            dropdown.add(opt1,0); 
     101        } 
     102    } 
     103    // Add an empty option to the select box 
     104    opt1 = document.createElement('option'); 
     105    opt1.text = opt1.value = ''; 
     106    dropdown.add(opt1,0); 
     107    // Show the first (empty) option 
     108    dropdown.selectedIndex = "0"; 
    66109} 
    67110</script> 
Note: See TracChangeset for help on using the changeset viewer.