Compare commits
16 Commits
e6160a4d12
...
v7.1.7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fdc5b46ef3 | ||
| 7aa47b74b9 | |||
| fa056218d8 | |||
|
|
c4cb329139 | ||
| e30591b584 | |||
|
|
fe849df6db | ||
| e633457ed3 | |||
|
|
e4cff69469 | ||
| c24cf70d77 | |||
|
|
e817dfe30c | ||
| e05fa1cab6 | |||
|
|
7338210bcf | ||
| 6408e0c923 | |||
|
|
4131b1dd1c | ||
| a2feef4c08 | |||
| f3743699a2 |
@@ -6,7 +6,7 @@ on:
|
|||||||
- main
|
- main
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '28 5 * * *'
|
- cron: "28 5 * * *"
|
||||||
# workflow_run support in Gitea can be tricky, keeping it but might need adjustment
|
# workflow_run support in Gitea can be tricky, keeping it but might need adjustment
|
||||||
workflow_run:
|
workflow_run:
|
||||||
workflows: ["Sync Repo"]
|
workflows: ["Sync Repo"]
|
||||||
@@ -265,6 +265,11 @@ jobs:
|
|||||||
git commit -m "Update manifest version to ${{ steps.version.outputs.VERSION }} [▶️]" || echo "Nothing to commit"
|
git commit -m "Update manifest version to ${{ steps.version.outputs.VERSION }} [▶️]" || echo "Nothing to commit"
|
||||||
git push origin main
|
git push origin main
|
||||||
|
|
||||||
|
- name: 🛠 Install zip
|
||||||
|
if: steps.check_commits.outputs.commit_count != '0'
|
||||||
|
run: |
|
||||||
|
apt-get update && apt-get install -y zip
|
||||||
|
|
||||||
- name: 📦 Create ZIP package (excluding certain files)
|
- name: 📦 Create ZIP package (excluding certain files)
|
||||||
if: steps.check_commits.outputs.commit_count != '0'
|
if: steps.check_commits.outputs.commit_count != '0'
|
||||||
run: |
|
run: |
|
||||||
@@ -319,18 +324,17 @@ jobs:
|
|||||||
ZIP_NAME="${{ steps.version.outputs.ZIP_NAME }}"
|
ZIP_NAME="${{ steps.version.outputs.ZIP_NAME }}"
|
||||||
FILE_PATH="./$ZIP_NAME"
|
FILE_PATH="./$ZIP_NAME"
|
||||||
|
|
||||||
curl -s -X POST "${{ gitea.api_url }}/repos/${{ gitea.repository }}/releases/$RELEASE_ID/assets" \
|
curl --fail -s -X POST "${{ gitea.api_url }}/repos/${{ gitea.repository }}/releases/$RELEASE_ID/assets?name=$ZIP_NAME" \
|
||||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||||||
-H "Content-Type: application/zip" \
|
-H "Content-Type: application/zip" \
|
||||||
--data-binary @"$FILE_PATH" \
|
--data-binary @"$FILE_PATH"
|
||||||
-o /dev/null
|
|
||||||
|
|
||||||
# ----- Docker steps -----
|
# ----- Docker steps -----
|
||||||
- name: Clone Upstream Code (if needed)
|
- name: Clone Upstream Code (if needed)
|
||||||
if: steps.check_commits.outputs.commit_count != '0' && (steps.check_upstream.outputs.upstream_needs_update == 'true' || steps.check_upstream.outputs.repo_url != '')
|
if: steps.check_commits.outputs.commit_count != '0' && (steps.check_upstream.outputs.upstream_needs_update == 'true' || steps.check_upstream.outputs.repo_url != '')
|
||||||
run: |
|
run: |
|
||||||
rm -rf upstream_src
|
rm -rf upstream_src
|
||||||
git clone --depth 1 --branch ${{ steps.check_upstream.outputs.repo_branch }} ${{ steps.check_upstream.outputs.repo_url }} upstream_src
|
git clone --depth 1 --branch ${{ steps.check_upstream.outputs.repo_branch }} ${{ steps.check_upstream.outputs.repo_url }} upstream_src
|
||||||
|
|
||||||
- name: 🔍 Check if Dockerfile exists
|
- name: 🔍 Check if Dockerfile exists
|
||||||
if: steps.check_commits.outputs.commit_count != '0' || steps.check_upstream.outputs.upstream_needs_update == 'true'
|
if: steps.check_commits.outputs.commit_count != '0' || steps.check_upstream.outputs.upstream_needs_update == 'true'
|
||||||
|
|||||||
60
.gitea/workflows/update_readme.yml
Normal file
60
.gitea/workflows/update_readme.yml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
name: Update README
|
||||||
|
|
||||||
|
# Allow Gitea Actions to commit and push changes
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 4 * * *" # Every day at 4 AM UTC
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-readme:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: catthehacker/ubuntu:act-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
SOURCE_REPO: ivancarlos/.gitea
|
||||||
|
SOURCE_BRANCH: main
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout current repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Checkout source README template
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: ${{ env.SOURCE_REPO }}
|
||||||
|
ref: ${{ env.SOURCE_BRANCH }}
|
||||||
|
token: ${{ secrets.CR_PAT }}
|
||||||
|
path: source_readme
|
||||||
|
|
||||||
|
- name: Update README.md (footer only)
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# --- Extract footer block from source (everything from <!-- footer --> onward) ---
|
||||||
|
FOOTER=$(awk '/<!-- footer -->/{flag=1}flag' source_readme/README.md)
|
||||||
|
|
||||||
|
# --- Replace everything after <!-- footer --> with FOOTER ---
|
||||||
|
awk -v footer="$FOOTER" '
|
||||||
|
/<!-- footer -->/ {
|
||||||
|
print footer
|
||||||
|
found=1
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
{ print }
|
||||||
|
' README.md > README.tmp && mv README.tmp README.md
|
||||||
|
|
||||||
|
- name: Remove source_readme from git index
|
||||||
|
run: rm -rf source_readme
|
||||||
|
|
||||||
|
- name: Commit and push changes
|
||||||
|
run: |
|
||||||
|
git config user.name "Gitea Actions"
|
||||||
|
git config user.email "actions@git.icc.gg"
|
||||||
|
git add README.md
|
||||||
|
git commit -m "Sync README from template [▶️]" || echo "Nothing to commit"
|
||||||
|
git push origin ${{ github.ref_name }}
|
||||||
13
README.md
13
README.md
@@ -1,19 +1,6 @@
|
|||||||
# Bundled CMDB
|
# Bundled CMDB
|
||||||
Small CMDB project that uses ESET data sent to database for asset management, uses Keycloak as SSO provider for user authentication, S3 for file submission and access related to each asset
|
Small CMDB project that uses ESET data sent to database for asset management, uses Keycloak as SSO provider for user authentication, S3 for file submission and access related to each asset
|
||||||
|
|
||||||
<!-- buttons -->
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/stargazers)
|
|
||||||
[](https://github.com/sponsors/ivancarlosti)
|
|
||||||
[](https://github.com/sponsors/ivancarlosti)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/pulse)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/issues)
|
|
||||||
[](LICENSE)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/commits)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/security)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb?tab=coc-ov-file)
|
|
||||||
[][sponsor]
|
|
||||||
<!-- endbuttons -->
|
|
||||||
|
|
||||||
## Requirement:
|
## Requirement:
|
||||||
|
|
||||||
* [Docker Compose](https://docs.docker.com/engine/install/)
|
* [Docker Compose](https://docs.docker.com/engine/install/)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"version": "7.1.0",
|
"version": "7.1.7",
|
||||||
"author": "Ivan Carlos"
|
"author": "Ivan Carlos"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
$email = $_POST['email'] ?? '';
|
$email = $_POST['email'] ?? '';
|
||||||
$newRole = $_POST['role_to_set'] ?? '';
|
$newRole = $_POST['role_to_set'] ?? '';
|
||||||
|
|
||||||
if ($email && in_array($newRole, ['admin', 'superadmin'])) {
|
if ($email && in_array($newRole, ['admin', 'superadmin', 'manager'])) {
|
||||||
// Update user role
|
// Update user role
|
||||||
$stmt = $pdo->prepare("UPDATE users SET role = :role WHERE email = :email");
|
$stmt = $pdo->prepare("UPDATE users SET role = :role WHERE email = :email");
|
||||||
$success = $stmt->execute([':role' => $newRole, ':email' => $email]);
|
$success = $stmt->execute([':role' => $newRole, ':email' => $email]);
|
||||||
@@ -73,7 +73,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fetch Admins and SuperAdmins
|
// Fetch Admins and SuperAdmins
|
||||||
$stmt = $pdo->query("SELECT * FROM users WHERE role IN ('admin', 'superadmin') ORDER BY role DESC, email ASC");
|
$stmt = $pdo->query("SELECT * FROM users WHERE LOWER(TRIM(role)) IN ('admin', 'superadmin', 'manager') ORDER BY role DESC, email ASC");
|
||||||
$admins = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
$admins = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
// Fetch All Users for Dropdown
|
// Fetch All Users for Dropdown
|
||||||
@@ -134,6 +134,7 @@ $allUsers = $stmt->fetchAll(PDO::FETCH_COLUMN);
|
|||||||
}
|
}
|
||||||
.role-superadmin { background: #6f42c1; color: white; }
|
.role-superadmin { background: #6f42c1; color: white; }
|
||||||
.role-admin { background: #28a745; color: white; }
|
.role-admin { background: #28a745; color: white; }
|
||||||
|
.role-manager { background: #17a2b8; color: white; }
|
||||||
|
|
||||||
.btn-remove {
|
.btn-remove {
|
||||||
background: #dc3545;
|
background: #dc3545;
|
||||||
@@ -186,6 +187,7 @@ $allUsers = $stmt->fetchAll(PDO::FETCH_COLUMN);
|
|||||||
|
|
||||||
<label for="role">Role:</label>
|
<label for="role">Role:</label>
|
||||||
<select name="role_to_set" id="role" required>
|
<select name="role_to_set" id="role" required>
|
||||||
|
<option value="manager">Manager</option>
|
||||||
<option value="admin">Admin</option>
|
<option value="admin">Admin</option>
|
||||||
<option value="superadmin">SuperAdmin</option>
|
<option value="superadmin">SuperAdmin</option>
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
Reference in New Issue
Block a user