diff --git a/frontend/ui/src/components/ExerciceFlags.svelte b/frontend/ui/src/components/ExerciceFlags.svelte
index 1deeefcd..12c87377 100644
--- a/frontend/ui/src/components/ExerciceFlags.svelte
+++ b/frontend/ui/src/components/ExerciceFlags.svelte
@@ -8,6 +8,7 @@
Icon,
ListGroup,
ListGroupItem,
+ Progress,
Spinner,
} from 'sveltestrap';
@@ -97,6 +98,16 @@
Faire son rapport
+ {#if exercice.flags.length != exercice.nb_flags}
+
+ {/if}
{#if exercice.tries || exercice.submitted || sberr}
{#if exercice.solved_time && exercice.tries}
diff --git a/libfic/team_my.go b/libfic/team_my.go
index 943d6699..c8718087 100644
--- a/libfic/team_my.go
+++ b/libfic/team_my.go
@@ -61,6 +61,7 @@ type myTeamExercice struct {
Gain int `json:"gain"`
Files []myTeamFile `json:"files,omitempty"`
Flags []myTeamFlag `json:"flags,omitempty"`
+ NbFlags int `json:"nb_flags,omitempty"`
SolveDist int64 `json:"solve_dist,omitempty"`
SolvedTime *time.Time `json:"solved_time,omitempty"`
SolvedRank int64 `json:"solved_rank,omitempty"`
@@ -189,6 +190,13 @@ func MyJSONTeam(t *Team, started bool) (interface{}, error) {
return nil, err
} else {
for _, k := range flags {
+ exercice.NbFlags += 1
+
+ if !DisplayAllFlags && t != nil && !t.CanSeeFlag(k) {
+ // Dependancy missing, skip the flag for now
+ continue
+ }
+
flag := myTeamFlag{
Id: k.Id,
Type: k.Type,
@@ -196,11 +204,6 @@ func MyJSONTeam(t *Team, started bool) (interface{}, error) {
Help: k.Help,
}
- if !DisplayAllFlags && t != nil && !t.CanSeeFlag(k) {
- // Dependancy missing, skip the flag for now
- continue
- }
-
// Retrieve solved state or solution for public iface
if t == nil {
flag.IgnoreCase = k.IgnoreCase
@@ -255,6 +258,8 @@ func MyJSONTeam(t *Team, started bool) (interface{}, error) {
return nil, err
} else {
for _, mcq := range mcqs {
+ exercice.NbFlags += 1
+
if !DisplayAllFlags && t != nil && !t.CanSeeFlag(mcq) {
// Dependancy missing, skip the flag for now
continue