From 1a2c5e9786d0e33527b317c69d3d60e33225273b Mon Sep 17 00:00:00 2001 From: jesussmariscal Date: Sat, 28 Dec 2024 12:54:03 +0100 Subject: [PATCH] Add time added to frontend --- .github/workflows/testBackend.yml | 2 +- .../java/com/example/model/Attendance.java | 5 ++++- .../com/example/model/Attendance.class | Bin 3631 -> 3709 bytes .../bluetooth-page/asistencia.component.html | 11 ++++++++--- .../bluetooth-page/asistencia.component.scss | 4 ++++ .../bluetooth-page/asistencia.component.ts | 16 +++++++++++++++- .../TeacherService/teacher.service.ts | 4 ++++ .../app/services/UserService/Attendance.ts | 1 + 8 files changed, 37 insertions(+), 6 deletions(-) diff --git a/.github/workflows/testBackend.yml b/.github/workflows/testBackend.yml index 651ac65ac..27218b0ec 100644 --- a/.github/workflows/testBackend.yml +++ b/.github/workflows/testBackend.yml @@ -62,4 +62,4 @@ jobs: file: ./Docker/App/Dockerfile push: true platforms: linux/amd64,linux/arm64 - tags: jesussmariscal/reurjc:latest \ No newline at end of file + tags: jesussmariscal/reurjc:latest diff --git a/Backend/src/main/java/com/example/model/Attendance.java b/Backend/src/main/java/com/example/model/Attendance.java index 77c36c6d5..31b271636 100644 --- a/Backend/src/main/java/com/example/model/Attendance.java +++ b/Backend/src/main/java/com/example/model/Attendance.java @@ -24,7 +24,6 @@ public class Attendance { @Id @GeneratedValue(strategy = GenerationType.AUTO) - @JsonIgnore private Long id; private LocalDateTime dateTime; @@ -101,4 +100,8 @@ public User getCreator() { return creator; } + public long getId() { + return id; + } + } diff --git a/Backend/target/classes/com/example/model/Attendance.class b/Backend/target/classes/com/example/model/Attendance.class index 9a08c6c67fe714b5d3556a2e9ae508c89e03a0d4..f17b841326f1697dec50b1a265f66bbb2fe3d0fa 100644 GIT binary patch literal 3709 zcma)8X?GLn6@Eru#>fK(hb6%#p(LcXOftkVhTtWUWrIaz>{znF?vjk9K^~B1oY4qy z(2u#1Em-2TaKGR3hQYj7HtoAsd8=fbWv^hD%w!PQZozW%wvJ8>2X9)pEwf~~MRRfErkxKo z#GC^6GmV3c=N2b4Jh5DL1E*}SIu&Q5WG7wM3#`EL+=_=PkP8RIgN{G!3*dlMN3AT%Ot1&>tdF z`OOBtqY^pT)=SDORm(0_yQ{AAX4URs9W@O`mC!0nzFo0h7ALApHE>F1hIyv^zN}Mp zt)S}D-&p9cemvO*q{P}_!NfF8w2zw+=R66X5O|naa&AXM6B0OPriZ&CXrAJfFVuYG&c;;?ir& z+1$$Nwd-r^XI~h7aqQgq`3o;G6~5&bymCE{Dz0UK8JeUoMAIIH2f>YIw4uli1~ZD!@e4k5>3V${Hkc#e@xD*b)XaL&NTF{Gg{ z#;ng@gFsg&#A5#cbDwDo% zZ3~U!xQI~!Gi~4r9G9$76BK;*yRz4aby$)-E$}86-i6>)p{XFf<%; zu~lwDj9xLY9|z+6${1L{RYqHkWYYdG2rs!=o@Z*Xq4o<)UY!!OvurdL?9grNaP0cVg^C`iFIoPHD+nm`S&_QFO{ z#|;e!8l{)28`y-yg3;cd(8If6LP9^)CT8*80@n=`VLv}Mb^h0p2u>_fL~cncVK8}D!mlx(*cY^o`ej^hjXl8!Id#G8hlfp_s` zX4$px25Gql#6A_?!dDG^4PU3F{HDc{geNJ1@=XKZ!nb)MgWF|+2ZvIvtrTIO5RLB| z_#R4}Zh;q~tly}u!7||*snb*T{OIzPnx<-Z?D4iWl`2xPi;`&q;^@30{rgh`UFeSE zXZVGVpVwHbe9BJ`1HZ(3yyi;$R(A^dll7{8-oE6>lu zcQBP0*}=<+GdoBo{({sF(uu^u?p?gPgT=&0c#Y5EF0vmy_?NipP;O4CM2@19W4Vtm z4r7c7IL8>z6a5ALzo;Ob3>{((>(r%dd_v_}z9hRbe3HBU&>m2=Lx-m0Q#xMfp2cTh zjN)<}#!*Ya42?>Z2lvF$$ie~Tb~1uDrJxw0P6S262J%r}X8D$s8jN&mxx+ImIqoHg)B!d`l(zXEZ(iC6~w@~7iB;Dj&z;;O*|G#8FwW4?`Y zdav?)TV)qs8|CC)D;5RuvUS=UbPoxP9h+Q2>BS?HMlEe6i?pZ*iZ`cLoTGrRcw zF21shZ(Mt~Lpw3>;e&sk*~NDRen{V=bPZhRBv@nnuj6UHM@U8KnnY;34(2T9xXhD% zY|z8_J~8y-B!0lX4n^Rouj`}eL*T#o Cw>@S6 literal 3631 zcma)8TXz%J75+v7kC7)fakwPd&9H_vJEE|v`V`Ir8cABPR=^zhCGtSJ& z;5Kb~Nt0fZHt99ZTc7&Sm)>mJvQ~dUe@I{Y8(RA9nb8GHtX6ADGv}Or`S#x5-berV z&)@zI;1WL95z{bQcIqj0*Q{^WRI2V&R4tY9ePvfnyR3BV({S*Xxn-tmrd>@fuHRB+ zUqj5Qa6jKZ$UAm5t>LNVhV5H*RkA#5y{0m@?f9l|Iku9p(xhx`LeEV{|^oND{gO!#=gu-aZ$rdc?t5SNuTcBdM$O! zEZ_DVJ7u=;rRKTLRc*%&998J1$T%2L7^DQ1$~$GVHX9w$x?Xmb={v5()}6%_Pq`F& zre|ymroCNs7H#pSdyOcqBR$L%!b1tB%<5%$@nJ`g)@u~(br{S?I8RVO`A230p=%Y^d zYGyf;EzT_$`tc$uk(tTP&RxE8H8=lye&O2U()Hy+aiw(Qjn%b@mtUDYdv5C0^B0&3 z*R(56y_LrxuH|5lm>zEfDJXZ#Dl-9N4+YFfW!vlMl1P&3=ktzRO?jJAm7A_vS9cuu zc4}RjwnzGv$(8L+(q$UHbH{R(^g#c`a?P?We_BI)Y`nyBXIX9?FKaj!^qHs14cGFw zQw4cZA>;%mFlpc{&M>lzf&Kw#m@+ViaScOx%U0JK^>yVIO*W)NEhH|Pt|jYebL!y` z!zmE(_o2|k{U#yDO9{j=spF!CCjx{)Dl@KYZVQbPNMlmKe96EujL2KYz(G7NZ&?FR z;7|f{xT52-hNFRj?k+QM6(m61cJ62x85<9|*e#b9qpuqn#88573kI%%jXzwCW=NPV z$*6|IW4XvqXAg;i>jnz#CX4H7!qEF@qeFhsU}b zc6^QX^*1bz#ix6uxTBRQC*8^(DEORO3+84}GaYYhIMNBKT{Img=T`SwR5&*Lg7P<< z%91GzEJW*efgIBXBW;iiw)oTJ!O*XI8@ z{06*EXrmDWdeC;fq=U>3>E99FOv9>Gl$*d7wxzwlMjnv1Y`J&wO&#BO=vEGI0R!*h zTbu$lWmo-;V2b1t_zvFJ@!h6)$FMW-J$%3{+v={LlWRciQ{i2F-@p&>Ls}|tm@G+n zk`*W)8Tc4K=7|h$n*|;n%XYU?ggq@9pBVTQ9Jc+w6QXS0sNKOb;hH7a0x#iWaQRA2 zv&}p9SkIbD6{(mgI1RU~E?Y9=hT1$jBkUy3p4a0X|Eu`hX*|b~W}d?Qx_;djotP<@d=oJVisCiu@f76psf! zMc`?EpYiZ4kDtQ{F1`>5JkRwDfu(SLl55WR;Ebb+aspbAoaWOY^p|jks}xtK=te#R z_c5`053l?Q=l;ND46pK6R6x=5!4Cf*kZu=vCW^mf4kR-dlK1e%Gr}j!Bqe zoaec7fxqbh!n2`6tl>@S(lx#uG+C{uX1ml-vcp>NQs6=^iPaN$m3gI=3Y0DLw`4eo5o+`O;aZxejFeTgYtWdMMBDRnGNP zcCgt)d1kNjLQmy);1XZRVXq7R^j;&^dm8c4pb?3EnomhypD=8GZ%S9#o~6J-n9{yh zO8bJYY^8KC$Qu6wL}ou@UH5Ts;y$)kNABV7LVWtS7&$$B@{c$-d~z3G-^I6g@!>9h zbmRTFc6{VF5B_<27e5jBA$^a~HL%KQutryJvMJZtR&NDhlA-MumHistorial de Asistencias

Código: {{ attendance.code }}

- - {{ showUsers[attendance.code] ? 'Mostrar menos' : 'Mostrar más' }} - +
+ + {{ showUsers[attendance.code] ? 'Mostrar menos' : 'Mostrar más' }} + + + Aumentar tiempo + +
{{ userAttendance.user.name }} {{ userAttendance.user.surname1 }}: {{ userAttendance.user.dni }} diff --git a/Frontend/src/app/homePage/bluetooth-page/asistencia.component.scss b/Frontend/src/app/homePage/bluetooth-page/asistencia.component.scss index e69de29bb..e7ce9d835 100644 --- a/Frontend/src/app/homePage/bluetooth-page/asistencia.component.scss +++ b/Frontend/src/app/homePage/bluetooth-page/asistencia.component.scss @@ -0,0 +1,4 @@ +.button-container { + display: flex; + gap: 10px; /* Espacio entre los botones */ + } \ No newline at end of file diff --git a/Frontend/src/app/homePage/bluetooth-page/asistencia.component.ts b/Frontend/src/app/homePage/bluetooth-page/asistencia.component.ts index 5678c9f09..a0d6d1a34 100644 --- a/Frontend/src/app/homePage/bluetooth-page/asistencia.component.ts +++ b/Frontend/src/app/homePage/bluetooth-page/asistencia.component.ts @@ -92,4 +92,18 @@ export class AsistenciaComponent implements OnInit { this.subjectService.getSubjects().subscribe((subjects: SubjectInfo[]) => { this.subjects = subjects }) } -} + + addTimeToAttendance(attendanceId: number) { + this.teacherService.addTimeToAttendance(attendanceId).subscribe({ + next: () => { + this.presentToast('Tiempo añadido correctamente', 'success'); + this.getAsisttances(); // Actualizar la lista de asistencias + }, + error: (error) => { + console.error('Error al añadir tiempo:', error); + this.presentToast('Error al añadir tiempo', 'danger'); + } + }); + } + +} \ No newline at end of file diff --git a/Frontend/src/app/services/TeacherService/teacher.service.ts b/Frontend/src/app/services/TeacherService/teacher.service.ts index 8a15f0186..bcb5795b9 100644 --- a/Frontend/src/app/services/TeacherService/teacher.service.ts +++ b/Frontend/src/app/services/TeacherService/teacher.service.ts @@ -19,4 +19,8 @@ export class TeacherService { getAllAttendances(): Observable { return this.http.get(`${this.API_BASE_URL}/attendances`, { withCredentials: true }); } + + addTimeToAttendance(attendanceId: number): Observable { + return this.http.put(`${this.API_BASE_URL}/attendances/${attendanceId}/add-time`, null, { withCredentials: true }); + } } \ No newline at end of file diff --git a/Frontend/src/app/services/UserService/Attendance.ts b/Frontend/src/app/services/UserService/Attendance.ts index b7f08b4ef..2b68fe674 100644 --- a/Frontend/src/app/services/UserService/Attendance.ts +++ b/Frontend/src/app/services/UserService/Attendance.ts @@ -3,6 +3,7 @@ import { User } from "./user.model"; import { UserAttendance } from "./UserAttendance"; export interface Attendance { + id: number dateTime: Date; creator: User; subject: SubjectInfo;