185
samy.html
Normal file
185
samy.html
Normal file
@@ -0,0 +1,185 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<title>Script Automation Monkey</title>
|
||||
<link rel="icon" href="{{SamyFaviconUrl}}">
|
||||
|
||||
<style>
|
||||
{{CssContent}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="logo-container">
|
||||
<!-- SVS Logo (left) -->
|
||||
<div class="logo-left">
|
||||
<img src="{{SamyTopLogoUrl}}" alt="SVS Logo">
|
||||
{{moduleVersion}}
|
||||
</div>
|
||||
|
||||
<!-- Centered rotating tagline -->
|
||||
<div id="tagline" class="tagline">
|
||||
Script Automation Monkey (Yeah!)
|
||||
</div>
|
||||
|
||||
<!-- Big red line under tagline -->
|
||||
<div id="samyHint" class="samy-hint">{{SamyHintText}}</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="sidebar">
|
||||
<button class="tab-button" data-tab="onboardTab">On-Boarding</button>
|
||||
<button class="tab-button" data-tab="offboardTab">Off-Boarding</button>
|
||||
<button class="tab-button" data-tab="devicesTab">Devices</button>
|
||||
|
||||
<div id="status-box" style="margin-top: 1em; font-family: monospace;"></div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div id="onboardTab" class="tab-content">
|
||||
<h2>On-Boarding</h2>
|
||||
<h3 class="subtitle">This new deployment method ensures everything is successfully deployed with greater ease!</h3>
|
||||
|
||||
<div class="columns-container">
|
||||
<div class="checkbox-group column">
|
||||
<h3>SVSMSP Stack</h3>
|
||||
<label><input type="checkbox" id="selectAllLeftCheckbox" onclick="toggleColumn('left')"> Select All</label>
|
||||
{{onboardLeftColumn}}
|
||||
</div>
|
||||
|
||||
<div class="checkbox-group column">
|
||||
<h3>Optional</h3>
|
||||
<label><input type="checkbox" id="selectAllRightCheckbox" onclick="toggleColumn('right')"> Select All</label>
|
||||
{{onboardRightColumn}}
|
||||
|
||||
<div id="renameComputerBlock" style="display:none; margin-left: 24px; margin-top: 6px;">
|
||||
<label for="txtNewComputerName">New computer name:</label>
|
||||
<input type="text" id="txtNewComputerName" placeholder="e.g. CORP-LAP-123" />
|
||||
<small style="display:block; margin-top:4px;">
|
||||
(Max 15 chars; letters, numbers, and hyphens only.)
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- end columns-container -->
|
||||
|
||||
|
||||
<div id="PasswordContainer" style="display:none; margin-bottom:1em;">
|
||||
<label for="Password">Enter Password:</label>
|
||||
<div style="display:flex; gap:5px;">
|
||||
<input type="password" id="Password" placeholder="Enter Password" style="flex:1;" />
|
||||
<button onclick="fetchSites()" class="go-button">GO!</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="dattoRmmContainer" style="display:none; margin-bottom:1em;">
|
||||
<label for="dattoDropdown">Select a Datto RMM site:</label>
|
||||
<select id="dattoDropdown" style="width:100%;">
|
||||
<option disabled selected>Fetching sites...</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div> <!-- end onboardTab -->
|
||||
|
||||
<div id="offboardTab" class="tab-content">
|
||||
<h2>Off-Boarding</h2>
|
||||
<div class="columns-container">
|
||||
<div class="checkbox-group column">
|
||||
<h3>Remove Stack</h3>
|
||||
<label>
|
||||
<input type="checkbox" id="offboardSelectAll" onclick="toggleOffboardAll()">
|
||||
Select All
|
||||
</label>
|
||||
{{offboardCheckboxes}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="tweaksTab" class="tab-content">
|
||||
<h2>Tweaks</h2>
|
||||
<div class="columns-container">
|
||||
<div class="checkbox-group column">
|
||||
<h3>Tweaks</h3>
|
||||
{{tweaksCheckboxes}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="SVSAppsTab" class="tab-content">
|
||||
<h2>SVS APPs</h2>
|
||||
<div class="columns-container">
|
||||
<div class="checkbox-group column">
|
||||
<h3>Applications</h3>
|
||||
{{appsCheckboxes}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- NEW: Devices tab for printers and future stuff -->
|
||||
<div id="devicesTab" class="tab-content">
|
||||
<h2>Devices</h2>
|
||||
<h3 class="subtitle">Manage printers and other client devices.</h3>
|
||||
|
||||
<!-- Printer password + fetch -->
|
||||
<div id="printerPasswordContainer" style="margin-bottom:1em;">
|
||||
<label for="PrinterPassword">Enter Printer Password:</label>
|
||||
<div style="display:flex; gap:5px;">
|
||||
<input type="password"
|
||||
id="PrinterPassword"
|
||||
placeholder="Enter printer password"
|
||||
style="flex:1;" />
|
||||
<button onclick="fetchPrinters()" class="go-button">Get Printers</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Client code dropdown -->
|
||||
<div id="printerClientContainer" style="display:none; margin-bottom:1em;">
|
||||
<label for="printerClientDropdown">Select Client:</label>
|
||||
<select id="printerClientDropdown" style="width:100%;">
|
||||
<option disabled selected>Fetch printers first...</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- Printer checkbox list -->
|
||||
<div id="printerListContainer" style="display:none; margin-bottom:1em;">
|
||||
<label>Printers for selected client:</label>
|
||||
<small style="display:block; margin-bottom:4px; opacity:0.8;">
|
||||
Check the printers to install, and mark one as "Make default" (optional).
|
||||
</small>
|
||||
|
||||
<div id="printerCheckboxContainer"
|
||||
style="max-height:200px; overflow-y:auto; border:1px solid #444; padding:6px; border-radius:4px;">
|
||||
<!-- Populated by JS -->
|
||||
</div>
|
||||
|
||||
<button id="installPrintersButton"
|
||||
class="btn btn-success"
|
||||
style="margin-top:8px;"
|
||||
onclick="installSelectedPrinters()">
|
||||
Install Selected Printers
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tiny inline bridge: pass dynamic data, then inline JS from Gitea -->
|
||||
<script>
|
||||
window.SAMY_TASKS = {{tasksJsAll}};
|
||||
window.SAMY_DEFAULT_PAGE = "{{defaultPage}}";
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
{{JsContent}}
|
||||
</script>
|
||||
|
||||
<!-- Floating button group -->
|
||||
<div class="fixed-buttons">
|
||||
<button class="exit-button" onclick="endSession()">Exit</button>
|
||||
<button class="run-button" onclick="triggerInstall()">Run Selected</button>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user