from web import form from models.project import get_categories # Define the login form login_form = form.Form( form.Textbox("username", description="Username"), form.Password("password", description="Password"), form.Button("Log In", type="submit", description="Login"), ) # Define the register form register_form = form.Form( form.Textbox("username", description="Username"), form.Textbox("full_name", description="Full name"), form.Textbox("company", description="Company"), form.Textbox("phone_number", description="Phone Number"), form.Textbox("street_address", description="Street address"), form.Textbox("city", description="City"), form.Textbox("state", description="State"), form.Textbox("postal_code", description="Postal code"), form.Textbox("country", description="Country"), form.Password("password", description="Password"), form.Button("Register", type="submit", description="Register"), ) # Get categories categories = get_categories() def get_task_form_elements(identifier=0, task_title="", task_description="", budget=""): """ Generate a set of task form elements :param identifier: The id of the task :param task_title: Task title :param task_description: Task description :param budget: Task budget :type identifier: int, str :type task_title: str :type task_description: str :type budget: int, str :return: A set of task form elements """ task_form_elements = ( form.Textbox("task_title_" + str(identifier), description="Title", value=task_title), form.Textarea("task_description_" + str(identifier), description="Description", value=task_description), form.Textbox("budget_" + str(identifier), description="Budget", value=str(budget)) ) return task_form_elements def get_project_form_elements(project_title="", project_description="", category_name=""): """ Generate a set of project form elements :param project_title: Project title :param project_description: Project description :param category_name: Name of the belonging category :type project_title: str :type project_description: str :type category_name: str :return: A set of project form elements """ project_form_elements = ( form.Textbox("project_title", description="Title", value=project_title), form.Textarea("project_description", description="Description", value=project_description), form.Dropdown("category_name", description="Category Name", args=categories) ) return project_form_elements def get_user_form_elements(user_name, read_permission, write_permission, modify_permission): user_form_elements = ( form.Textbox("username", description="User", value=user_name), form.Checkbox("read_permission", description="Read Permission", checked=True), form.Checkbox("write_permission", description="Write Permission", checked=False), form.Checkbox("modify_permission", description="Modify Permission", checked=False) ) def get_new_project_form(elements): """ Combine a project form element and task elements to make a complete project form :param elemets: All the project and task form elements :return: The ready to use project form """ return form.Form(*elements, form.Button("Add User", type="submit", description="Add User", value="add_user"), form.Button("Add Task", type="submit", description="Add Task", value="add_task"), form.Button("Remove Task", type="submit", description="Remove Task ", value="remove_task"), form.Button("Create Project", type="submit", description="Create Project", value="create_project") ) # Define the guestbook form guestbook_form = form.Form( form.Textbox("entry", description="Entry"), )