Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ad1cb70cdc | |||
| ce01b7ad14 | |||
| 02c7b966eb | |||
| a3d9e1ebb9 | |||
| 40e13ec585 | |||
| bb15c55e46 | |||
| 35c2e07c05 | |||
| 92187fd345 | |||
| 0dbab45651 | |||
| 14ac78982f |
@@ -5,7 +5,7 @@ on:
|
||||
- '*'
|
||||
jobs:
|
||||
build:
|
||||
runs-on: standard-latest
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
name: Deploy
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: standard-latest
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
@@ -18,10 +19,10 @@ jobs:
|
||||
cache: 'gradle'
|
||||
|
||||
- name: Build Jar
|
||||
run: ./gradlew bootJar
|
||||
run: ./gradlew bootJar --no-daemon
|
||||
|
||||
- name: Build Container
|
||||
run: docker build --tag gitea.seeseepuff.be/seeseemelk/pcinv:${{github.ref_name}} .
|
||||
run: docker build --tag gitea.seeseepuff.be/seeseemelk/pcinv:latest .
|
||||
|
||||
- name: Login
|
||||
with: # Set the secret as an input
|
||||
@@ -29,4 +30,4 @@ jobs:
|
||||
run: docker login gitea.seeseepuff.be -u seeseemelk -p ${{ secrets.PACKAGE_RW }}
|
||||
|
||||
- name: Push Container
|
||||
run: docker push gitea.seeseepuff.be/seeseemelk/pcinv:${{github.ref_name}}
|
||||
run: docker push gitea.seeseepuff.be/seeseemelk/pcinv:latest
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package be.seeseepuff.pcinv.controllers;
|
||||
|
||||
import be.seeseepuff.pcinv.models.Asset;
|
||||
import be.seeseepuff.pcinv.models.WorkLogEntry;
|
||||
import be.seeseepuff.pcinv.services.AssetService;
|
||||
import be.seeseepuff.pcinv.services.BuildService;
|
||||
@@ -94,7 +95,12 @@ public class WebController {
|
||||
model.addAttribute(DESCRIPTOR, assetService.getAssetDescriptor(type));
|
||||
model.addAttribute(DESCRIPTORS, tree);
|
||||
model.addAttribute(PROPERTIES, tree.stream().flatMap(d -> d.getProperties().stream()).toList());
|
||||
model.addAttribute(ASSETS, assetService.getAssetsByType(type));
|
||||
var assets = assetService.getAssetsByType(type);
|
||||
assets.sort(Comparator
|
||||
.comparing((Asset a) -> a.getAsset().getBrand(), Comparator.nullsFirst(Comparator.naturalOrder()))
|
||||
.thenComparing((Asset a) -> a.getAsset().getModel(), Comparator.nullsFirst(Comparator.naturalOrder()))
|
||||
.thenComparing(Asset::getQr));
|
||||
model.addAttribute(ASSETS, assets);
|
||||
return "browse_type";
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,10 @@ public class CapacityInfo {
|
||||
}
|
||||
|
||||
public static CapacityUnit idealUnitForCapacity(long capacity, CapacityUnit[] units) {
|
||||
if (capacity <= 0) {
|
||||
return CapacityUnit.BYTES; // Default to bytes for non-positive capacities
|
||||
}
|
||||
|
||||
return Arrays.stream(units)
|
||||
.sorted(Comparator.comparing(CapacityUnit::getBytes).reversed())
|
||||
.filter(unit -> capacity % unit.getBytes() == 0)
|
||||
|
||||
@@ -57,16 +57,16 @@ public class HddAsset implements Asset
|
||||
@InputList
|
||||
private String driveType;
|
||||
|
||||
@Description("Number of heads in the drive.")
|
||||
@Property("Heads")
|
||||
@HideInOverview
|
||||
private Integer heads;
|
||||
|
||||
@Description("Number of cylinders in the drive.")
|
||||
@Property("Cylinders")
|
||||
@HideInOverview
|
||||
private Integer cylinders;
|
||||
|
||||
@Description("Number of heads in the drive.")
|
||||
@Property("Heads")
|
||||
@HideInOverview
|
||||
private Integer heads;
|
||||
|
||||
@Description("Number of sectors in the drive.")
|
||||
@Property("Sectors")
|
||||
@HideInOverview
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
<tr th:each="a : ${assets}">
|
||||
<td th:each="p : ${properties}" th:if="${!p.hideInOverview}">
|
||||
<a th:if="${p.name == 'qr'}" th:href="'/view/'+${a.getQr()}" th:text="${p.renderValue(a)}"></a>
|
||||
<span th:if="${p.name != 'qr'}" th:text="${p.renderValue(a)}"></span>
|
||||
<a th:if="${p.name == 'build' && a.getAsset().getBuild() != null}" th:href="'/build/'+${a.getAsset().getBuild().getId()}" th:text="${p.renderValue(a)}"></a>
|
||||
<span th:if="${p.name != 'qr' && (p.name != 'build' || a.getAsset().getBuild() == null)}" th:text="${p.renderValue(a)}"></span>
|
||||
</td>
|
||||
<td>
|
||||
<a th:href="'/view/'+${a.getQr()}">View</a>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</tr>
|
||||
<tr th:each="p : ${build.getParts()}">
|
||||
<td><a th:href="'/view/' + ${p.qr}" th:text="${p.qr}"></a></td>
|
||||
<td th:text="${descriptors.getDescriptorForType(p.type).displayName}"></td>
|
||||
<td><a th:href="'/browse/' + ${p.type}" th:text="${descriptors.getDescriptorForType(p.type).displayName}"></a></td>
|
||||
<td th:text="${descriptors.getGenericProperty('brand').renderValue(p)}"></td>
|
||||
<td th:text="${descriptors.getGenericProperty('model').renderValue(p)}"></td>
|
||||
</tr>
|
||||
|
||||
@@ -7,7 +7,10 @@
|
||||
<table border="1" cellpadding="4">
|
||||
<tr th:each="p : ${d.properties}">
|
||||
<th bgcolor="lightgray"><b th:text="${p.displayName}"></b></th>
|
||||
<td th:if="${p.name == 'build'}"><a th:href="'/build/' + ${asset.getAsset().getBuild().id}" th:text="${p.renderValue(asset)}"></a></td>
|
||||
<td th:if="${p.name == 'build'}">
|
||||
<a th:if="${asset.getAsset().getBuild() != null}" th:href="'/build/' + ${asset.getAsset().getBuild().id}" th:text="${p.renderValue(asset)}"></a>
|
||||
<span th:if="${asset.getAsset().getBuild() == null}" th:text="${p.renderValue(asset)}"></span>
|
||||
</td>
|
||||
<td th:if="${p.name != 'build'}" th:text="${p.renderValue(asset)}"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user