diff --git a/README.md b/README.md index fbfc303..5e786d1 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ - [Templating Examples](https://github.com/kataras/iris/tree/main/_examples/view) - [Jet] - [Source](https://github.com/CloudyKit/jet) + - [Docs](https://github.com/CloudyKit/jet/wiki) - [Syntax reference](https://github.com/CloudyKit/jet/blob/master/docs/syntax.md) ## Howto diff --git a/app/templates/base/base.jet b/app/templates/base/base.jet index 62a0c12..97379d7 100644 --- a/app/templates/base/base.jet +++ b/app/templates/base/base.jet @@ -2,6 +2,7 @@ + @@ -9,6 +10,7 @@ Document +

{{ title }}

@@ -29,5 +31,8 @@ {{ yield mainContent() }}
+ + {{ block jsBlock() }}{{ end }} - + + \ No newline at end of file diff --git a/app/templates/pages/about.jet b/app/templates/pages/about.jet index 3f3181d..2730280 100644 --- a/app/templates/pages/about.jet +++ b/app/templates/pages/about.jet @@ -2,14 +2,48 @@ {{ block mainContent() }} -

Bacon ipsum dolor amet meatball ground round swine salami, drumstick alcatra ribeye pork loin corned beef tongue sausage tail jerky buffalo. Bacon capicola fatback turducken. Drumstick picanha jowl pork loin, meatball tri-tip doner pastrami beef ribs shankle chicken chuck turkey. Flank pig turducken hamburger shoulder, tongue alcatra prosciutto buffalo jowl. Frankfurter brisket ball tip, leberkas strip steak meatball burgdoggen jowl rump. Porchetta drumstick frankfurter pig cow spare ribs rump sausage chuck fatback andouille filet mignon jerky.

-

Chuck swine drumstick, fatback alcatra burgdoggen ball tip meatball andouille shoulder brisket turducken cupim spare ribs. Spare ribs strip steak alcatra tri-tip pork chop bresaola, t-bone cupim cow. Ball tip pork corned beef chislic buffalo. Cupim bacon doner turkey ball tip prosciutto andouille fatback corned beef. Meatball drumstick venison landjaeger filet mignon biltong, frankfurter chicken shank bacon flank strip steak ground round t-bone.

-

Meatloaf tri-tip biltong porchetta corned beef alcatra. Capicola chicken pastrami swine tri-tip, flank corned beef landjaeger picanha spare ribs drumstick chislic pork chop sirloin. Capicola landjaeger kevin prosciutto boudin. Porchetta shoulder ball tip, strip steak drumstick ham hock tri-tip frankfurter landjaeger. Cupim biltong bacon meatloaf chicken, porchetta picanha brisket strip steak andouille hamburger cow jowl shank fatback.

-

Turducken bacon pork loin capicola hamburger jerky tri-tip pork belly. Pork loin chicken turkey, pork chop filet mignon tri-tip prosciutto tenderloin beef ham hock chuck bacon. Kevin venison frankfurter porchetta ribeye, landjaeger pork loin shank. Salami andouille landjaeger pork loin pork tail filet mignon venison cow bresaola jerky alcatra boudin t-bone. Beef fatback ribeye turkey ground round corned beef. Beef alcatra flank hamburger.

-

Landjaeger shankle flank, cow hamburger biltong capicola pastrami drumstick. Boudin ball tip shank ground round, porchetta shankle spare ribs chuck chicken sirloin meatloaf. Pork loin pork frankfurter shank, capicola swine chicken strip steak prosciutto kevin burgdoggen beef pig. Sirloin leberkas andouille cow ham tongue drumstick jowl sausage t-bone pancetta turducken bacon. Jerky ham hock turducken pork belly, corned beef ribeye tri-tip andouille beef ribs pastrami filet mignon meatball shank rump salami. Spare ribs porchetta salami short ribs, ball tip cow pig ribeye corned beef venison tongue. Shoulder jowl capicola, strip steak prosciutto cow burgdoggen spare ribs.

-

Shoulder shankle t-bone, buffalo ribeye beef tail drumstick sausage pork belly pig landjaeger kevin. Ground round shoulder venison, chicken t-bone corned beef tongue flank filet mignon jowl drumstick tenderloin bresaola short loin pig. Swine flank beef corned beef ham hock boudin doner pig. Pork belly short ribs buffalo ham salami kielbasa.

-

Burgdoggen ground round sausage andouille chicken strip steak porchetta picanha. Pork t-bone shank porchetta leberkas capicola corned beef bresaola. Swine tenderloin beef ribs sirloin. Burgdoggen buffalo frankfurter, salami turkey biltong chislic bacon bresaola. Ground round turkey tri-tip flank tail buffalo tenderloin. Picanha turkey shankle jerky. Brisket beef ribs corned beef kielbasa buffalo.

-

Shoulder pastrami chislic picanha pork belly, tail pork venison pork loin jerky pig beef pancetta bacon. Venison beef t-bone, meatball strip steak cow ball tip short ribs flank. Burgdoggen capicola venison pork pancetta alcatra ham hock doner flank fatback cow. Strip steak hamburger landjaeger jowl burgdoggen. Pastrami strip steak jerky, flank tri-tip t-bone capicola ham brisket. Buffalo salami fatback, bresaola venison chuck turducken kielbasa tail kevin short loin. Drumstick bresaola shank fatback tri-tip burgdoggen, ball tip chislic ribeye.

-

Tenderloin rump shank, boudin ribeye spare ribs drumstick. Frankfurter tri-tip ribeye ground round. T-bone chuck spare ribs shankle, short ribs biltong ham hock beef burgdoggen hamburger doner bresaola tongue. Salami doner strip steak, pig swine bacon chicken pastrami ground round pancetta sausage short ribs ball tip. Chislic rump prosciutto frankfurter beef ribs pork drumstick alcatra sirloin andouille brisket capicola.

-

Rump ground round porchetta chislic, burgdoggen jerky frankfurter flank strip steak bacon shankle tongue. Shoulder strip steak biltong tri-tip, beef ribs shankle shank venison landjaeger pork. Capicola short loin picanha flank bacon shank. Strip steak ribeye swine, salami kevin landjaeger brisket.

-{{ end }} + +

Bacon ipsum dolor amet meatball ground round swine salami, drumstick alcatra ribeye pork loin corned beef tongue + sausage tail jerky buffalo. Bacon capicola fatback turducken. Drumstick picanha jowl pork loin, meatball tri-tip + doner pastrami beef ribs shankle chicken chuck turkey. Flank pig turducken hamburger shoulder, tongue alcatra + prosciutto buffalo jowl. Frankfurter brisket ball tip, leberkas strip steak meatball burgdoggen jowl rump. Porchetta + drumstick frankfurter pig cow spare ribs rump sausage chuck fatback andouille filet mignon jerky.

+

Chuck swine drumstick, fatback alcatra burgdoggen ball tip meatball andouille shoulder brisket turducken cupim spare + ribs. Spare ribs strip steak alcatra tri-tip pork chop bresaola, t-bone cupim cow. Ball tip pork corned beef chislic + buffalo. Cupim bacon doner turkey ball tip prosciutto andouille fatback corned beef. Meatball drumstick venison + landjaeger filet mignon biltong, frankfurter chicken shank bacon flank strip steak ground round t-bone.

+

Meatloaf tri-tip biltong porchetta corned beef alcatra. Capicola chicken pastrami swine tri-tip, flank corned beef + landjaeger picanha spare ribs drumstick chislic pork chop sirloin. Capicola landjaeger kevin prosciutto boudin. + Porchetta shoulder ball tip, strip steak drumstick ham hock tri-tip frankfurter landjaeger. Cupim biltong bacon + meatloaf chicken, porchetta picanha brisket strip steak andouille hamburger cow jowl shank fatback.

+

Turducken bacon pork loin capicola hamburger jerky tri-tip pork belly. Pork loin chicken turkey, pork chop filet + mignon tri-tip prosciutto tenderloin beef ham hock chuck bacon. Kevin venison frankfurter porchetta ribeye, + landjaeger pork loin shank. Salami andouille landjaeger pork loin pork tail filet mignon venison cow bresaola jerky + alcatra boudin t-bone. Beef fatback ribeye turkey ground round corned beef. Beef alcatra flank hamburger.

+

Landjaeger shankle flank, cow hamburger biltong capicola pastrami drumstick. Boudin ball tip shank ground round, + porchetta shankle spare ribs chuck chicken sirloin meatloaf. Pork loin pork frankfurter shank, capicola swine + chicken strip steak prosciutto kevin burgdoggen beef pig. Sirloin leberkas andouille cow ham tongue drumstick jowl + sausage t-bone pancetta turducken bacon. Jerky ham hock turducken pork belly, corned beef ribeye tri-tip andouille + beef ribs pastrami filet mignon meatball shank rump salami. Spare ribs porchetta salami short ribs, ball tip cow pig + ribeye corned beef venison tongue. Shoulder jowl capicola, strip steak prosciutto cow burgdoggen spare ribs.

+

Shoulder shankle t-bone, buffalo ribeye beef tail drumstick sausage pork belly pig landjaeger kevin. Ground round + shoulder venison, chicken t-bone corned beef tongue flank filet mignon jowl drumstick tenderloin bresaola short loin + pig. Swine flank beef corned beef ham hock boudin doner pig. Pork belly short ribs buffalo ham salami kielbasa.

+

Burgdoggen ground round sausage andouille chicken strip steak porchetta picanha. Pork t-bone shank porchetta leberkas + capicola corned beef bresaola. Swine tenderloin beef ribs sirloin. Burgdoggen buffalo frankfurter, salami turkey + biltong chislic bacon bresaola. Ground round turkey tri-tip flank tail buffalo tenderloin. Picanha turkey shankle + jerky. Brisket beef ribs corned beef kielbasa buffalo.

+

Shoulder pastrami chislic picanha pork belly, tail pork venison pork loin jerky pig beef pancetta bacon. Venison beef + t-bone, meatball strip steak cow ball tip short ribs flank. Burgdoggen capicola venison pork pancetta alcatra ham + hock doner flank fatback cow. Strip steak hamburger landjaeger jowl burgdoggen. Pastrami strip steak jerky, flank + tri-tip t-bone capicola ham brisket. Buffalo salami fatback, bresaola venison chuck turducken kielbasa tail kevin + short loin. Drumstick bresaola shank fatback tri-tip burgdoggen, ball tip chislic ribeye.

+

Tenderloin rump shank, boudin ribeye spare ribs drumstick. Frankfurter tri-tip ribeye ground round. T-bone chuck + spare ribs shankle, short ribs biltong ham hock beef burgdoggen hamburger doner bresaola tongue. Salami doner strip + steak, pig swine bacon chicken pastrami ground round pancetta sausage short ribs ball tip. Chislic rump prosciutto + frankfurter beef ribs pork drumstick alcatra sirloin andouille brisket capicola.

+

Rump ground round porchetta chislic, burgdoggen jerky frankfurter flank strip steak bacon shankle tongue. Shoulder + strip steak biltong tri-tip, beef ribs shankle shank venison landjaeger pork. Capicola short loin picanha flank + bacon shank. Strip steak ribeye swine, salami kevin landjaeger brisket.

+ +{{ end }} \ No newline at end of file diff --git a/app/templates/pages/index.jet b/app/templates/pages/index.jet index 0b8a27e..1b0b46d 100644 --- a/app/templates/pages/index.jet +++ b/app/templates/pages/index.jet @@ -4,26 +4,33 @@ {{ block mainContent() }} -
-
-
- - -
-
- - -
+
+ +
+ + +
+
+ + +
- - -
+ + +
-
-

Bacon ipsum dolor amet leberkas kevin meatball pork loin beef ribs prosciutto, turducken bacon bresaola tri-tip. Strip steak flank shankle, sirloin short ribs shoulder meatball pork chop kevin ribeye jowl ham pork belly turducken jerky. Flank tongue short loin ham hock brisket turducken tail filet mignon cupim. Pork capicola buffalo kevin jowl chicken. Filet mignon brisket pig, landjaeger sausage cow fatback drumstick chicken buffalo tenderloin spare ribs.

-

Swine shankle porchetta pancetta. Buffalo chicken turducken ground round kevin shoulder, salami pig t-bone beef ribs tri-tip tongue pork belly doner. Landjaeger meatloaf short loin biltong. Alcatra tongue shankle, tri-tip pancetta porchetta tenderloin corned beef pastrami rump. Bresaola chislic beef kielbasa sausage, ball tip burgdoggen boudin capicola short loin tenderloin buffalo landjaeger.

-
+
+

Bacon ipsum dolor amet leberkas kevin meatball pork loin beef ribs prosciutto, turducken bacon bresaola tri-tip. + Strip steak flank shankle, sirloin short ribs shoulder meatball pork chop kevin ribeye jowl ham pork belly + turducken jerky. Flank tongue short loin ham hock brisket turducken tail filet mignon cupim. Pork capicola + buffalo kevin jowl chicken. Filet mignon brisket pig, landjaeger sausage cow fatback drumstick chicken buffalo + tenderloin spare ribs.

+

Swine shankle porchetta pancetta. Buffalo chicken turducken ground round kevin shoulder, salami pig t-bone beef + ribs tri-tip tongue pork belly doner. Landjaeger meatloaf short loin biltong. Alcatra tongue shankle, tri-tip + pancetta porchetta tenderloin corned beef pastrami rump. Bresaola chislic beef kielbasa sausage, ball tip + burgdoggen boudin capicola short loin tenderloin buffalo landjaeger.

+
-{{ end }} +{{ end }} \ No newline at end of file diff --git a/app/templates/pages/user-edit.jet b/app/templates/pages/user-edit.jet index 93a36cc..9c19310 100644 --- a/app/templates/pages/user-edit.jet +++ b/app/templates/pages/user-edit.jet @@ -2,38 +2,93 @@ {{ import "/components/table_component.jet" }} + {{ block mainContent() }} -

Edit user

+ +

Edit user

-
-
-
- - -
-
- - -
-
- - -
-
- - -
+
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
-
- - Cancel - - -
- -
+
+ + Cancel + + +
+ +
{{ end }} + + +{{ block jsBlock() }} + + + +{{ end }} \ No newline at end of file diff --git a/app/templates/pages/users.jet b/app/templates/pages/users.jet index b56de80..bc468fc 100644 --- a/app/templates/pages/users.jet +++ b/app/templates/pages/users.jet @@ -3,7 +3,9 @@ {{ block mainContent() }} -

Users

- {{ yield usersTable(users=users) }} -{{ end }} +

Users

+ +{{ yield usersTable(users=users) }} + +{{ end }} \ No newline at end of file diff --git a/app/views/router.go b/app/views/router.go index 5b3e78d..6d44b9d 100644 --- a/app/views/router.go +++ b/app/views/router.go @@ -8,7 +8,7 @@ func CreateRouter(app *iris.Application) { app.Get("/users", GetUsersPage) app.Get("/users/{userId:uuid}", EditUserPage) - app.Post("/users/{userId:uuid}", SaveUserPage) + app.Post("/users/{userId:uuid}", SaveUser) app.Get("/about", GetAboutPage) } diff --git a/app/views/users.go b/app/views/users.go index 6321873..9d47103 100644 --- a/app/views/users.go +++ b/app/views/users.go @@ -8,11 +8,11 @@ import ( "github.com/kataras/iris/v12" ) -type editUserForm struct { - FirstName string `form:"first-name"` - LastName string `form:"last-name"` - Email string `form:"email"` - Password string `form:"password"` +type editUserJSON struct { + FirstName string `json:"first-name"` + LastName string `json:"last-name"` + Email string `json:"email"` + Password string `json:"password"` } func GetUsersPage(ctx iris.Context) { @@ -42,18 +42,22 @@ func EditUserPage(ctx iris.Context) { filter := repository.UserFilter{Id: &userId} user := userRepository.Get(&filter) - ctx.ViewData("user", user) - ctx.ViewData("currentPath", ctx.Path()) + vars := iris.Map{ + "user": user, + "currentPath": ctx.Path(), + "backlink": "/users", + } - if err := ctx.View("pages/user-edit.jet"); err != nil { + if err := ctx.View("pages/user-edit.jet", vars); err != nil { showError(ctx, err) return } } -func SaveUserPage(ctx iris.Context) { - var form editUserForm - err := ctx.ReadForm(&form) +func SaveUser(ctx iris.Context) { + var postData editUserJSON + err := ctx.ReadJSON(&postData) + if err != nil { ctx.StopWithError(iris.StatusBadRequest, err) return @@ -65,18 +69,21 @@ func SaveUserPage(ctx iris.Context) { filter := repository.UserFilter{Id: &userId} user := userRepository.Get(&filter) - user.FirstName = form.FirstName - user.LastName = form.LastName - user.Email = form.Email + user.FirstName = postData.FirstName + user.LastName = postData.LastName + user.Email = postData.Email - if len(form.Password) > 0 { - user.SetPassword(form.Password) + if len(postData.Password) > 0 { + user.SetPassword(postData.Password) fmt.Printf("Set password: %s\n", user.Password) - fmt.Printf("IsPasswordGoodEnough: %v\n", auth.IsPasswordGoodEnough(form.Password)) - + fmt.Printf("IsPasswordGoodEnough: %v\n", auth.IsPasswordGoodEnough(postData.Password)) } userRepository.Save(user) - ctx.Redirect("/users") + response := iris.Map{ + "success": true, + } + + ctx.JSON(response) }