Major refactoring of get_session(), get_account(), get_nodemailer(), introduces ...
[ndcode_site.git] / contact / index.html.jst
index db92d12..888226f 100644 (file)
@@ -2,16 +2,17 @@ let XDate = require('xdate')
 
 return async env => {
   let breadcrumbs = await _require('/_lib/breadcrumbs.jst')
+  let get_session = await _require('/_lib/get_session.jst')
   let icon_cross = await env.site.get_min_svg('/_svg/icon_cross.svg')
   let icon_tick = await env.site.get_min_svg('/_svg/icon_tick.svg')
   let navbar = await _require('/_lib/navbar.jst')
-  let get_session = await _require('/_lib/get_session.jst')
 
   // preload draft details if any
-  let transaction = await env.site.database.Transaction(), draft_details
+  let transaction = await env.site.database.Transaction()
+  let draft_details
   try {
-    // initialize env.session_key, set cookie in env.response
-    let session = await get_session(env, transaction)
+    let root = await transaction.get({})
+    let session = await get_session(env, root)
 
     let contact_draft = await session.get('contact_draft')
     draft_details =
@@ -26,12 +27,9 @@ return async env => {
           message: await contact_draft.get_json('message')
         } :
         null
-
-    await transaction.commit()
   }
-  catch (error) {
+  finally {
     transaction.rollback()
-    throw error
   }
   console.log('draft_details', JSON.stringify(draft_details))