added favorite usage

This commit is contained in:
Jörg Henke
2023-11-02 18:57:09 +01:00
parent d702d6816b
commit 8b51b595d6
5 changed files with 35 additions and 2 deletions

View File

@ -7,7 +7,7 @@ plugins {
apply plugin: 'io.spring.dependency-management'
group = 'de.jottyfan'
version = '1.4.0'
version = '1.4.1'
description = """timetrack"""

View File

@ -174,4 +174,11 @@ public class DoneController extends CommonController {
doneService.unfavorize(id);
return "redirect:/done/list";
}
@RolesAllowed("timetrack_user")
@GetMapping(value = "/done/usefav/{id}")
public String usefavorite(@PathVariable Integer id) {
doneService.usefavorite(id);
return "redirect:/done/list";
}
}

View File

@ -21,6 +21,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jooq.DSLContext;
import org.jooq.DeleteConditionStep;
import org.jooq.InsertOnDuplicateStep;
import org.jooq.InsertReturningStep;
import org.jooq.InsertValuesStep7;
import org.jooq.Record5;
@ -517,4 +518,22 @@ public class DoneGateway {
}
return list;
}
/**
* add a new entry as the favorite tells
*
* @param fkFavorite the id of the favorite
*/
public void useFav(Integer fkFavorite) {
InsertOnDuplicateStep<TDoneRecord> sql = getJooq()
// @formatter:off
.insertInto(T_DONE, T_DONE.FK_LOGIN, T_DONE.FK_PROJECT, T_DONE.FK_MODULE, T_DONE.FK_JOB, T_DONE.FK_BILLING)
.select(getJooq()
.select(T_FAVORITE.FK_LOGIN, T_FAVORITE.FK_PROJECT, T_FAVORITE.FK_MODULE, T_FAVORITE.FK_JOB, T_FAVORITE.FK_BILLING)
.from(T_FAVORITE)
.where(T_FAVORITE.PK_FAVORITE.eq(fkFavorite)));
// @formatter:on
LOGGER.trace(sql);
sql.execute();
}
}

View File

@ -219,4 +219,11 @@ public class DoneService {
return new ArrayList<>();
}
}
public void usefavorite(Integer fkFavorite) {
try {
new DoneGateway(dsl).useFav(fkFavorite);
} catch (Exception e) {
}
}
}

View File

@ -69,7 +69,7 @@
<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Favoriten</button>
<ul class="dropdown-menu">
<li th:each="f : ${favorites}">
<a class="dropdown-item" href="#"><span th:text="${f.project} + ' ' + ${f.module} + ' ' + ${f.job}"></span></a>
<a class="dropdown-item" th:href="@{/done/usefav/{id}(id=${f.fkFavorite})}"><span th:text="${f.project} + ' ' + ${f.module} + ' ' + ${f.job}"></span></a>
</li>
</ul>
</div>