Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
AlekSIS-App-Paweljong
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Teckids
Projekt Hack-n-Fun
AlekSIS-App-Paweljong
Merge requests
!78
Resolve "Rewrite registration wizard"
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Resolve "Rewrite registration wizard"
74-rewrite-registration-wizard
into
master
Overview
2
Commits
74
Pipelines
64
Changes
36
Merged
magicfelix
requested to merge
74-rewrite-registration-wizard
into
master
2 months ago
Overview
1
Commits
74
Pipelines
64
Changes
36
Expand
Closes
#74 (closed)
0
0
Merge request reports
Compare
master
version 61
364bb451
2 months ago
version 60
5aa00ede
2 months ago
version 59
d323a7d6
2 months ago
version 58
9a54d312
2 months ago
version 57
591ecd48
2 months ago
version 56
e8b750cb
2 months ago
version 55
a613900f
2 months ago
version 54
0fa84fd0
2 months ago
version 53
237b7f4d
2 months ago
version 52
b9492721
2 months ago
version 51
c23a3c12
2 months ago
version 50
49a8d306
2 months ago
version 49
2148f26c
2 months ago
version 48
7daaa3db
2 months ago
version 47
ea6dc72a
2 months ago
version 46
2fbc200e
2 months ago
version 45
0efc4d45
2 months ago
version 44
b1a6c764
2 months ago
version 43
9efd95b2
2 months ago
version 42
11da3152
2 months ago
version 41
8a2859b5
2 months ago
version 40
1ede428c
2 months ago
version 39
d8d82bab
2 months ago
version 38
43c030e0
2 months ago
version 37
70a703ca
2 months ago
version 36
876bab6c
2 months ago
version 35
1f099921
2 months ago
version 34
68e5a8e8
2 months ago
version 33
d1e66e9a
2 months ago
version 32
18c75190
2 months ago
version 31
2a77147e
2 months ago
version 30
ab69c720
2 months ago
version 29
1808e19c
2 months ago
version 28
11354c27
2 months ago
version 27
c65f50d4
2 months ago
version 26
2b525169
2 months ago
version 25
45365f96
2 months ago
version 24
b06a2959
2 months ago
version 23
448f1588
2 months ago
version 22
4c4ef82a
2 months ago
version 21
dc816151
2 months ago
version 20
cf8fea3c
2 months ago
version 19
073d0e2f
2 months ago
version 18
a1b24842
2 months ago
version 17
ec0fe7ec
2 months ago
version 16
86539d9f
2 months ago
version 15
8e2f097a
2 months ago
version 14
155f1bbb
2 months ago
version 13
f5be7af9
2 months ago
version 12
c76ea69a
2 months ago
version 11
1fd9f0b8
2 months ago
version 10
471f7079
2 months ago
version 9
68be5db2
2 months ago
version 8
21059734
2 months ago
version 7
d56b099a
2 months ago
version 6
791b6202
2 months ago
version 5
0b76f755
2 months ago
version 4
ceccd057
2 months ago
version 3
31f073bc
2 months ago
version 2
8fe8a87d
2 months ago
version 1
4f8a75c4
2 months ago
master (base)
and
latest version
latest version
979aa785
74 commits,
2 months ago
version 61
364bb451
73 commits,
2 months ago
version 60
5aa00ede
71 commits,
2 months ago
version 59
d323a7d6
68 commits,
2 months ago
version 58
9a54d312
67 commits,
2 months ago
version 57
591ecd48
66 commits,
2 months ago
version 56
e8b750cb
65 commits,
2 months ago
version 55
a613900f
64 commits,
2 months ago
version 54
0fa84fd0
61 commits,
2 months ago
version 53
237b7f4d
60 commits,
2 months ago
version 52
b9492721
59 commits,
2 months ago
version 51
c23a3c12
57 commits,
2 months ago
version 50
49a8d306
56 commits,
2 months ago
version 49
2148f26c
55 commits,
2 months ago
version 48
7daaa3db
53 commits,
2 months ago
version 47
ea6dc72a
52 commits,
2 months ago
version 46
2fbc200e
51 commits,
2 months ago
version 45
0efc4d45
50 commits,
2 months ago
version 44
b1a6c764
49 commits,
2 months ago
version 43
9efd95b2
48 commits,
2 months ago
version 42
11da3152
47 commits,
2 months ago
version 41
8a2859b5
46 commits,
2 months ago
version 40
1ede428c
46 commits,
2 months ago
version 39
d8d82bab
45 commits,
2 months ago
version 38
43c030e0
45 commits,
2 months ago
version 37
70a703ca
44 commits,
2 months ago
version 36
876bab6c
42 commits,
2 months ago
version 35
1f099921
41 commits,
2 months ago
version 34
68e5a8e8
40 commits,
2 months ago
version 33
d1e66e9a
39 commits,
2 months ago
version 32
18c75190
38 commits,
2 months ago
version 31
2a77147e
37 commits,
2 months ago
version 30
ab69c720
36 commits,
2 months ago
version 29
1808e19c
35 commits,
2 months ago
version 28
11354c27
34 commits,
2 months ago
version 27
c65f50d4
32 commits,
2 months ago
version 26
2b525169
31 commits,
2 months ago
version 25
45365f96
30 commits,
2 months ago
version 24
b06a2959
29 commits,
2 months ago
version 23
448f1588
28 commits,
2 months ago
version 22
4c4ef82a
27 commits,
2 months ago
version 21
dc816151
25 commits,
2 months ago
version 20
cf8fea3c
23 commits,
2 months ago
version 19
073d0e2f
21 commits,
2 months ago
version 18
a1b24842
19 commits,
2 months ago
version 17
ec0fe7ec
18 commits,
2 months ago
version 16
86539d9f
17 commits,
2 months ago
version 15
8e2f097a
16 commits,
2 months ago
version 14
155f1bbb
15 commits,
2 months ago
version 13
f5be7af9
14 commits,
2 months ago
version 12
c76ea69a
13 commits,
2 months ago
version 11
1fd9f0b8
12 commits,
2 months ago
version 10
471f7079
11 commits,
2 months ago
version 9
68be5db2
10 commits,
2 months ago
version 8
21059734
9 commits,
2 months ago
version 7
d56b099a
8 commits,
2 months ago
version 6
791b6202
7 commits,
2 months ago
version 5
0b76f755
6 commits,
2 months ago
version 4
ceccd057
4 commits,
2 months ago
version 3
31f073bc
3 commits,
2 months ago
version 2
8fe8a87d
2 commits,
2 months ago
version 1
4f8a75c4
1 commit,
2 months ago
36 files
+
5540
−
2435
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Some changes are not shown
For a faster browsing experience, some files are collapsed by default.
Expand all files
Files
36
Search (e.g. *.vue) (Ctrl+P)
aleksis/apps/paweljong/frontend/components/event/Checkpoint.vue
+
105
−
95
Options
<
template
><div>
<v-form
ref=
"form"
>
<v-text-field
v-model=
"comment"
label=
"Comment"
required
></v-text-field>
<
template
>
<div>
<v-form
ref=
"form"
>
<v-text-field
v-model=
"comment"
label=
"Comment"
required
></v-text-field>
<v-btn
color=
"success"
class=
"mr-4"
@
click=
"startScan"
>
Check in
</v-btn>
</v-form>
<v-card
class=
"mx-auto"
>
<v-alert
:color=
"status.color"
>
{{
status
.
message
}}
</v-alert>
</v-card>
<v-card
class=
"mx-auto"
>
<v-alert
v-for=
"(checkIn, i) in checkIns"
:key=
"i"
:color=
"checkIn.color"
>
{{
checkIn
.
message
}}
</v-alert>
</v-card>
</div></
template
>
<v-btn
color=
"success"
class=
"mr-4"
@
click=
"startScan"
>
Check in
</v-btn>
</v-form>
<v-card
class=
"mx-auto"
>
<v-alert
:color=
"status.color"
>
{{
status
.
message
}}
</v-alert>
</v-card>
<v-card
class=
"mx-auto"
>
<v-alert
v-for=
"(checkIn, i) in checkIns"
:key=
"i"
:color=
"checkIn.color"
>
{{
checkIn
.
message
}}
</v-alert>
</v-card>
</div>
</
template
>
<
script
>
import
gql
from
"
graphql-tag
"
;
import
gql
from
"
graphql-tag
"
;
export
default
{
data
()
{
return
{
comment
:
""
,
status
:
{
"
color
"
:
"
blue-grey
"
,
"
message
"
:
"
Scan not started
"
,
},
checkIns
:
new
Array
(),
}
},
methods
:
{
checkIn
(
data
,
statusObject
)
{
this
.
$apollo
.
mutate
({
mutation
:
gql
`mutation ($eventSlug:String!, $personId:Int!, $comment:String!, $lat:Int, $lon:Int) {
checkpointCheckIn(eventSlug:$eventSlug, personId:$personId, comment:$comment, lat:$lat, lon:$lon){
checkpoint {
id
export
default
{
data
()
{
return
{
comment
:
""
,
status
:
{
color
:
"
blue-grey
"
,
message
:
"
Scan not started
"
,
},
checkIns
:
new
Array
(),
};
},
methods
:
{
checkIn
(
data
,
statusObject
)
{
this
.
$apollo
.
mutate
({
mutation
:
gql
`
mutation (
$eventSlug: String!
$personId: Int!
$comment: String!
$lat: Int
$lon: Int
) {
checkpointCheckIn(
eventSlug: $eventSlug
personId: $personId
comment: $comment
lat: $lat
lon: $lon
) {
checkpoint {
id
}
}
}
}
`
,
`
,
variables
:
{
"
eventSlug
"
:
this
.
$route
.
params
.
slug
,
"
personId
"
:
data
.
id
,
"
comment
"
:
this
.
comment
}
}).
then
((
data
)
=>
{
eventSlug
:
this
.
$route
.
params
.
slug
,
personId
:
data
.
id
,
comment
:
this
.
comment
,
},
})
.
then
((
data
)
=>
{
statusObject
.
message
=
`Checked in
${
data
.
user
.
username
}
`
;
statusObject
.
color
=
"
green
"
;
}).
catch
((
error
)
=>
{
})
.
catch
((
error
)
=>
{
statusObject
.
message
=
`Error checking in
${
data
.
user
.
username
}
`
;
statusObject
.
color
=
"
red
"
;
})
},
startScan
()
{
try
{
const
ndef
=
new
NDEFReader
();
ndef
.
scan
().
then
(()
=>
{
this
.
status
.
color
=
"
blue-grey
"
;
this
.
status
.
message
=
"
Scanning...
"
;
ndef
.
addEventListener
(
"
readingerror
"
,
(
err
)
=>
{
// FIXME use semantic colors/types
this
.
status
.
color
=
"
red
"
;
this
.
status
.
message
=
err
;
});
ndef
.
addEventListener
(
"
reading
"
,
(
e
)
=>
{
const
message
=
e
.
message
;
const
checkInStatus
=
{
"
color
"
:
"
blue-grey
"
,
"
message
"
:
"
Decoding...
"
,
};
this
.
checkIns
.
unshift
(
checkInStatus
);
for
(
const
record
of
message
.
records
)
{
if
(
record
.
recordType
!==
"
url
"
)
{
checkInStatus
.
message
=
"
Found non-URL
"
;
continue
;
}
const
decoder
=
new
TextDecoder
();
const
url
=
decoder
.
decode
(
record
.
data
);
// FIXME use configured base URL here
if
(
!
url
.
startsWith
(
"
https://ticdesk.teckids.org/o/
"
))
{
checkInStatus
.
message
=
"
Found invalid URL
"
;
checkInStatus
.
color
=
"
red
"
;
break
;
}
fetch
(
url
).
then
((
res
)
=>
res
.
json
()).
then
((
data
)
=>
{
});
},
startScan
()
{
try
{
const
ndef
=
new
NDEFReader
();
ndef
.
scan
().
then
(()
=>
{
this
.
status
.
color
=
"
blue-grey
"
;
this
.
status
.
message
=
"
Scanning...
"
;
ndef
.
addEventListener
(
"
readingerror
"
,
(
err
)
=>
{
// FIXME use semantic colors/types
this
.
status
.
color
=
"
red
"
;
this
.
status
.
message
=
err
;
});
ndef
.
addEventListener
(
"
reading
"
,
(
e
)
=>
{
const
message
=
e
.
message
;
const
checkInStatus
=
{
color
:
"
blue-grey
"
,
message
:
"
Decoding...
"
,
};
this
.
checkIns
.
unshift
(
checkInStatus
);
for
(
const
record
of
message
.
records
)
{
if
(
record
.
recordType
!==
"
url
"
)
{
checkInStatus
.
message
=
"
Found non-URL
"
;
continue
;
}
const
decoder
=
new
TextDecoder
();
const
url
=
decoder
.
decode
(
record
.
data
);
// FIXME use configured base URL here
if
(
!
url
.
startsWith
(
"
https://ticdesk.teckids.org/o/
"
))
{
checkInStatus
.
message
=
"
Found invalid URL
"
;
checkInStatus
.
color
=
"
red
"
;
break
;
}
fetch
(
url
)
.
then
((
res
)
=>
res
.
json
())
.
then
((
data
)
=>
{
checkInStatus
.
message
=
`Checking in
${
data
.
user
.
username
}
...`
;
checkInStatus
.
color
=
"
orange
"
;
this
.
checkIn
(
data
,
checkInStatus
);
}).
catch
((
error
)
=>
{
})
.
catch
((
error
)
=>
{
checkInStatus
.
message
=
"
Error retrieving or decoding data
"
;
checkInStatus
.
color
=
"
red
"
;
});
}
});
}
});
}
catch
{
console
.
log
(
"
Error
"
);
}
}
);
}
catch
{
console
.
log
(
"
Error
"
);
}
},
}
},
};
</
script
>
Loading