📺 Develpreneur YouTube Episode

Video + transcript

Spring Boot - Thymeleaf forms setup

2024-01-18 •Youtube

Detailed Notes

We are continuing a series of tutorials focused on Spring Boot. The crux of the project is to convert/migrate an old JSP/Tomcat application to a modern Spring Boot application and Java 7/8 to a current version. We are working on a complex form for entering data. This episode continues connecting up the back and front end data pieces to our Thymeleaf form and pages.

You can learn more through our online classes at https://school.develpreneur.com and register for free. Registration will add you to our email list, and you will periodically receive coupons for courses and notifications of the latest releases.

Transcript Text
[Music]
well hello and welcome back we are
continuing our journey as it were
through uh converting our application
from Tomcat Pache old stuff uh you know
Java server Pages things to you know a
spiffy new spring boot application with
uh bootstrap five and time leaf and all
that kind of stuff this time we are
going to continue playing around with uh
if we go here and log
in we're working on our uh little
project thing and doing some of this
stuff getting these things cleaned up
one of them is we're going to do some
new tasks in overhead which is again
we're going to go back through give
ourselves a good exercise and completing
or cleaning up something that use some
of the old school JSP stuff and we're
going to switch that over so let's see
if we can take our tasks and our
overhead requirements and let's see if
we can get those things converted fairly
quickly uh first off if you remember we
always had to start out get our uh our
header in there so we're going to do
that with our uh if I can find my task
Pages they
are down here I think I'm in the right
place wrong
one there we go so if we do it at the
head of our uh I'm sorry is our task
yeah I think it's our task form yep
because we see it's got all this crap up
here so we're going to clean that up we
get down to
the let's do this and let's get we don't
need to include that
header and we're going to do that with
our uh overhead form as
well so we got a lot stuff here we don't
[Music]
need and let's go ahead and we're going
to do the same with our
footer so we just jump to the bottom
and we can see here that we always have
a footer right before we do the end of
the body in the/ H2 Mouse we're going to
go back over
here to our overhead
form we're clean that one up and we're
going to clean up our task
form same
way and so if we just take these that
should get us a start so let's just take
a look at these should start seeing
something that looks a little bit better
so we're going to jump in
here we're going to log in and now we're
going to
see so if we do a new task now we've got
our header we've got our footer down
here things are look at this it's
starting to like look a little bit
better even already because it's got
some of that styling if we do our
overhead item same thing now we've got
uh some nice little things here like
it's got a welcome which I think we have
here so we're just going to steal that
from our form as well
so we're going to come in here this is a
bonus again uh technically we probably
could have built all this out in some
nice
useful uh templates and fragments but
let's see so we
did uh welcome here so up at the top
we've got a row that is our welcome row
we're going to put that on our
overhead and where it says
here we'll just get that taken care of
and we're going to do that on our task
form because I think we have the same
thing yes we
do so remember what we need to do is
we're going have to go through these
basically we're going to try it this way
we're going to try a little differently
so for our task we're going to go
everywhere that we see a c colon and
we're going to turn that into a th colon
and we're going to see if that how close
that gets us so if we do F
replace C colon and replace that with
that th
colon replace all it's probably not
going to get them all but
hey let's see what
happens if we try that uh that should
give us that's going to give us a few
issues here because like
here uh this probably needs to be like
a uh that's the font we're going to do a
div th text
equals and that's going to be the
message
so we'll just try
that so let's start with just I don't
want to go too far to it so let's look
at what we do with just our C so if we
come in here
now let's see if we get any of our value
showing up so if we do a new of course
if there there's not a whole lot oh good
it's blowing up I don't mean that in a
serious way but most likely it is
something here where it's we've got an
in a in to our C so we can't do that
because those were oh here we go so
first
name uh so this is the task
and actually I'm not sure which this was
but most likely it is here uh so user.
first
name oh so let's go see
if so it looks like we're going to have
a couple things so we sort of like blew
our way through
this
uh let's see user. first name template
overhead
form user. first name
here and is not equal to null and it's
probably not going to like that because
if we go down here I think it's a user
null maybe oh property field first name
cannot be found in it so user is null
here oh
because I think we did that I think
that's our problem is because they are
no that should
be oh I bet you we didn't let's see what
we call them here o let's
go if we go back to what that was it was
actually um oh we didn't send it was
user principal so let's go look
at wh not that one so we need to send
our user across now which we probably
did not do so if we go into our task
controller and we're going to have
somewhere in here we're going to have
our uh
overhead
form I probably didn't do it because
it's uh let's not make it there we
go so here what we need is we have a
user ID but we probably need to just
make this user
which
um let's do it that
way and this is going to
be let's see how do we do that here we
can probably just steal our code
here uh let's see where is here we
go
so now we can come back to
here let's see test
controller and we're going to do it like
that and then the user is going to be
USR we're going to have to add the user
Dao oh we didn't have it there so let's
go back to here let's just grab that
line real
quick CU we're going to need
him and we're use him a couple places so
that will Works let's make sure we don't
already have a user Dao we do
not oh uh I guess we can make it
private interesting than it was before
but that's okay uh let's see so
now that was
the where' I put it here we
go so I've got that one and I'm probably
going to use user as well here for the
is that the task yep load task form
and so now that should take care of
those so that means we should be able to
I think run it we're going to find out
in a
second or a few seconds actually so if
we're going to log
in send our values in do a new now it's
working and we're starting to see a few
things uh we're not seeing any errors so
and probably right now now note that
we've got some issues if I'm try well
can't note this you don't see this but
maybe you hear me trying to type and
that's because these are not hooked up
properly because those are so if we go
to let's just do the task form f is that
what I want yeah we're going to do the
task form
first
and so we've got a few things here so
this
if be interesting we could oh we really
don't want that that's going to
be a div thf and that's going to be the
end of that
div and we're just going to
say that's going to be the
action and then what we need to do if
you remember what we need in our form is
we're going to need to actually tell it
what it comes from so if we what it's
working with so here we're going to make
our form it's going to look a little
different whoop where did I put
that there we go I don't know why I
jumped to the end but there we go so
what we're going to do is we're going to
take take this in our task we're just
going to do it this way because what we
really want it to be here is just going
to boost save
task and instead of project it's going
to be
task and that should do it so from
here I think we can just do let's see if
we do th value let's see what that does
uh hidden path is going to be project ID
that's probably
okay uh input type and I think our
inputs oh that's a submit button right
there so the submit button's okay
probably uh oh that's just a whole bunch
of wait let me go look at that
page oh because it's the delete the task
but that's going to
be delete
task and that's going to be a th on
click
and it's going to be we need our
pipes like that that should take care of
it uh it's not going to be task. ID
because we should be able to do just
ID I believe that's what it's going
because we're within this task let's go
see if we had that before
wh and if we look here
yeah it's just th field instead of path
so that's what we want so we're going to
come over here and instead of path
that's going to be th
field and that's going to be a
star like
that I think that's how we want it so if
we go look here at
our project form yep asisan ID so we
should be able to do that so let's see
we need everywhere we have path it's
going to
be like
that
star uh let
see that's our on click we're okay there
I think that needs oh is that an as I
think that is a dollar because we don't
want
it uh dollar dollar yep that's what we
want because that actually takes it
outside of the form this is just with
then it uh let's see do we have another
I'm sure we have another path there we
go there's a
path and then it needs to be like
that and somewhere in here there we go
there's a
path and that's going to be the amount
so we're going to see some values show
up I think this time oh and it's not
form input it is I think it's just input
let's go look here let's make sure we
got that right
right yep straight
up for uh input so we can get rid of
that that's an a form
input that's not a hidden that's an
input type equals hidden funny that the
one right above it did not do things
quite with thing I thought it was uh
let's see let's make that th value oh no
we T field cuz it's going to come from
there
okay uh what else we
got if we come through all of
this we don't need that form
input Let's see we don't need form
select that's just going to be a select
we will come back to that because we're
going to have to if you
remember that's going to be
div gosh too many
typos uh let's see do we have
a we'll come back to that select because
we're going to want to rebuild him like
we have before we're going to do that
with him as well with this
select uh let's
see it matters but we'll put that there
so we're going to have to rebuild that
this is an input so that one's at Le is
good that's just an input and that's
going to
be so as you see a lot of this is just
you know it's kind of stuff we probably
there would be a way to automate it we
haven't yet so we get to do it this way
and honestly let's face it automating it
would only work if somebody was doing
this exact same type of conversion so
sometimes we run into that where it's
like hey we
would love to not be doing this very
repetitive stuff but we have to because
it's code and it has to be written and
so we have to go through this and while
there's probably some ways we could do
it
faster it is something that we don't do
that often so it might be one that would
be potentially one of those things that
you would do a some sort of like a
oneoff uh macro or something along those
lines depending on what your ID
environment does this one doesn't that I
know of provide that so we're not going
to mess with it all right so I think we
finally got through it let's see what it
looks
like should we should see some stuff
that's a little nicer
here and if we go and this is on the
task if we go in and we do a new
task oh now we're seeing an issue
something got we got to type over
something in there let's see what did we
get uh let's see input cannot be null
and did it tell us which one it was
on it
[Music]
is uh template type
form I wonder if we had on our form
itself method is posst th object action
form hidden
oh that's going to be an in
put I see probably didn't give us
information we
needed not seeing the
exact error sometimes it give us the
exact one it's not this time so let's go
run this again and see if that gives us
something a little
different and let's run through
here and let's do a new
task oh same thing what does it complain
about probably the same thing no a
little different uh input cannot be
null legal
argument something has an input oh
there's an if oh there it is line
38 boom so here uh th
oh or thf is
equals and I think it's like that I
don't think I think we just want to do
it there so let's try that because
that's if message is not equal null does
that look right for our ifs that we did
before I believe it
did if we look here somewhere up here
there's an if I just saw one yeah here
we go so here's the same thing so with
that message let's see if we got it
right this
time so if we take a look at that if on
the message uh we're going to do it on
the overhead too so we might as well I
bet you there we
go
so uh thf equal Yep looks like that's
exactly what we want if we go do that on
our task
form I think we actually had it
all oh it's just there because it's
going to do the dollar message I wonder
if
[Music]
it'll
uh so yeah we probably want to leave it
like
this
although interestingly enough what do we
do on the overhead form um oh I bet you
it's not going to show that
message interesting okay we'll find out
uh we'll have to change that at some
point because I'm sure we can send a
message as we're going through it so
let's get that actually working and then
we'll come back and we'll we'll do our
dropdowns again we'll do another example
of those uh and we'll see that those are
pretty consistent I think from what we
saw before pretty straightforward build
our
list in the back end and then send it
across there we go so now we're starting
to see some values type difficulty or
drop downs name we can enter something
create a task that's actually the ID so
that should be hidden uh if we go into
that task
form ID there we go so that should be
type
equals
hidden and we should have have a user ID
and a project ID so if we go look
there uh let's see if we look up
here nope that
one there we go we have a user ID which
is three we have a project ID which is
28 so we are getting those values in uh
we can do some we can do a nice little
description notes there that one
probably we could make that multiple
lines if we wanted to because I it'ss a
text yeah form control oh interesting
there is it
saying should be six rows but it's not
giving us that so interesting enough
we'll have to see I think we missed
something there uh but we are generally
speaking getting our values
across and I bet you if we hit save
it'll actually if we hit cancel oh
cancel does go back that's cool saor
update
oh actually thinks it's doing something
I think it we got an error but it sort
of thinks it's doing something and
delete this task uh
again doesn't do it oh that's
interesting is that we didn't have an
opportunity let's go look oh so now it's
not showing our
opportunities
interesting very very interesting so if
we go here that one is but we lost an
overhead requirement there so we uh we
managed to do some damage on that one we
did did our uh overhead piece so we'll
have to look at that and we'll just sort
of keep tracking that one down next time
so as always if you have any questions
any specific things you want us to go
through because like I said we're just
going through these giving you some
examples learning as we go a little bit
finding a few things here sometimes
doing things a little differently but
shoot us an email at info@ developer.com
and let us know what you like to hear
until then go out there and have
yourself a great day a great week and we
will talk to you next
[Music]
time
Transcript Segments
0

[Music]

6.48

well hello and welcome back we are

8.28

continuing our journey as it were

10.88

through uh converting our application

13.04

from Tomcat Pache old stuff uh you know

17.56

Java server Pages things to you know a

20.119

spiffy new spring boot application with

22.84

uh bootstrap five and time leaf and all

25.4

that kind of stuff this time we are

27.96

going to continue playing around with uh

30.08

if we go here and log

32.76

in we're working on our uh little

35.84

project thing and doing some of this

38.04

stuff getting these things cleaned up

39.32

one of them is we're going to do some

40.64

new tasks in overhead which is again

42.92

we're going to go back through give

44.64

ourselves a good exercise and completing

46.84

or cleaning up something that use some

48.64

of the old school JSP stuff and we're

51.199

going to switch that over so let's see

53

if we can take our tasks and our

54.76

overhead requirements and let's see if

57.16

we can get those things converted fairly

58.92

quickly uh first off if you remember we

61.64

always had to start out get our uh our

64.68

header in there so we're going to do

66.32

that with our uh if I can find my task

70.2

Pages they

72.159

are down here I think I'm in the right

77.6

place wrong

80.159

one there we go so if we do it at the

83.04

head of our uh I'm sorry is our task

85.439

yeah I think it's our task form yep

87.72

because we see it's got all this crap up

89.28

here so we're going to clean that up we

92.079

get down to

94

the let's do this and let's get we don't

96.56

need to include that

98.04

header and we're going to do that with

100.32

our uh overhead form as

104.2

well so we got a lot stuff here we don't

107.16

[Music]

109.64

need and let's go ahead and we're going

112.04

to do the same with our

117.439

footer so we just jump to the bottom

120.759

and we can see here that we always have

121.96

a footer right before we do the end of

123.68

the body in the/ H2 Mouse we're going to

125.92

go back over

127.319

here to our overhead

130.8

form we're clean that one up and we're

134.08

going to clean up our task

137.92

form same

140.56

way and so if we just take these that

143.879

should get us a start so let's just take

146.239

a look at these should start seeing

147.959

something that looks a little bit better

152.16

so we're going to jump in

154.04

here we're going to log in and now we're

156.879

going to

158.12

see so if we do a new task now we've got

161.159

our header we've got our footer down

163.08

here things are look at this it's

165.04

starting to like look a little bit

166.36

better even already because it's got

167.959

some of that styling if we do our

169.56

overhead item same thing now we've got

173.519

uh some nice little things here like

174.959

it's got a welcome which I think we have

176.959

here so we're just going to steal that

178.64

from our form as well

180.36

so we're going to come in here this is a

182.72

bonus again uh technically we probably

185.239

could have built all this out in some

186.44

nice

187.56

useful uh templates and fragments but

190.68

let's see so we

192.44

did uh welcome here so up at the top

195.36

we've got a row that is our welcome row

197.04

we're going to put that on our

201.56

overhead and where it says

206.2

here we'll just get that taken care of

210.56

and we're going to do that on our task

211.799

form because I think we have the same

213.599

thing yes we

218.959

do so remember what we need to do is

222.08

we're going have to go through these

223.519

basically we're going to try it this way

225.439

we're going to try a little differently

226.959

so for our task we're going to go

228.2

everywhere that we see a c colon and

230.12

we're going to turn that into a th colon

232.2

and we're going to see if that how close

234.36

that gets us so if we do F

236.239

replace C colon and replace that with

239

that th

240.319

colon replace all it's probably not

242.68

going to get them all but

244.239

hey let's see what

247

happens if we try that uh that should

251.64

give us that's going to give us a few

253.76

issues here because like

256.239

here uh this probably needs to be like

260.759

a uh that's the font we're going to do a

263.68

div th text

267.16

equals and that's going to be the

268.8

message

272.44

so we'll just try

274.88

that so let's start with just I don't

277.039

want to go too far to it so let's look

278.24

at what we do with just our C so if we

280.44

come in here

283.919

now let's see if we get any of our value

286.16

showing up so if we do a new of course

287.96

if there there's not a whole lot oh good

289.56

it's blowing up I don't mean that in a

292.12

serious way but most likely it is

293.84

something here where it's we've got an

295.96

in a in to our C so we can't do that

298.52

because those were oh here we go so

300.6

first

306.12

name uh so this is the task

311.4

and actually I'm not sure which this was

313.8

but most likely it is here uh so user.

318.16

first

319.52

name oh so let's go see

323

if so it looks like we're going to have

324.8

a couple things so we sort of like blew

326.68

our way through

328.479

this

331.16

uh let's see user. first name template

333.479

overhead

336.08

form user. first name

344.12

here and is not equal to null and it's

348.639

probably not going to like that because

351.52

if we go down here I think it's a user

353.56

null maybe oh property field first name

356.52

cannot be found in it so user is null

358.84

here oh

361.24

because I think we did that I think

364.8

that's our problem is because they are

366.56

no that should

369.039

be oh I bet you we didn't let's see what

372.199

we call them here o let's

374.72

go if we go back to what that was it was

381.52

actually um oh we didn't send it was

385.08

user principal so let's go look

388.4

at wh not that one so we need to send

391.84

our user across now which we probably

394.24

did not do so if we go into our task

397.56

controller and we're going to have

399.4

somewhere in here we're going to have

402.08

our uh

404.56

overhead

406.24

form I probably didn't do it because

408.68

it's uh let's not make it there we

414.44

go so here what we need is we have a

418.039

user ID but we probably need to just

420.4

make this user

422

which

425.28

um let's do it that

434.24

way and this is going to

436.72

be let's see how do we do that here we

438.879

can probably just steal our code

443.4

here uh let's see where is here we

448.319

go

451.759

so now we can come back to

455.199

here let's see test

457.879

controller and we're going to do it like

459.8

that and then the user is going to be

461.4

USR we're going to have to add the user

465.08

Dao oh we didn't have it there so let's

468

go back to here let's just grab that

470.199

line real

472.36

quick CU we're going to need

475.84

him and we're use him a couple places so

479.039

that will Works let's make sure we don't

481.479

already have a user Dao we do

484.84

not oh uh I guess we can make it

488.84

private interesting than it was before

491.039

but that's okay uh let's see so

495.24

now that was

498.52

the where' I put it here we

500.96

go so I've got that one and I'm probably

504.159

going to use user as well here for the

506.639

is that the task yep load task form

512.44

and so now that should take care of

514.64

those so that means we should be able to

516.399

I think run it we're going to find out

517.64

in a

520.64

second or a few seconds actually so if

523.2

we're going to log

524.48

in send our values in do a new now it's

530.04

working and we're starting to see a few

532.64

things uh we're not seeing any errors so

535.88

and probably right now now note that

537.64

we've got some issues if I'm try well

539.24

can't note this you don't see this but

540.6

maybe you hear me trying to type and

542.519

that's because these are not hooked up

544.399

properly because those are so if we go

547.24

to let's just do the task form f is that

549.399

what I want yeah we're going to do the

550.76

task form

552.64

first

556.32

and so we've got a few things here so

558.839

this

560.519

if be interesting we could oh we really

563.36

don't want that that's going to

565.2

be a div thf and that's going to be the

568.72

end of that

570.519

div and we're just going to

573.32

say that's going to be the

576.959

action and then what we need to do if

579.519

you remember what we need in our form is

581.519

we're going to need to actually tell it

582.959

what it comes from so if we what it's

585.519

working with so here we're going to make

587.88

our form it's going to look a little

590.04

different whoop where did I put

593.959

that there we go I don't know why I

596.2

jumped to the end but there we go so

597.959

what we're going to do is we're going to

599

take take this in our task we're just

600.519

going to do it this way because what we

602.839

really want it to be here is just going

604.48

to boost save

607.24

task and instead of project it's going

609.839

to be

616.399

task and that should do it so from

624.36

here I think we can just do let's see if

626.8

we do th value let's see what that does

630.519

uh hidden path is going to be project ID

632.92

that's probably

634.44

okay uh input type and I think our

638.16

inputs oh that's a submit button right

640.44

there so the submit button's okay

644.16

probably uh oh that's just a whole bunch

646.24

of wait let me go look at that

648.519

page oh because it's the delete the task

651.32

but that's going to

653.639

be delete

655.76

task and that's going to be a th on

658.24

click

660.279

and it's going to be we need our

665.32

pipes like that that should take care of

668.24

it uh it's not going to be task. ID

671.6

because we should be able to do just

675.32

ID I believe that's what it's going

677.399

because we're within this task let's go

679.6

see if we had that before

686.68

wh and if we look here

689.6

yeah it's just th field instead of path

691.839

so that's what we want so we're going to

693.32

come over here and instead of path

696.639

that's going to be th

699.76

field and that's going to be a

704

star like

706.12

that I think that's how we want it so if

708.56

we go look here at

710.6

our project form yep asisan ID so we

714.399

should be able to do that so let's see

716.56

we need everywhere we have path it's

719

going to

720.72

be like

723.2

that

727.92

star uh let

732.04

see that's our on click we're okay there

735.12

I think that needs oh is that an as I

737.56

think that is a dollar because we don't

739.24

want

742.519

it uh dollar dollar yep that's what we

745.32

want because that actually takes it

746.56

outside of the form this is just with

748.959

then it uh let's see do we have another

750.639

I'm sure we have another path there we

751.76

go there's a

755.32

path and then it needs to be like

760.04

that and somewhere in here there we go

762.639

there's a

765.6

path and that's going to be the amount

768

so we're going to see some values show

769.399

up I think this time oh and it's not

772.399

form input it is I think it's just input

775.399

let's go look here let's make sure we

778.24

got that right

781.839

right yep straight

784.279

up for uh input so we can get rid of

789.399

that that's an a form

794.16

input that's not a hidden that's an

797.399

input type equals hidden funny that the

801.76

one right above it did not do things

803.8

quite with thing I thought it was uh

806.399

let's see let's make that th value oh no

808.56

we T field cuz it's going to come from

811.44

there

813

okay uh what else we

816.12

got if we come through all of

820.68

this we don't need that form

826.12

input Let's see we don't need form

828.32

select that's just going to be a select

830.04

we will come back to that because we're

833.079

going to have to if you

837.759

remember that's going to be

840.839

div gosh too many

843.24

typos uh let's see do we have

846.16

a we'll come back to that select because

848.44

we're going to want to rebuild him like

849.72

we have before we're going to do that

851.04

with him as well with this

854.56

select uh let's

861.72

see it matters but we'll put that there

865.6

so we're going to have to rebuild that

867.36

this is an input so that one's at Le is

873.6

good that's just an input and that's

876.48

going to

878.24

be so as you see a lot of this is just

882.759

you know it's kind of stuff we probably

884.44

there would be a way to automate it we

886.36

haven't yet so we get to do it this way

889.48

and honestly let's face it automating it

891.24

would only work if somebody was doing

892.959

this exact same type of conversion so

896.199

sometimes we run into that where it's

897.72

like hey we

899.6

would love to not be doing this very

902.36

repetitive stuff but we have to because

906.279

it's code and it has to be written and

908.639

so we have to go through this and while

910.959

there's probably some ways we could do

912.24

it

913.199

faster it is something that we don't do

915.759

that often so it might be one that would

918.12

be potentially one of those things that

919.519

you would do a some sort of like a

922.32

oneoff uh macro or something along those

925.04

lines depending on what your ID

926.959

environment does this one doesn't that I

929.839

know of provide that so we're not going

931.44

to mess with it all right so I think we

933.199

finally got through it let's see what it

934.319

looks

935.24

like should we should see some stuff

937.68

that's a little nicer

941.24

here and if we go and this is on the

945.56

task if we go in and we do a new

949.24

task oh now we're seeing an issue

951.399

something got we got to type over

952.759

something in there let's see what did we

954.72

get uh let's see input cannot be null

960.92

and did it tell us which one it was

963.36

on it

965.13

[Music]

967.68

is uh template type

971.959

form I wonder if we had on our form

978.68

itself method is posst th object action

982.56

form hidden

986.72

oh that's going to be an in

994.68

put I see probably didn't give us

997.24

information we

998.8

needed not seeing the

1003.88

exact error sometimes it give us the

1006.48

exact one it's not this time so let's go

1008.279

run this again and see if that gives us

1010.12

something a little

1014.279

different and let's run through

1017.48

here and let's do a new

1020.759

task oh same thing what does it complain

1023.399

about probably the same thing no a

1026.079

little different uh input cannot be

1030.72

null legal

1033.839

argument something has an input oh

1038.079

there's an if oh there it is line

1040.919

38 boom so here uh th

1045.959

oh or thf is

1050.039

equals and I think it's like that I

1052.96

don't think I think we just want to do

1054.16

it there so let's try that because

1055.44

that's if message is not equal null does

1057.12

that look right for our ifs that we did

1059.2

before I believe it

1063.52

did if we look here somewhere up here

1066.52

there's an if I just saw one yeah here

1069.12

we go so here's the same thing so with

1070.799

that message let's see if we got it

1072.08

right this

1073.2

time so if we take a look at that if on

1076.2

the message uh we're going to do it on

1078.559

the overhead too so we might as well I

1080.159

bet you there we

1081.559

go

1083.28

so uh thf equal Yep looks like that's

1086.48

exactly what we want if we go do that on

1088.4

our task

1090.36

form I think we actually had it

1093.36

all oh it's just there because it's

1095.52

going to do the dollar message I wonder

1096.84

if

1097.11

[Music]

1098.919

it'll

1101.2

uh so yeah we probably want to leave it

1104.12

like

1107.32

this

1109.6

although interestingly enough what do we

1111.159

do on the overhead form um oh I bet you

1115.159

it's not going to show that

1117.88

message interesting okay we'll find out

1121.96

uh we'll have to change that at some

1123.12

point because I'm sure we can send a

1124.88

message as we're going through it so

1126.88

let's get that actually working and then

1128.52

we'll come back and we'll we'll do our

1130.799

dropdowns again we'll do another example

1132.28

of those uh and we'll see that those are

1135.44

pretty consistent I think from what we

1137.039

saw before pretty straightforward build

1139.24

our

1140.88

list in the back end and then send it

1143.679

across there we go so now we're starting

1145.36

to see some values type difficulty or

1147.559

drop downs name we can enter something

1150.36

create a task that's actually the ID so

1152.559

that should be hidden uh if we go into

1156

that task

1157.96

form ID there we go so that should be

1162.559

type

1164

equals

1166.24

hidden and we should have have a user ID

1169.44

and a project ID so if we go look

1174.2

there uh let's see if we look up

1177.76

here nope that

1179.88

one there we go we have a user ID which

1182.2

is three we have a project ID which is

1183.84

28 so we are getting those values in uh

1187.12

we can do some we can do a nice little

1188.96

description notes there that one

1191.44

probably we could make that multiple

1193

lines if we wanted to because I it'ss a

1195.28

text yeah form control oh interesting

1198.039

there is it

1199.96

saying should be six rows but it's not

1202.28

giving us that so interesting enough

1204.24

we'll have to see I think we missed

1205.36

something there uh but we are generally

1208.12

speaking getting our values

1210

across and I bet you if we hit save

1212.36

it'll actually if we hit cancel oh

1214.919

cancel does go back that's cool saor

1218.12

update

1219.799

oh actually thinks it's doing something

1222.72

I think it we got an error but it sort

1224.559

of thinks it's doing something and

1226.36

delete this task uh

1228.679

again doesn't do it oh that's

1230.679

interesting is that we didn't have an

1232.72

opportunity let's go look oh so now it's

1235.48

not showing our

1236.6

opportunities

1238.36

interesting very very interesting so if

1240.76

we go here that one is but we lost an

1243.6

overhead requirement there so we uh we

1246.52

managed to do some damage on that one we

1248.4

did did our uh overhead piece so we'll

1251.44

have to look at that and we'll just sort

1253.84

of keep tracking that one down next time

1255.76

so as always if you have any questions

1257.919

any specific things you want us to go

1259.679

through because like I said we're just

1260.64

going through these giving you some

1261.72

examples learning as we go a little bit

1263.96

finding a few things here sometimes

1265.559

doing things a little differently but

1266.96

shoot us an email at info@ developer.com

1269.559

and let us know what you like to hear

1271.96

until then go out there and have

1272.919

yourself a great day a great week and we

1275.64

will talk to you next

1280.32

[Music]

1287.039

time