let id = field.ident.unwrap();
form_fields.extend(quote! {
- #id: String,
+ pub #id: String,
});
zakform_fields.extend(quote! {
- #id: zakform::fields::FieldText,
+ pub #id: zakform::fields::FieldText,
});
match field.ty {
get_form.extend(quote!{
let mut fi = zakform::fields::FieldText::new(stringify!(#id));
fi.set_db_type(zakform::fields::FieldDbType::Integer);
- f.add_field(Box::new(fi));
+ self.#id = fi;
+ f.add_field(Box::new(self.#id));
});
} else if s.ident.to_string() == "NaiveDate" {
get_form.extend(quote!{
let mut fi = zakform::fields::FieldText::new(stringify!(#id));
fi.set_db_type(zakform::fields::FieldDbType::Date);
- f.add_field(Box::new(fi));
+ self.#id = fi;
+ f.add_field(Box::new(self.#id));
});
} else {
get_form.extend(quote!{
let mut fi = zakform::fields::FieldText::new(stringify!(#id));
- f.add_field(Box::new(fi));
+ self.#id = fi;
+ f.add_field(Box::new(self.#id));
});
}
},
}
impl #zakform_ident {
- pub fn get_form () -> zakform::form::Form {
+ pub fn get_form (&self) -> (Self, zakform::form::Form) {
let mut f = zakform::form::Form::new();
+
#get_form
- f
+
+ (&self, f)
}
}
};