apps.ecidadania.proposals — Proposals

proposals.admin — Administration

The proposal administration allows to edit every proposal made in the system.

class apps.ecidadania.proposals.admin.ProposalAdmin(admin.ModelAdmin)

Basic proposal administration interface since most of the work is done in the website.

List display:title, author, tags
Search :none:

proposals.models — Data models

Proposal data models are the ones to store the data inside the DB.

class apps.ecidadania.proposals.models.Category(BaseClass)

Dummy class for proposal categories. Inherits directly from BaseClass without adding any fields.

class apps.ecidadania.proposals.models.Proposal(models.Model)

Proposal data model. This will store the user proposal in a similar way that Stackoverflow does. Take in mind that this data model is very exhaustive because it covers the administrator and the user.

Automatically filled fields:
 Space, Author, Pub_date, mod_date.
User filled fields:
 Title, Description, Tags, Latitude, Longitude.
Admin fields (manual):
 Code, Closed, Close_reason, Anon_allowed, Refurbished, Budget.
Admin fields (auto):
 Closed_by
Extra permissions:
 proposal_view

CLOSE_REASONS for :class:Proposal data model is hardcoded with four values, which will fit most of the requirements.

proposals.forms — Forms

Proposal forms.

class apps.ecidadania.proposals.forms.ProposalForm(ModelForm)

ProposalForm is a basic form autogenerated form for Proposal model.

proposals.views — Views

Proposal module views.

class apps.ecidadania.proposals.views.ListProposals(ListView)

List all proposals stored whithin a space. Inherits from django ListView generic view.

Return type:Object list
Context :proposal
class apps.ecidadania.proposals.views.ViewProposal(DetailView)

Detail view of a proposal. Inherits from django DetailView generic view.

Return type:object
Context :proposal
class apps.ecidadania.proposals.views.DeleteProposal(DeleteView)

Delete a proposal.

Return type:Confirmation
Context :get_place
class apps.ecidadania.proposals.views.AddProposal(FormView)

Create a new proposal.

Parameters :space_name
Return type:HTML Form
Context :form, get_place
class apps.ecidadania.proposals.views.EditProposal(UpdateView)

The proposal can be edited by space and global admins, but also by their creator.

Return type:HTML Form
Context :get_place
Parameters :space_name, prop_id