Truncated history

new root based on 0bd16c9
This commit is contained in:
2025-12-21 02:25:43 -05:00
commit fa307eaceb
19 changed files with 3973 additions and 0 deletions

185
samy.html Normal file
View 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>