<% var context = {app:app, form:form, doc:doc, request:request, user:user}; var canchange = (doc && doc._id) ? app.can("update", form, request.session, doc) : app.can("create", form, request.session); %><% if (form.label) { %>

<%= form.label %>

<% } if (form.description) { %>

<%= _.safetemplate(form.description, context) %>

<% } %>
<% if (doc && doc._id) { %><% } for (var index=0, field; field=form.fields[index]; index++) { %> <% if (field.section || !index) { %> <% if (index > 0) { %><% } %>
<% if (field.section) { %>

<%= field.section %>

<%= _.safetemplate(field.description, context) %>

<% } %>
<% } %> <% if (field.label) { var error = errors[field.name]; var val = field.formula ? _.safetemplate(field.formula, _.extend({_user:user}, doc)) : (doc[field.name] || field.default || ''); if (field.values && field.values.form && field.values.field) { var values = app._lookup(field.values.form, field.values.field); if (!_(field.validations).contains(true)) { values.unshift(""); } } else { var values = field.values; } %>
"> <% if (field.description) { %>

<%= _.safetemplate(field.description, context) %>

<% } %>
<% if (field.type === "radio" || field.type === "checkbox") { for (var i=0,l=values.length; i <% } } else if (field.type === "textarea") { %><% } else if (field.type === "select") { %><% } else if (field.type === "computed") { %>" readonly value="<%= val %>"/><% } else { %>" type="<%= field.type || "text" %>" value="<%= val %>"/><% } %>
<% if (error) { %> <% for (var errnum=0, msg; msg=error[errnum]; errnum++) { %> <%= msg %> <% } %> <% } %> <% } %> <% } %>
<% if (canchange) { %><% } %>
<% if (form.actions) { %> <% } %> <% if (doc[":history"]) { %>

Changes

    <% for (var i=0, change; change=doc[":history"][i]; i++) { %>
  1. On <%= new Date(Date.parse(change[":updated"])).toString() %><% if (change[":user"]) { %>, <%= change[":user"] %> changed<% } %>:
  2. <% } %>
<% } %>