beaver_manager package¶
Beaver Management app using flask
-
beaver_manager.db¶ SQLAlchemy– SQLAlchemy databse instance
Submodules¶
beaver_manager.decorators module¶
beaver_manager.email module¶
Module to control email
beaver_manager.forms module¶
-
class
beaver_manager.forms.MultiCheckboxField(label=None, validators=None, coerce=<class 'str'>, choices=None, **kwargs)[source]¶ Bases:
wtforms.fields.core.SelectMultipleFieldA multiple-select, except displays a list of checkboxes.
Iterating the field will produce subfields, allowing custom rendering of the enclosed checkbox fields.
beaver_manager.models module¶
This module contains SQLAlchemy model definitions to create SQL tables
-
class
beaver_manager.models.Attendance(**kwargs)[source]¶ Bases:
flask_sqlalchemy.ModelA model for a meeting. Linked to a
Criterionto allow automatic completetion of badges. If beaver was present for the meeting then the criterion is completed.-
id¶ int – Unique Primary Key.
-
date¶ DateTime – Date of meeting
-
description¶ str – Brief description of evening
-
organiser¶ str – Name of organiser for that meeting
-
-
class
beaver_manager.models.Badge(**kwargs)[source]¶ Bases:
flask_sqlalchemy.ModelModel for a Badge
-
id¶ int – Unique Primary Key.
-
name¶ str – Name of the badge
-
img_url¶ str – URL for the badge image
-
beavers_badges¶ list[
BeaverBadge] – A list of beavers_badges asscociated with the lodge
-
-
class
beaver_manager.models.BadgeCriterion(criterion_id, badge_id, completed)[source]¶ Bases:
flask_sqlalchemy.ModelModel for a BadgeCriterion. Acts as an intermediary between
BeaverBadgeandCriterionParameters: - criterion_id (int) – Foreign key for
Criterion - badge_id (int) – Foreign key for
BeaverBadge - completed (bool) – Represents whether the criterion has been completed or not
-
id¶ int – Unique Primary Key.
-
badge¶ BeaverBadge– Provides a link to theBeaverBadgethat criterion is asscociated with
-
description¶ str – Desription of criterion
- criterion_id (int) – Foreign key for
-
class
beaver_manager.models.Beaver(**kwargs)[source]¶ Bases:
flask_sqlalchemy.ModelModel for a beaver
-
id¶ int – Unique Primary Key.
-
first_name¶ str – The beaver’s first name
-
surname¶ str – The beaver’s surname
-
dob¶ DateTime – The beaver’s date of birth
-
contacts¶ list[
EmergencyContact] – A list ofEmergencyContactobjects associated with the beaver
-
badges¶ list[
BeaverBadge] – A list ofBeaverBadgeassociated with the beaver
-
beaver_attendances¶ list[
BeaverAttendance] – A list ofBeaverAttendanceobjects associated with the beaver
-
-
class
beaver_manager.models.BeaverAttendance(attendance_id, beaver_id, present)[source]¶ Bases:
flask_sqlalchemy.ModelModel for a BeaverAttendance. Acts as an intermediary between
BeaverandAttendanceParameters: - attendance_id (int) – Foreign key for
Attendance - beaver_id (int) – Foreign key for
Beaver - present (bool) – Represents whether the beaver was been presesnt or not
-
id¶ int – Unique Primary Key.
-
attendance¶ Attendance– Provides a link to theAttendancethat BeaverAttendance is asscociated with
- attendance_id (int) – Foreign key for
-
class
beaver_manager.models.BeaverBadge(beaver_id, badge_id, completed)[source]¶ Bases:
flask_sqlalchemy.ModelModel for a BeaverBadge. Acts as an intermediary between
BeaverandBadgeParameters: -
id¶ int – Unique Primary Key.
-
-
class
beaver_manager.models.BeaverTrip(beaver_id, trip_id, permission, paid)[source]¶ Bases:
flask_sqlalchemy.ModelModel for a BeaverTrip. Acts as intermediary between
BeaverandTripParameters: -
id¶ int – Unique Primary Key.
-
-
class
beaver_manager.models.Criterion(**kwargs)[source]¶ Bases:
flask_sqlalchemy.ModelModel for a Criterion.
-
id¶ int – Unique Primary Key.
-
description¶ str – Desription of criterion
-
-
class
beaver_manager.models.EmergencyContact(**kwargs)[source]¶ Bases:
flask_sqlalchemy.ModelModel for an Emergency contact
-
id¶ int – Unique Primary Key.
-
linked to the contact
-
first_name¶ str – The contact’s first name
-
surname¶ str – The contact’s surname
-
email¶ str – The contact’s email
-
phone_number¶ str – The contact’s phone number
-
address_line1¶ str – The contact’s first address line
-
address_line2¶ str – The contact’s first second address line
-
town¶ str – The town in which the Contact lives
-
county¶ str – The county in which the Contact lives
-
postcode¶ str – The contact’s postcode
-
-
class
beaver_manager.models.Lodge(**kwargs)[source]¶ Bases:
flask_sqlalchemy.ModelModel for a Lodge (group of beavers)
-
id¶ int – Unique Primary Key.
-
name¶ str – Name of the lodge
-
-
class
beaver_manager.models.Trip(**kwargs)[source]¶ Bases:
flask_sqlalchemy.ModelA model for a Trip.
-
id¶ int – Unique Primary Key.
-
location¶ str – Place Name
-
cost¶ numeric – Cost of trip [Max Value of 99999.99]
-
date¶ DateTime – Date of trip
-
overnight¶ bool – Whether trip is overight
-
number_of_nights¶ int – Number of nights the trip is
-
beaver_manager.views module¶
This module contains the views for the app.
Using flasks route() function to route the
request it then executes the nesecerrary code return a rendered template at
the end.
-
class
beaver_manager.views.AttendanceModelView(model, session, name=None, category=None, endpoint=None, url=None, static_folder=None, menu_class_name=None, menu_icon_type=None, menu_icon_value=None)[source]¶ Bases:
flask_admin.contrib.sqla.view.ModelViewCustom view for Flask-Admin. Adds BeaverAttendance as an inline view
-
action_view()¶ Mass-model action view.
-
ajax_update()¶ Edits a single column of a record in list view.
-
create_view()¶ Create model view
-
delete_view()¶ Delete model view. Only POST method is allowed.
-
details_view()¶ Details model view
-
edit_view()¶ Edit model view
-
export_csv()¶ Export a CSV of records.
-
index_view()¶ List view
-
-
class
beaver_manager.views.BadgeModelView(model, session, name=None, category=None, endpoint=None, url=None, static_folder=None, menu_class_name=None, menu_icon_type=None, menu_icon_value=None)[source]¶ Bases:
flask_admin.contrib.sqla.view.ModelViewCustom view for Flask-Admin. Adds criterion as inline model and modifies update behaviour
-
action_view()¶ Mass-model action view.
-
ajax_update()¶ Edits a single column of a record in list view.
-
create_view()¶ Create model view
-
delete_view()¶ Delete model view. Only POST method is allowed.
-
details_view()¶ Details model view
-
edit_view()¶ Edit model view
-
export_csv()¶ Export a CSV of records.
-
index_view()¶ List view
-
-
class
beaver_manager.views.BeaverBadgeModelView(model, session, name=None, category=None, endpoint=None, url=None, static_folder=None, menu_class_name=None, menu_icon_type=None, menu_icon_value=None)[source]¶ Bases:
flask_admin.contrib.sqla.view.ModelViewOnly used for debugging. Custom view for Flask-Admin. Adds BadgeCriterion as an inline view
-
action_view()¶ Mass-model action view.
-
ajax_update()¶ Edits a single column of a record in list view.
-
create_view()¶ Create model view
-
delete_view()¶ Delete model view. Only POST method is allowed.
-
details_view()¶ Details model view
-
edit_view()¶ Edit model view
-
export_csv()¶ Export a CSV of records.
-
index_view()¶ List view
-
-
class
beaver_manager.views.BeaverModelView(model, session, name=None, category=None, endpoint=None, url=None, static_folder=None, menu_class_name=None, menu_icon_type=None, menu_icon_value=None)[source]¶ Bases:
flask_admin.contrib.sqla.view.ModelViewCustom view for Flask-Admin. Adds emergency contacts as inline model and modifies update behaviour
-
action_view()¶ Mass-model action view.
-
ajax_update()¶ Edits a single column of a record in list view.
-
create_view()¶ Create model view
-
delete_view()¶ Delete model view. Only POST method is allowed.
-
details_view()¶ Details model view
-
edit_view()¶ Edit model view
-
export_csv()¶ Export a CSV of records.
-
index_view()¶ List view
-
-
class
beaver_manager.views.TripModelView(model, session, name=None, category=None, endpoint=None, url=None, static_folder=None, menu_class_name=None, menu_icon_type=None, menu_icon_value=None)[source]¶ Bases:
flask_admin.contrib.sqla.view.ModelViewCustom view for Flask-Admin modifying update behaviour
-
action_view()¶ Mass-model action view.
-
ajax_update()¶ Edits a single column of a record in list view.
-
create_view()¶ Create model view
-
delete_view()¶ Delete model view. Only POST method is allowed.
-
details_view()¶ Details model view
-
edit_view()¶ Edit model view
-
export_csv()¶ Export a CSV of records.
-
index_view()¶ List view
-
-
beaver_manager.views.beaver(beaver_id)[source]¶ Displays Information about the given beaver
Parameters: beaver_id (int) – The ID number of the beaver record
-
beaver_manager.views.beaver_to_pdf(beaver)[source]¶ Takes a beaver and returns there information as a pdf
Parameters: beaver (Beaver) – The beaver that needs exporting
-
beaver_manager.views.beavers()[source]¶ Queries the database for all beavers then displays a list of them
-
beaver_manager.views.register(attendance_id)[source]¶ Displays a form to record beavers atendance.
Parameters: attendance_id (int) – The ID number of the attendance record
-
beaver_manager.views.registers()[source]¶ Displays a list displaying dates for which registers can be taken
beaver_manager.logic module¶
This module contains any logic that does not belong in any other module
-
beaver_manager.logic.email_contacts_trip(beaver)[source]¶ Checks that a beaver has paid and given permission to go on a trip
-
beaver_manager.logic.to_percent(value, total)[source]¶ Works out the percentage of a value from a total.
Parameters: Returns: Number between 0.0 and 100.0
Return type: (int)
-
beaver_manager.logic.update_beaver_badge(beaver_badge)[source]¶ Checks to see if all the criteria are completed for
beaver_badgeand if so setsbeaver_badge.completedto TrueParameters: - beaver_badge (BeaverBadge) – The beaver badge which need
- checking –
-
beaver_manager.logic.update_criterion(attendance)[source]¶ Check whether a beaver was present for a given attendance and if so sets the corrosponding
criterion.completedto TrueParameters: attendance (Attendance) – The attendance for which criterion need updating