| @@ -13,9 +13,44 @@ Welcome to beelance2's documentation! | |||||
| .. autoclass:: views.index.Index | .. autoclass:: views.index.Index | ||||
| :members: | :members: | ||||
| .. autoclass:: views.login.Login | |||||
| :members: | |||||
| .. autoclass:: views.logout.Logout | |||||
| :members: | |||||
| .. autoclass:: views.new_project.New_project | |||||
| :members: | |||||
| .. autoclass:: views.open_projects.Open_projects | |||||
| :members: | |||||
| .. autoclass:: views.project.Project | |||||
| :members: | |||||
| .. autoclass:: views.register.Register | |||||
| :members: | |||||
| .. automodule:: views.forms | .. automodule:: views.forms | ||||
| :members: | :members: | ||||
| .. automodule:: views.utils | |||||
| :members: | |||||
| .. automodule:: models.login | |||||
| :members: | |||||
| .. automodule:: models.project | |||||
| :members: | |||||
| .. automodule:: models.register | |||||
| :members: | |||||
| Indices and tables | Indices and tables | ||||
| ================== | ================== | ||||
| @@ -35,19 +35,69 @@ | |||||
| <h1 id="index">Index</h1> | <h1 id="index">Index</h1> | ||||
| <div class="genindex-jumpbox"> | <div class="genindex-jumpbox"> | ||||
| <a href="#G"><strong>G</strong></a> | |||||
| <a href="#C"><strong>C</strong></a> | |||||
| | <a href="#G"><strong>G</strong></a> | |||||
| | <a href="#I"><strong>I</strong></a> | | <a href="#I"><strong>I</strong></a> | ||||
| | <a href="#L"><strong>L</strong></a> | |||||
| | <a href="#M"><strong>M</strong></a> | |||||
| | <a href="#N"><strong>N</strong></a> | |||||
| | <a href="#O"><strong>O</strong></a> | |||||
| | <a href="#P"><strong>P</strong></a> | |||||
| | <a href="#R"><strong>R</strong></a> | |||||
| | <a href="#S"><strong>S</strong></a> | |||||
| | <a href="#V"><strong>V</strong></a> | | <a href="#V"><strong>V</strong></a> | ||||
| </div> | </div> | ||||
| <h2 id="C">C</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#views.new_project.New_project.compose_form">compose_form() (views.new_project.New_project method)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| </tr></table> | |||||
| <h2 id="G">G</h2> | <h2 id="G">G</h2> | ||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%; vertical-align: top;"><ul> | <td style="width: 33%; vertical-align: top;"><ul> | ||||
| <li><a href="index.html#views.index.Index.GET">GET() (views.index.Index method)</a> | <li><a href="index.html#views.index.Index.GET">GET() (views.index.Index method)</a> | ||||
| <ul> | |||||
| <li><a href="index.html#views.login.Login.GET">(views.login.Login method)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.logout.Logout.GET">(views.logout.Logout method)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.new_project.New_project.GET">(views.new_project.New_project method)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.open_projects.Open_projects.GET">(views.open_projects.Open_projects method)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.project.Project.GET">(views.project.Project method)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.register.Register.GET">(views.register.Register method)</a> | |||||
| </li> | |||||
| </ul></li> | |||||
| <li><a href="index.html#models.project.get_categories">get_categories() (in module models.project)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.utils.get_nav_bar">get_nav_bar() (in module views.utils)</a> | |||||
| </li> | </li> | ||||
| </ul></td> | </ul></td> | ||||
| <td style="width: 33%; vertical-align: top;"><ul> | <td style="width: 33%; vertical-align: top;"><ul> | ||||
| <li><a href="index.html#views.forms.get_new_project_form">get_new_project_form() (in module views.forms)</a> | |||||
| </li> | |||||
| <li><a href="index.html#models.project.get_project_by_id">get_project_by_id() (in module models.project)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.forms.get_project_form_elements">get_project_form_elements() (in module views.forms)</a> | |||||
| </li> | |||||
| <li><a href="index.html#models.project.get_projects_by_participant_and_status">get_projects_by_participant_and_status() (in module models.project)</a> | |||||
| </li> | |||||
| <li><a href="index.html#models.project.get_projects_by_status_and_category">get_projects_by_status_and_category() (in module models.project)</a> | |||||
| </li> | |||||
| <li><a href="index.html#models.project.get_projects_by_status_and_owner">get_projects_by_status_and_owner() (in module models.project)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.new_project.New_project.get_task_count">get_task_count() (views.new_project.New_project method)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.forms.get_task_form_elements">get_task_form_elements() (in module views.forms)</a> | <li><a href="index.html#views.forms.get_task_form_elements">get_task_form_elements() (in module views.forms)</a> | ||||
| </li> | |||||
| <li><a href="index.html#models.login.get_users">get_users() (in module models.login)</a> | |||||
| </li> | </li> | ||||
| </ul></td> | </ul></td> | ||||
| </tr></table> | </tr></table> | ||||
| @@ -60,10 +110,98 @@ | |||||
| </ul></td> | </ul></td> | ||||
| </tr></table> | </tr></table> | ||||
| <h2 id="L">L</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#views.login.Login">Login (class in views.login)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#views.logout.Logout">Logout (class in views.logout)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| </tr></table> | |||||
| <h2 id="M">M</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#models.login.match_user">match_user() (in module models.login)</a> | |||||
| </li> | |||||
| <li><a href="index.html#module-models.login">models.login (module)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#module-models.project">models.project (module)</a> | |||||
| </li> | |||||
| <li><a href="index.html#module-models.register">models.register (module)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| </tr></table> | |||||
| <h2 id="N">N</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#views.new_project.New_project">New_project (class in views.new_project)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| </tr></table> | |||||
| <h2 id="O">O</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#views.open_projects.Open_projects">Open_projects (class in views.open_projects)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| </tr></table> | |||||
| <h2 id="P">P</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#views.login.Login.POST">POST() (views.login.Login method)</a> | |||||
| <ul> | |||||
| <li><a href="index.html#views.new_project.New_project.POST">(views.new_project.New_project method)</a> | |||||
| </li> | |||||
| <li><a href="index.html#views.register.Register.POST">(views.register.Register method)</a> | |||||
| </li> | |||||
| </ul></li> | |||||
| </ul></td> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#views.project.Project">Project (class in views.project)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| </tr></table> | |||||
| <h2 id="R">R</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#views.register.Register">Register (class in views.register)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| </tr></table> | |||||
| <h2 id="S">S</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#models.project.set_project">set_project() (in module models.project)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#models.project.set_task">set_task() (in module models.project)</a> | |||||
| </li> | |||||
| <li><a href="index.html#models.register.set_user">set_user() (in module models.register)</a> | |||||
| </li> | |||||
| </ul></td> | |||||
| </tr></table> | |||||
| <h2 id="V">V</h2> | <h2 id="V">V</h2> | ||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%; vertical-align: top;"><ul> | <td style="width: 33%; vertical-align: top;"><ul> | ||||
| <li><a href="index.html#module-views.forms">views.forms (module)</a> | <li><a href="index.html#module-views.forms">views.forms (module)</a> | ||||
| </li> | |||||
| </ul></td> | |||||
| <td style="width: 33%; vertical-align: top;"><ul> | |||||
| <li><a href="index.html#module-views.utils">views.utils (module)</a> | |||||
| </li> | </li> | ||||
| </ul></td> | </ul></td> | ||||
| </tr></table> | </tr></table> | ||||
| @@ -53,11 +53,245 @@ determine which projects to show.</p> | |||||
| </dd></dl> | </dd></dl> | ||||
| <dl class="class"> | |||||
| <dt id="views.login.Login"> | |||||
| <em class="property">class </em><code class="sig-prename descclassname">views.login.</code><code class="sig-name descname">Login</code><a class="headerlink" href="#views.login.Login" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="method"> | |||||
| <dt id="views.login.Login.GET"> | |||||
| <code class="sig-name descname">GET</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#views.login.Login.GET" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Show the login page</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>The login page showing other users if logged in</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="method"> | |||||
| <dt id="views.login.Login.POST"> | |||||
| <code class="sig-name descname">POST</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#views.login.Login.POST" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="simple"> | |||||
| <dt>Log in to the web application and register the session</dt><dd><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>The login page showing other users if logged in</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd></dl> | |||||
| </dd></dl> | |||||
| <dl class="class"> | |||||
| <dt id="views.logout.Logout"> | |||||
| <em class="property">class </em><code class="sig-prename descclassname">views.logout.</code><code class="sig-name descname">Logout</code><a class="headerlink" href="#views.logout.Logout" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="method"> | |||||
| <dt id="views.logout.Logout.GET"> | |||||
| <code class="sig-name descname">GET</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#views.logout.Logout.GET" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="simple"> | |||||
| <dt>Log out of the application (kill session and reset variables)</dt><dd><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>Redirect to main page</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd></dl> | |||||
| </dd></dl> | |||||
| <dl class="class"> | |||||
| <dt id="views.new_project.New_project"> | |||||
| <em class="property">class </em><code class="sig-prename descclassname">views.new_project.</code><code class="sig-name descname">New_project</code><a class="headerlink" href="#views.new_project.New_project" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="method"> | |||||
| <dt id="views.new_project.New_project.GET"> | |||||
| <code class="sig-name descname">GET</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#views.new_project.New_project.GET" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Get the project registration form</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>New project page</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="method"> | |||||
| <dt id="views.new_project.New_project.POST"> | |||||
| <code class="sig-name descname">POST</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#views.new_project.New_project.POST" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Create a new project</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>Redirect to main page</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="method"> | |||||
| <dt id="views.new_project.New_project.compose_form"> | |||||
| <code class="sig-name descname">compose_form</code><span class="sig-paren">(</span><em class="sig-param">data</em>, <em class="sig-param">add</em><span class="sig-paren">)</span><a class="headerlink" href="#views.new_project.New_project.compose_form" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Compose a new project form by adding or removing a task</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">param data</dt> | |||||
| <dd class="field-odd"><p>The data object from web.input</p> | |||||
| </dd> | |||||
| <dt class="field-even">param add</dt> | |||||
| <dd class="field-even"><p>True or False</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type add</dt> | |||||
| <dd class="field-odd"><p>boolean</p> | |||||
| </dd> | |||||
| <dt class="field-even">return</dt> | |||||
| <dd class="field-even"><p>A complete project form object</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="method"> | |||||
| <dt id="views.new_project.New_project.get_task_count"> | |||||
| <code class="sig-name descname">get_task_count</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="headerlink" href="#views.new_project.New_project.get_task_count" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Determine the number of tasks created by removing | |||||
| the four other elements from count and divide by the | |||||
| number of variables in one task.</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">param data</dt> | |||||
| <dd class="field-odd"><p>The data object from web.input</p> | |||||
| </dd> | |||||
| <dt class="field-even">return</dt> | |||||
| <dd class="field-even"><p>The number of tasks opened by the client</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| </dd></dl> | |||||
| <dl class="class"> | |||||
| <dt id="views.open_projects.Open_projects"> | |||||
| <em class="property">class </em><code class="sig-prename descclassname">views.open_projects.</code><code class="sig-name descname">Open_projects</code><a class="headerlink" href="#views.open_projects.Open_projects" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="method"> | |||||
| <dt id="views.open_projects.Open_projects.GET"> | |||||
| <code class="sig-name descname">GET</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#views.open_projects.Open_projects.GET" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Get all open projects</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>A page containing all open projects</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| </dd></dl> | |||||
| <dl class="class"> | |||||
| <dt id="views.project.Project"> | |||||
| <em class="property">class </em><code class="sig-prename descclassname">views.project.</code><code class="sig-name descname">Project</code><a class="headerlink" href="#views.project.Project" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="method"> | |||||
| <dt id="views.project.Project.GET"> | |||||
| <code class="sig-name descname">GET</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#views.project.Project.GET" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Show info about a single project</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>Project info page</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| </dd></dl> | |||||
| <dl class="class"> | |||||
| <dt id="views.register.Register"> | |||||
| <em class="property">class </em><code class="sig-prename descclassname">views.register.</code><code class="sig-name descname">Register</code><a class="headerlink" href="#views.register.Register" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="method"> | |||||
| <dt id="views.register.Register.GET"> | |||||
| <code class="sig-name descname">GET</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#views.register.Register.GET" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Get the registration form</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>A page with the registration form</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="method"> | |||||
| <dt id="views.register.Register.POST"> | |||||
| <code class="sig-name descname">POST</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#views.register.Register.POST" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Register new user in database</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>Main page</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| </dd></dl> | |||||
| <span class="target" id="module-views.forms"></span><dl class="function"> | <span class="target" id="module-views.forms"></span><dl class="function"> | ||||
| <dt id="views.forms.get_new_project_form"> | |||||
| <code class="sig-prename descclassname">views.forms.</code><code class="sig-name descname">get_new_project_form</code><span class="sig-paren">(</span><em class="sig-param">elements</em><span class="sig-paren">)</span><a class="headerlink" href="#views.forms.get_new_project_form" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Combine a project form element and task elements to make a complete project form</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">param elemets</dt> | |||||
| <dd class="field-odd"><p>All the project and task form elements</p> | |||||
| </dd> | |||||
| <dt class="field-even">return</dt> | |||||
| <dd class="field-even"><p>The ready to use project form</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="function"> | |||||
| <dt id="views.forms.get_project_form_elements"> | |||||
| <code class="sig-prename descclassname">views.forms.</code><code class="sig-name descname">get_project_form_elements</code><span class="sig-paren">(</span><em class="sig-param">project_title=''</em>, <em class="sig-param">project_description=''</em>, <em class="sig-param">category_name=''</em><span class="sig-paren">)</span><a class="headerlink" href="#views.forms.get_project_form_elements" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="simple"> | |||||
| <dt>Generate a set of project form elements</dt><dd><dl class="field-list simple"> | |||||
| <dt class="field-odd">param project_title</dt> | |||||
| <dd class="field-odd"><p>Project title</p> | |||||
| </dd> | |||||
| <dt class="field-even">param project_description</dt> | |||||
| <dd class="field-even"><p>Project description</p> | |||||
| </dd> | |||||
| <dt class="field-odd">param category_name</dt> | |||||
| <dd class="field-odd"><p>Name of the belonging category</p> | |||||
| </dd> | |||||
| <dt class="field-even">type project_title</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type project_description</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type category_name</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>A set of project form elements</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd></dl> | |||||
| <dl class="function"> | |||||
| <dt id="views.forms.get_task_form_elements"> | <dt id="views.forms.get_task_form_elements"> | ||||
| <code class="sig-prename descclassname">views.forms.</code><code class="sig-name descname">get_task_form_elements</code><span class="sig-paren">(</span><em class="sig-param">identifier=0</em>, <em class="sig-param">task_title=''</em>, <em class="sig-param">task_description=''</em>, <em class="sig-param">budget=''</em><span class="sig-paren">)</span><a class="headerlink" href="#views.forms.get_task_form_elements" title="Permalink to this definition">¶</a></dt> | <code class="sig-prename descclassname">views.forms.</code><code class="sig-name descname">get_task_form_elements</code><span class="sig-paren">(</span><em class="sig-param">identifier=0</em>, <em class="sig-param">task_title=''</em>, <em class="sig-param">task_description=''</em>, <em class="sig-param">budget=''</em><span class="sig-paren">)</span><a class="headerlink" href="#views.forms.get_task_form_elements" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><dl class="simple"> | <dd><dl class="simple"> | ||||
| <dt>Define the task form elements</dt><dd><dl class="field-list simple"> | |||||
| <dt>Generate a set of task form elements</dt><dd><dl class="field-list simple"> | |||||
| <dt class="field-odd">param identifier</dt> | <dt class="field-odd">param identifier</dt> | ||||
| <dd class="field-odd"><p>The id of the task</p> | <dd class="field-odd"><p>The id of the task</p> | ||||
| </dd> | </dd> | ||||
| @@ -90,6 +324,311 @@ determine which projects to show.</p> | |||||
| </dl> | </dl> | ||||
| </dd></dl> | </dd></dl> | ||||
| <span class="target" id="module-views.utils"></span><dl class="function"> | |||||
| <dt id="views.utils.get_nav_bar"> | |||||
| <code class="sig-prename descclassname">views.utils.</code><code class="sig-name descname">get_nav_bar</code><span class="sig-paren">(</span><em class="sig-param">session</em><span class="sig-paren">)</span><a class="headerlink" href="#views.utils.get_nav_bar" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Generates the page nav bar</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>The navigation bar HTML markup</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <span class="target" id="module-models.login"></span><dl class="function"> | |||||
| <dt id="models.login.get_users"> | |||||
| <code class="sig-prename descclassname">models.login.</code><code class="sig-name descname">get_users</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#models.login.get_users" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="simple"> | |||||
| <dt>Retreive all registrered users from the database</dt><dd><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>users</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd></dl> | |||||
| <dl class="function"> | |||||
| <dt id="models.login.match_user"> | |||||
| <code class="sig-prename descclassname">models.login.</code><code class="sig-name descname">match_user</code><span class="sig-paren">(</span><em class="sig-param">username</em>, <em class="sig-param">password</em><span class="sig-paren">)</span><a class="headerlink" href="#models.login.match_user" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Check if user credentials are correct, return if exists</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">param username</dt> | |||||
| <dd class="field-odd"><p>The user attempting to authenticate</p> | |||||
| </dd> | |||||
| <dt class="field-even">param password</dt> | |||||
| <dd class="field-even"><p>The corresponding password</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type username</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type password</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>user</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <span class="target" id="module-models.project"></span><dl class="function"> | |||||
| <dt id="models.project.get_categories"> | |||||
| <code class="sig-prename descclassname">models.project.</code><code class="sig-name descname">get_categories</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#models.project.get_categories" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Get all categories</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>List of categories</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="function"> | |||||
| <dt id="models.project.get_project_by_id"> | |||||
| <code class="sig-prename descclassname">models.project.</code><code class="sig-name descname">get_project_by_id</code><span class="sig-paren">(</span><em class="sig-param">projectid</em><span class="sig-paren">)</span><a class="headerlink" href="#models.project.get_project_by_id" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="simple"> | |||||
| <dt>Retrieve a project by its id</dt><dd><dl class="field-list simple"> | |||||
| <dt class="field-odd">param projectid</dt> | |||||
| <dd class="field-odd"><p>The project id</p> | |||||
| </dd> | |||||
| <dt class="field-even">type projectid</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>The selected project</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd></dl> | |||||
| <dl class="function"> | |||||
| <dt id="models.project.get_projects_by_participant_and_status"> | |||||
| <code class="sig-prename descclassname">models.project.</code><code class="sig-name descname">get_projects_by_participant_and_status</code><span class="sig-paren">(</span><em class="sig-param">userid</em>, <em class="sig-param">project_status</em><span class="sig-paren">)</span><a class="headerlink" href="#models.project.get_projects_by_participant_and_status" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Retrieve all projects where the user is a participant with specific status</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">param userid</dt> | |||||
| <dd class="field-odd"><p>The id of the participant</p> | |||||
| </dd> | |||||
| <dt class="field-even">param project_status</dt> | |||||
| <dd class="field-even"><p>The status to filter on</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type userid</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type project_status</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>A list of projects</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="function"> | |||||
| <dt id="models.project.get_projects_by_status_and_category"> | |||||
| <code class="sig-prename descclassname">models.project.</code><code class="sig-name descname">get_projects_by_status_and_category</code><span class="sig-paren">(</span><em class="sig-param">categoryid</em>, <em class="sig-param">project_status</em><span class="sig-paren">)</span><a class="headerlink" href="#models.project.get_projects_by_status_and_category" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Retrieve all projects from a category with a specific status</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">param catergoryid</dt> | |||||
| <dd class="field-odd"><p>The id of the category</p> | |||||
| </dd> | |||||
| <dt class="field-even">param project_status</dt> | |||||
| <dd class="field-even"><p>The status to filter on</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type catergoryid</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type project_status</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>A list of projects</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="function"> | |||||
| <dt id="models.project.get_projects_by_status_and_owner"> | |||||
| <code class="sig-prename descclassname">models.project.</code><code class="sig-name descname">get_projects_by_status_and_owner</code><span class="sig-paren">(</span><em class="sig-param">userid</em>, <em class="sig-param">project_status</em><span class="sig-paren">)</span><a class="headerlink" href="#models.project.get_projects_by_status_and_owner" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Retrieve all projects owned by a user with a specific status</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">param userid</dt> | |||||
| <dd class="field-odd"><p>The id of the owner</p> | |||||
| </dd> | |||||
| <dt class="field-even">param project_status</dt> | |||||
| <dd class="field-even"><p>The status to filter on</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type userid</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type project_status</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>A list of projects</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="function"> | |||||
| <dt id="models.project.set_project"> | |||||
| <code class="sig-prename descclassname">models.project.</code><code class="sig-name descname">set_project</code><span class="sig-paren">(</span><em class="sig-param">categoryid</em>, <em class="sig-param">userid</em>, <em class="sig-param">project_title</em>, <em class="sig-param">project_description</em>, <em class="sig-param">project_status</em><span class="sig-paren">)</span><a class="headerlink" href="#models.project.set_project" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Store a project in the database</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">param categoryid</dt> | |||||
| <dd class="field-odd"><p>The id of the corresponding category</p> | |||||
| </dd> | |||||
| <dt class="field-even">param userid</dt> | |||||
| <dd class="field-even"><p>The id of the project owner</p> | |||||
| </dd> | |||||
| <dt class="field-odd">param project_title</dt> | |||||
| <dd class="field-odd"><p>The title of the project</p> | |||||
| </dd> | |||||
| <dt class="field-even">param project_description</dt> | |||||
| <dd class="field-even"><p>The project description</p> | |||||
| </dd> | |||||
| <dt class="field-odd">param project_status</dt> | |||||
| <dd class="field-odd"><p>The status of the project</p> | |||||
| </dd> | |||||
| <dt class="field-even">type categoryid</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type userid</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type project_title</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type project_description</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type project_status</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">return</dt> | |||||
| <dd class="field-odd"><p>The id of the new project</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <dl class="function"> | |||||
| <dt id="models.project.set_task"> | |||||
| <code class="sig-prename descclassname">models.project.</code><code class="sig-name descname">set_task</code><span class="sig-paren">(</span><em class="sig-param">projectid</em>, <em class="sig-param">task_title</em>, <em class="sig-param">task_description</em>, <em class="sig-param">budget</em><span class="sig-paren">)</span><a class="headerlink" href="#models.project.set_task" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Create a task</p> | |||||
| <blockquote> | |||||
| <div><dl class="field-list simple"> | |||||
| <dt class="field-odd">param projectid</dt> | |||||
| <dd class="field-odd"><p>The corresponding project id</p> | |||||
| </dd> | |||||
| <dt class="field-even">param task_title</dt> | |||||
| <dd class="field-even"><p>The title of the task</p> | |||||
| </dd> | |||||
| <dt class="field-odd">param task_description</dt> | |||||
| <dd class="field-odd"><p>The description of the task</p> | |||||
| </dd> | |||||
| <dt class="field-even">param budget</dt> | |||||
| <dd class="field-even"><p>The task budget</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type projectid</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type task_title</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type task_description</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type budget</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </div></blockquote> | |||||
| </dd></dl> | |||||
| <span class="target" id="module-models.register"></span><dl class="function"> | |||||
| <dt id="models.register.set_user"> | |||||
| <code class="sig-prename descclassname">models.register.</code><code class="sig-name descname">set_user</code><span class="sig-paren">(</span><em class="sig-param">username</em>, <em class="sig-param">password</em>, <em class="sig-param">full_name</em>, <em class="sig-param">company</em>, <em class="sig-param">phone_number</em>, <em class="sig-param">street_address</em>, <em class="sig-param">city</em>, <em class="sig-param">state</em>, <em class="sig-param">postal_code</em>, <em class="sig-param">country</em><span class="sig-paren">)</span><a class="headerlink" href="#models.register.set_user" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><dl class="simple"> | |||||
| <dt>Register a new user in the database</dt><dd><dl class="field-list simple"> | |||||
| <dt class="field-odd">param username</dt> | |||||
| <dd class="field-odd"><p>The users unique user name</p> | |||||
| </dd> | |||||
| <dt class="field-even">param password</dt> | |||||
| <dd class="field-even"><p>The password</p> | |||||
| </dd> | |||||
| <dt class="field-odd">param full_name</dt> | |||||
| <dd class="field-odd"><p>The users full name</p> | |||||
| </dd> | |||||
| <dt class="field-even">param company</dt> | |||||
| <dd class="field-even"><p>The company the user represents</p> | |||||
| </dd> | |||||
| <dt class="field-odd">param phone_number</dt> | |||||
| <dd class="field-odd"><p>The phone number of the user</p> | |||||
| </dd> | |||||
| <dt class="field-even">param street_address</dt> | |||||
| <dd class="field-even"><p>The street address of the user</p> | |||||
| </dd> | |||||
| <dt class="field-odd">param city</dt> | |||||
| <dd class="field-odd"><p>The city where the user lives</p> | |||||
| </dd> | |||||
| <dt class="field-even">param state</dt> | |||||
| <dd class="field-even"><p>The state where the user lives</p> | |||||
| </dd> | |||||
| <dt class="field-odd">param postal_code</dt> | |||||
| <dd class="field-odd"><p>The corresponding postal code</p> | |||||
| </dd> | |||||
| <dt class="field-even">param country</dt> | |||||
| <dd class="field-even"><p>The users country</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type username</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type password</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type full_name</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type company</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type phone_number</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type street_address</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type city</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type state</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-odd">type postal_code</dt> | |||||
| <dd class="field-odd"><p>str</p> | |||||
| </dd> | |||||
| <dt class="field-even">type country</dt> | |||||
| <dd class="field-even"><p>str</p> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd> | |||||
| </dl> | |||||
| </dd></dl> | |||||
| </div> | </div> | ||||
| <div class="section" id="indices-and-tables"> | <div class="section" id="indices-and-tables"> | ||||
| <h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h1> | <h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h1> | ||||
| @@ -37,24 +37,54 @@ | |||||
| <h1>Python Module Index</h1> | <h1>Python Module Index</h1> | ||||
| <div class="modindex-jumpbox"> | <div class="modindex-jumpbox"> | ||||
| <a href="#cap-m"><strong>m</strong></a> | | |||||
| <a href="#cap-v"><strong>v</strong></a> | <a href="#cap-v"><strong>v</strong></a> | ||||
| </div> | </div> | ||||
| <table class="indextable modindextable"> | <table class="indextable modindextable"> | ||||
| <tr class="pcap"><td></td><td> </td><td></td></tr> | <tr class="pcap"><td></td><td> </td><td></td></tr> | ||||
| <tr class="cap" id="cap-m"><td></td><td> | |||||
| <strong>m</strong></td><td></td></tr> | |||||
| <tr> | |||||
| <td><img src="_static/minus.png" class="toggler" | |||||
| id="toggle-1" style="display: none" alt="-" /></td> | |||||
| <td> | |||||
| <code class="xref">models</code></td><td> | |||||
| <em></em></td></tr> | |||||
| <tr class="cg-1"> | |||||
| <td></td> | |||||
| <td>    | |||||
| <a href="index.html#module-models.login"><code class="xref">models.login</code></a></td><td> | |||||
| <em></em></td></tr> | |||||
| <tr class="cg-1"> | |||||
| <td></td> | |||||
| <td>    | |||||
| <a href="index.html#module-models.project"><code class="xref">models.project</code></a></td><td> | |||||
| <em></em></td></tr> | |||||
| <tr class="cg-1"> | |||||
| <td></td> | |||||
| <td>    | |||||
| <a href="index.html#module-models.register"><code class="xref">models.register</code></a></td><td> | |||||
| <em></em></td></tr> | |||||
| <tr class="pcap"><td></td><td> </td><td></td></tr> | |||||
| <tr class="cap" id="cap-v"><td></td><td> | <tr class="cap" id="cap-v"><td></td><td> | ||||
| <strong>v</strong></td><td></td></tr> | <strong>v</strong></td><td></td></tr> | ||||
| <tr> | <tr> | ||||
| <td><img src="_static/minus.png" class="toggler" | <td><img src="_static/minus.png" class="toggler" | ||||
| id="toggle-1" style="display: none" alt="-" /></td> | |||||
| id="toggle-2" style="display: none" alt="-" /></td> | |||||
| <td> | <td> | ||||
| <code class="xref">views</code></td><td> | <code class="xref">views</code></td><td> | ||||
| <em></em></td></tr> | <em></em></td></tr> | ||||
| <tr class="cg-1"> | |||||
| <tr class="cg-2"> | |||||
| <td></td> | <td></td> | ||||
| <td>    | <td>    | ||||
| <a href="index.html#module-views.forms"><code class="xref">views.forms</code></a></td><td> | <a href="index.html#module-views.forms"><code class="xref">views.forms</code></a></td><td> | ||||
| <em></em></td></tr> | <em></em></td></tr> | ||||
| <tr class="cg-2"> | |||||
| <td></td> | |||||
| <td>    | |||||
| <a href="index.html#module-views.utils"><code class="xref">views.utils</code></a></td><td> | |||||
| <em></em></td></tr> | |||||
| </table> | </table> | ||||
| @@ -1 +1 @@ | |||||
| Search.setIndex({docnames:["index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst"],objects:{"views.forms":{get_task_form_elements:[0,1,1,""]},"views.index":{Index:[0,2,1,""]},"views.index.Index":{GET:[0,3,1,""]},views:{forms:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"class":0,"int":0,"return":0,The:0,budget:0,defin:0,descript:0,determin:0,element:0,form:0,get:0,get_task_form_el:0,identifi:0,index:0,input:0,main:0,modul:0,page:0,param:0,project:0,search:0,self:[],set:0,show:0,str:0,task:0,task_descript:0,task_titl:0,titl:0,type:0,url:0,using:0,variabl:0,view:0,which:0},titles:["Welcome to beelance2\u2019s documentation!"],titleterms:{beelance2:0,document:0,indic:0,tabl:0,welcom:0}}) | |||||
| Search.setIndex({docnames:["index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst"],objects:{"models.login":{get_users:[0,1,1,""],match_user:[0,1,1,""]},"models.project":{get_categories:[0,1,1,""],get_project_by_id:[0,1,1,""],get_projects_by_participant_and_status:[0,1,1,""],get_projects_by_status_and_category:[0,1,1,""],get_projects_by_status_and_owner:[0,1,1,""],set_project:[0,1,1,""],set_task:[0,1,1,""]},"models.register":{set_user:[0,1,1,""]},"views.forms":{get_new_project_form:[0,1,1,""],get_project_form_elements:[0,1,1,""],get_task_form_elements:[0,1,1,""]},"views.index":{Index:[0,2,1,""]},"views.index.Index":{GET:[0,3,1,""]},"views.login":{Login:[0,2,1,""]},"views.login.Login":{GET:[0,3,1,""],POST:[0,3,1,""]},"views.logout":{Logout:[0,2,1,""]},"views.logout.Logout":{GET:[0,3,1,""]},"views.new_project":{New_project:[0,2,1,""]},"views.new_project.New_project":{GET:[0,3,1,""],POST:[0,3,1,""],compose_form:[0,3,1,""],get_task_count:[0,3,1,""]},"views.open_projects":{Open_projects:[0,2,1,""]},"views.open_projects.Open_projects":{GET:[0,3,1,""]},"views.project":{Project:[0,2,1,""]},"views.project.Project":{GET:[0,3,1,""]},"views.register":{Register:[0,2,1,""]},"views.register.Register":{GET:[0,3,1,""],POST:[0,3,1,""]},"views.utils":{get_nav_bar:[0,1,1,""]},models:{login:[0,0,0,"-"],project:[0,0,0,"-"],register:[0,0,0,"-"]},views:{forms:[0,0,0,"-"],utils:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"boolean":0,"class":0,"int":0,"new":0,"return":0,"true":0,The:0,about:0,add:0,adding:0,address:0,all:0,applic:0,attempt:0,authent:0,bar:0,belong:0,budget:0,categori:0,category_nam:0,categoryid:0,catergoryid:0,check:0,citi:0,client:0,code:0,combin:0,compani:0,complet:0,compos:0,compose_form:0,contain:0,correct:0,correspond:0,count:0,countri:0,creat:0,credenti:0,data:0,databas:0,defin:[],descript:0,determin:0,divid:0,element:0,elemet:0,exist:0,fals:0,filter:0,form:0,four:0,from:0,full:0,full_nam:0,gener:0,get:0,get_categori:0,get_nav_bar:0,get_new_project_form:0,get_project_by_id:0,get_project_form_el:0,get_projects_by_participant_and_statu:0,get_projects_by_status_and_categori:0,get_projects_by_status_and_own:0,get_task_count:0,get_task_form_el:0,get_us:0,html:0,identifi:0,index:0,info:0,input:0,its:0,kill:0,list:0,live:0,log:0,login:0,logout:0,main:0,make:0,markup:0,match_us:0,model:0,modul:0,name:0,nav:0,navig:0,new_project:0,number:0,object:0,one:0,open:0,open_project:0,other:0,out:0,own:0,owner:0,page:0,param:0,particip:0,password:0,phone:0,phone_numb:0,post:0,postal:0,postal_cod:0,project:0,project_descript:0,project_statu:0,project_titl:0,projectid:0,readi:0,redirect:0,regist:0,registr:0,remov:0,repres:0,reset:0,retreiv:0,retriev:0,search:0,select:0,self:[],session:0,set:0,set_project:0,set_task:0,set_us:0,show:0,singl:0,specif:0,state:0,statu:0,store:0,str:0,street:0,street_address:0,task:0,task_descript:0,task_titl:0,titl:0,type:0,uniqu:0,url:0,use:0,user:0,userid:0,usernam:0,using:0,util:0,variabl:0,view:0,web:0,where:0,which:0},titles:["Welcome to beelance2\u2019s documentation!"],titleterms:{beelance2:0,document:0,indic:0,tabl:0,welcom:0}}) | |||||
| @@ -13,9 +13,44 @@ Welcome to beelance2's documentation! | |||||
| .. autoclass:: views.index.Index | .. autoclass:: views.index.Index | ||||
| :members: | :members: | ||||
| .. autoclass:: views.login.Login | |||||
| :members: | |||||
| .. autoclass:: views.logout.Logout | |||||
| :members: | |||||
| .. autoclass:: views.new_project.New_project | |||||
| :members: | |||||
| .. autoclass:: views.open_projects.Open_projects | |||||
| :members: | |||||
| .. autoclass:: views.project.Project | |||||
| :members: | |||||
| .. autoclass:: views.register.Register | |||||
| :members: | |||||
| .. automodule:: views.forms | .. automodule:: views.forms | ||||
| :members: | :members: | ||||
| .. automodule:: views.utils | |||||
| :members: | |||||
| .. automodule:: models.login | |||||
| :members: | |||||
| .. automodule:: models.project | |||||
| :members: | |||||
| .. automodule:: models.register | |||||
| :members: | |||||
| Indices and tables | Indices and tables | ||||
| ================== | ================== | ||||
| @@ -1,6 +1,10 @@ | |||||
| from models.database import db | from models.database import db | ||||
| def get_users(): | def get_users(): | ||||
| """ | |||||
| Retreive all registrered users from the database | |||||
| :return: users | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("SELECT userid, username from users") | query = ("SELECT userid, username from users") | ||||
| cursor.execute(query) | cursor.execute(query) | ||||
| @@ -9,6 +13,15 @@ def get_users(): | |||||
| return users | return users | ||||
| def match_user(username, password): | def match_user(username, password): | ||||
| """ | |||||
| Check if user credentials are correct, return if exists | |||||
| :param username: The user attempting to authenticate | |||||
| :param password: The corresponding password | |||||
| :type username: str | |||||
| :type password: str | |||||
| :return: user | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("SELECT userid, username from users where username = \"" + username + | query = ("SELECT userid, username from users where username = \"" + username + | ||||
| "\" and password = \"" + password + "\"") | "\" and password = \"" + password + "\"") | ||||
| @@ -1,6 +1,11 @@ | |||||
| from models.database import db | from models.database import db | ||||
| def get_categories(): | def get_categories(): | ||||
| """ | |||||
| Get all categories | |||||
| :return: List of categories | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("SELECT * FROM project_category") | query = ("SELECT * FROM project_category") | ||||
| cursor.execute(query) | cursor.execute(query) | ||||
| @@ -9,6 +14,21 @@ def get_categories(): | |||||
| return categories | return categories | ||||
| def set_project(categoryid, userid, project_title, project_description, project_status): | def set_project(categoryid, userid, project_title, project_description, project_status): | ||||
| """ | |||||
| Store a project in the database | |||||
| :param categoryid: The id of the corresponding category | |||||
| :param userid: The id of the project owner | |||||
| :param project_title: The title of the project | |||||
| :param project_description: The project description | |||||
| :param project_status: The status of the project | |||||
| :type categoryid: str | |||||
| :type userid: str | |||||
| :type project_title: str | |||||
| :type project_description: str | |||||
| :type project_status: str | |||||
| :return: The id of the new project | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("INSERT INTO projects VALUES (NULL, \"" + | query = ("INSERT INTO projects VALUES (NULL, \"" + | ||||
| categoryid + "\", \"" + userid + "\", \"" + project_title + "\", \"" + | categoryid + "\", \"" + userid + "\", \"" + project_title + "\", \"" + | ||||
| @@ -20,6 +40,12 @@ def set_project(categoryid, userid, project_title, project_description, project_ | |||||
| return projectid | return projectid | ||||
| def get_project_by_id(projectid): | def get_project_by_id(projectid): | ||||
| """ | |||||
| Retrieve a project by its id | |||||
| :param projectid: The project id | |||||
| :type projectid: str | |||||
| :return: The selected project | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("SELECT * FROM projects WHERE projectid = \"" + | query = ("SELECT * FROM projects WHERE projectid = \"" + | ||||
| projectid + "\"") | projectid + "\"") | ||||
| @@ -28,6 +54,15 @@ def get_project_by_id(projectid): | |||||
| return project | return project | ||||
| def get_projects_by_status_and_category(categoryid, project_status): | def get_projects_by_status_and_category(categoryid, project_status): | ||||
| """ | |||||
| Retrieve all projects from a category with a specific status | |||||
| :param catergoryid: The id of the category | |||||
| :param project_status: The status to filter on | |||||
| :type catergoryid: str | |||||
| :type project_status: str | |||||
| :return: A list of projects | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("SELECT * FROM projects WHERE project_status = \"" + | query = ("SELECT * FROM projects WHERE project_status = \"" + | ||||
| project_status + "\" AND categoryid = \"" + categoryid + "\"") | project_status + "\" AND categoryid = \"" + categoryid + "\"") | ||||
| @@ -36,6 +71,15 @@ def get_projects_by_status_and_category(categoryid, project_status): | |||||
| return projects | return projects | ||||
| def get_projects_by_status_and_owner(userid, project_status): | def get_projects_by_status_and_owner(userid, project_status): | ||||
| """ | |||||
| Retrieve all projects owned by a user with a specific status | |||||
| :param userid: The id of the owner | |||||
| :param project_status: The status to filter on | |||||
| :type userid: str | |||||
| :type project_status: str | |||||
| :return: A list of projects | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("SELECT * FROM projects WHERE project_status = \"" + | query = ("SELECT * FROM projects WHERE project_status = \"" + | ||||
| project_status + "\" AND userid = \"" + userid + "\"") | project_status + "\" AND userid = \"" + userid + "\"") | ||||
| @@ -44,6 +88,15 @@ def get_projects_by_status_and_owner(userid, project_status): | |||||
| return projects | return projects | ||||
| def get_projects_by_participant_and_status(userid, project_status): | def get_projects_by_participant_and_status(userid, project_status): | ||||
| """ | |||||
| Retrieve all projects where the user is a participant with specific status | |||||
| :param userid: The id of the participant | |||||
| :param project_status: The status to filter on | |||||
| :type userid: str | |||||
| :type project_status: str | |||||
| :return: A list of projects | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("SELECT * FROM projects, projects_users WHERE projects.project_status = \"" + | query = ("SELECT * FROM projects, projects_users WHERE projects.project_status = \"" + | ||||
| project_status + "\" AND projects_users.userid = \"" + userid + | project_status + "\" AND projects_users.userid = \"" + userid + | ||||
| @@ -53,10 +106,23 @@ def get_projects_by_participant_and_status(userid, project_status): | |||||
| return projects | return projects | ||||
| def set_task(projectid, task_title, task_description, budget): | def set_task(projectid, task_title, task_description, budget): | ||||
| """ | |||||
| Create a task | |||||
| :param projectid: The corresponding project id | |||||
| :param task_title: The title of the task | |||||
| :param task_description: The description of the task | |||||
| :param budget: The task budget | |||||
| :type projectid: str | |||||
| :type task_title: str | |||||
| :type task_description: str | |||||
| :type budget: str | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("INSERT INTO tasks (projectid, title, task_description, budget, task_status) VALUES (\"" + | query = ("INSERT INTO tasks (projectid, title, task_description, budget, task_status) VALUES (\"" + | ||||
| projectid + "\", \"" + task_title + "\", \"" + | projectid + "\", \"" + task_title + "\", \"" + | ||||
| task_description + "\", \"" + budget + "\", \"waiting for delivery\")") | task_description + "\", \"" + budget + "\", \"waiting for delivery\")") | ||||
| cursor.execute(query) | cursor.execute(query) | ||||
| db.commit() | db.commit() | ||||
| cursor.close | |||||
| @@ -2,6 +2,29 @@ from models.database import db | |||||
| def set_user(username, password, full_name, company, phone_number, | def set_user(username, password, full_name, company, phone_number, | ||||
| street_address, city, state, postal_code, country): | street_address, city, state, postal_code, country): | ||||
| """ | |||||
| Register a new user in the database | |||||
| :param username: The users unique user name | |||||
| :param password: The password | |||||
| :param full_name: The users full name | |||||
| :param company: The company the user represents | |||||
| :param phone_number: The phone number of the user | |||||
| :param street_address: The street address of the user | |||||
| :param city: The city where the user lives | |||||
| :param state: The state where the user lives | |||||
| :param postal_code: The corresponding postal code | |||||
| :param country: The users country | |||||
| :type username: str | |||||
| :type password: str | |||||
| :type full_name: str | |||||
| :type company: str | |||||
| :type phone_number: str | |||||
| :type street_address: str | |||||
| :type city: str | |||||
| :type state: str | |||||
| :type postal_code: str | |||||
| :type country: str | |||||
| """ | |||||
| cursor = db.cursor() | cursor = db.cursor() | ||||
| query = ("INSERT INTO users VALUES (NULL, \"" + username + "\", \"" + | query = ("INSERT INTO users VALUES (NULL, \"" + username + "\", \"" + | ||||
| password + "\", \"" + full_name + "\" , \"" + company + "\", \"" + | password + "\", \"" + full_name + "\" , \"" + company + "\", \"" + | ||||
| @@ -37,7 +37,6 @@ class New_project: | |||||
| # Add a set of task fields to the form | # Add a set of task fields to the form | ||||
| if data["Add Task"]: | if data["Add Task"]: | ||||
| project_form = self.compose_form(data, True) | project_form = self.compose_form(data, True) | ||||
| print("add task") | |||||
| return render.new_project(nav, project_form) | return render.new_project(nav, project_form) | ||||
| except Exception as e: | except Exception as e: | ||||
| try: | try: | ||||
| @@ -49,12 +48,9 @@ class New_project: | |||||
| try: | try: | ||||
| # Post the form data and save the project in the database | # Post the form data and save the project in the database | ||||
| if data["Create Project"]: | if data["Create Project"]: | ||||
| print("Create project") | |||||
| projectid = models.project.set_project(data.category_name, str(session.userid), | projectid = models.project.set_project(data.category_name, str(session.userid), | ||||
| data.project_title, data.project_description, "open") | data.project_title, data.project_description, "open") | ||||
| print("id:", projectid) | |||||
| task_count = self.get_task_count(data) | task_count = self.get_task_count(data) | ||||
| print(task_count) | |||||
| # Save the tasks in the database | # Save the tasks in the database | ||||
| for i in range(0, task_count): | for i in range(0, task_count): | ||||
| models.project.set_task(str(projectid), (data["task_title_" + str(i)]), | models.project.set_task(str(projectid), (data["task_title_" + str(i)]), | ||||
| @@ -64,19 +60,26 @@ class New_project: | |||||
| raise e | raise e | ||||
| def get_task_count(self, data): | def get_task_count(self, data): | ||||
| task_count = 0 | |||||
| # Remove the four other elements from count and divide by the number of variables in one task. | |||||
| """ | |||||
| Determine the number of tasks created by removing | |||||
| the four other elements from count and divide by the | |||||
| number of variables in one task. | |||||
| :param data: The data object from web.input | |||||
| :return: The number of tasks opened by the client | |||||
| """ | |||||
| task_count = int((len(data) - 4) / 3) | task_count = int((len(data) - 4) / 3) | ||||
| """while True: | |||||
| try: | |||||
| if data["task_title_"+str(task_count)] or data["task_description_"+str(task_count)] or data["task_budget_"+str(task_count)]: | |||||
| task_count += 1 | |||||
| except Exception as e: | |||||
| pass | |||||
| break""" | |||||
| return task_count | return task_count | ||||
| def compose_form(self, data, add): | def compose_form(self, data, add): | ||||
| """ | |||||
| Compose a new project form by adding or removing a task | |||||
| :param data: The data object from web.input | |||||
| :param add: True or False | |||||
| :type add: boolean | |||||
| :return: A complete project form object | |||||
| """ | |||||
| task_count = self.get_task_count(data) | task_count = self.get_task_count(data) | ||||
| # A task is either added or removed | # A task is either added or removed | ||||
| if not add and task_count >= 1: | if not add and task_count >= 1: | ||||
| @@ -7,8 +7,12 @@ render = web.template.render('templates/') | |||||
| class Open_projects: | class Open_projects: | ||||
| # Get projects | |||||
| def GET(self): | def GET(self): | ||||
| """ | |||||
| Get all open projects | |||||
| :return: A page containing all open projects | |||||
| """ | |||||
| session = web.ctx.session | session = web.ctx.session | ||||
| data = web.input(categoryid=0) | data = web.input(categoryid=0) | ||||
| open_projects=[] | open_projects=[] | ||||
| @@ -8,8 +8,13 @@ render = web.template.render('templates/') | |||||
| class Project: | class Project: | ||||
| # Get main page | |||||
| def GET(self): | def GET(self): | ||||
| """ | |||||
| Show info about a single project | |||||
| :return: Project info page | |||||
| """ | |||||
| # Get session | # Get session | ||||
| session = web.ctx.session | session = web.ctx.session | ||||
| # Get navbar | # Get navbar | ||||
| @@ -9,14 +9,22 @@ render = web.template.render('templates/') | |||||
| class Register: | class Register: | ||||
| # Get the registration form | |||||
| def GET(self): | def GET(self): | ||||
| """ | |||||
| Get the registration form | |||||
| :return: A page with the registration form | |||||
| """ | |||||
| session = web.ctx.session | session = web.ctx.session | ||||
| nav = get_nav_bar(session) | nav = get_nav_bar(session) | ||||
| return render.register(nav, register_form) | return render.register(nav, register_form) | ||||
| # Register new user in database | |||||
| def POST(self): | def POST(self): | ||||
| """ | |||||
| Register new user in database | |||||
| :return: Main page | |||||
| """ | |||||
| data = web.input() | data = web.input() | ||||
| models.register.set_user(data.username, data.password, | models.register.set_user(data.username, data.password, | ||||
| data.full_name, data.company, data.phone_number, data.street_address, | data.full_name, data.company, data.phone_number, data.street_address, | ||||
| @@ -1,5 +1,10 @@ | |||||
| def get_nav_bar(session): | def get_nav_bar(session): | ||||
| """ | |||||
| Generates the page nav bar | |||||
| :return: The navigation bar HTML markup | |||||
| """ | |||||
| result = '<nav>' | result = '<nav>' | ||||
| result += ' <ul>' | result += ' <ul>' | ||||
| result += ' <li><h1 id="title">Beelance2</h1></li>' | result += ' <li><h1 id="title">Beelance2</h1></li>' | ||||