Skip to content

Commit

Permalink
Removed use of django Sites framework
Browse files Browse the repository at this point in the history
  • Loading branch information
jsayles committed Feb 20, 2020
1 parent 740191b commit cc14581
Show file tree
Hide file tree
Showing 42 changed files with 155 additions and 139 deletions.
4 changes: 2 additions & 2 deletions member/templates/member/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="DC.title" content="{{ site.name }}" />
<title>{% block title %}{% block sub-title %}{% endblock %}{{ site.name }}{% endblock %}</title>
<meta name="DC.title" content="{% settings_value 'SITE_NAME' %}" />
<title>{% block title %}{% block sub-title %}{% endblock %}{% settings_value 'SITE_NAME' %}{% endblock %}</title>
<link rel="shortcut icon" href="{% static 'img/favicon.ico' %}">
<link rel="stylesheet" href="{% static 'css/jquery-ui.min.css' %}" />
<link rel="stylesheet" href="{% static 'css/jquery-custom.css' %}">
Expand Down
5 changes: 3 additions & 2 deletions member/templates/member/core/not_active.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{% extends "member/base.html" %}
{% load settings_value %}

{% block content %}
<h3 class='header-font' style='text-align:center;'>Active Membership Required</h3>
Expand All @@ -9,13 +10,13 @@ <h3 class='header-font' style='text-align:center;'>Active Membership Required</h
Certain features in Nadine require an active membership to access. If you are not a member,
or your membership has expired, you will have limited access to this system. You can view your membership and your history by going to
<a href="{% url 'member:profile:redirect' %}">your profile</a>. If you have any questions feel free to send an email to
<a href="mailto:{{ settings.STAFF_EMAIL_ADDRESS }}">{{ settings.STAFF_EMAIL_ADDRESS }}</a>
<a href="mailto:{% settings_value 'STAFF_EMAIL_ADDRESS' %}">{% settings_value 'STAFF_EMAIL_ADDRESS' %}</a>
or just stop by the front desk.
</p>

<p>
Sincerely,<br>
The {{ site.name }} Team
The {% settings_value 'SITE_NAME' %} Team
</p>
</div>
{% endblock %}
3 changes: 2 additions & 1 deletion member/templates/member/organization/org_list.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{% extends "member/base.html" %}
{% load settings_value %}
{% load imagetags %}

{% block sub-title %}Organization | {% endblock %}
Expand All @@ -16,7 +17,7 @@
{% endblock %}

{% block content %}
<h3 class='header-font' style='text-align:center;'>Organizations at {{ site.name }}</h3>
<h3 class='header-font' style='text-align:center;'>Organizations at {% settings_value 'SITE_NAME' %}</h3>
<div class='ui-widget row'>
<form class='col s12 m7 l7 offset-m6 offset-l6' id='org-search-form' action="." method='POST'>
{% csrf_token %}
Expand Down
6 changes: 3 additions & 3 deletions member/views/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from django.contrib.auth.models import User
from django.urls import reverse
from django.contrib.auth.decorators import login_required, user_passes_test
from django.contrib.sites.models import Site
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404, HttpRequest
from django.shortcuts import render, get_object_or_404
Expand Down Expand Up @@ -160,8 +159,9 @@ def bill_receipt(request, bill_id):
pdf_context = {
'bill': bill,
'today': localtime(now()),
'site': Site.objects.get_current(),
# 'bill_url': "http://" + Site.objects.get_current().domain + bill.get_absolute_url()
'site_name': settings.SITE_NAME,
'site_url': settings.SITE_URL(),
'bill_url': settings.SITE_URL() + bill.get_absolute_url()
}
receipt_html = htmltext.render(pdf_context)
pdf_file = HTML(string=receipt_html, base_url=request.build_absolute_uri()).write_pdf()
Expand Down
6 changes: 0 additions & 6 deletions nadine/context_processors.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,7 @@
from django.conf import settings
from django.contrib.sites.models import Site
from nadine.forms import MemberSearchForm


def site(request):
site = Site.objects.get_current()
return {'site': site}


def nav_context(request):
site_search_form = MemberSearchForm()
return {'site_search_form': site_search_form}
Expand Down
89 changes: 55 additions & 34 deletions nadine/email.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from datetime import datetime, time, date, timedelta

from django.conf import settings
from django.contrib.sites.models import Site
from django.contrib.auth.models import User
from django.template.loader import get_template, render_to_string
from django.template import Template, TemplateDoesNotExist, RequestContext
Expand All @@ -24,6 +23,12 @@ def valid_message_keys():
"exit_survey", "member_survey", "no_return", "checkin", "invalid_billing", "new_key",
"no_signin", "no_device", "edit_profile", "slack_invite"]

def default_context():
return {
'today': localtime(now()),
'site_name': settings.SITE_NAME,
'site_url': settings.SITE_URL(),
}

def send_manual(user, message):
message = message.lower()
Expand Down Expand Up @@ -69,10 +74,10 @@ def send_verification(emailObj):
"""

# Build our context
site = Site.objects.get_current()
verif_key = emailObj.get_verif_key()
context_dict = {
'site': site,
'site_name': settings.SITE_NAME,
'site_url': settings.SITE_URL(),
'user': emailObj.user,
'verif_key': verif_key,
}
Expand All @@ -96,9 +101,10 @@ def send_verification(emailObj):


def send_introduction(user):
site = Site.objects.get_current()
subject = "Introduction to Nadine"
message = render_to_string('email/introduction.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/introduction.txt', context=context)
send_quietly(user.email, subject, message)


Expand Down Expand Up @@ -126,91 +132,106 @@ def subscribe_to_newsletter(user):


def send_new_membership(user):
site = Site.objects.get_current()
membership = Membership.objects.for_user(user)
package_name = membership.package_name(include_future=True)
if package_name:
subject = "New %s Membership" % package_name
else:
subject = "New Membership"
message = render_to_string('email/new_membership.txt', context={'user': user, 'membership': membership, 'site': site})
context = default_context()
context['user'] = user
context['membership'] = membership
message = render_to_string('email/new_membership.txt', context=context)
send(user.email, subject, message)


def send_first_day_checkin(user):
site = Site.objects.get_current()
subject = "How was your first day?"
message = render_to_string('email/first_day.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/first_day.txt', context=context)
send(user.email, subject, message)


def send_exit_survey(user):
site = Site.objects.get_current()
subject = "Exit Survey"
message = render_to_string('email/exit_survey.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/exit_survey.txt', context=context)
send(user.email, subject, message)


def send_member_survey(user):
site = Site.objects.get_current()
subject = "Coworking Survey"
message = render_to_string('email/member_survey.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/member_survey.txt', context=context)
send(user.email, subject, message)


def send_no_return_checkin(user):
site = Site.objects.get_current()
subject = "Checking In"
message = render_to_string('email/no_return.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/no_return.txt', context=context)
send(user.email, subject, message)


def send_invalid_billing(user):
site = Site.objects.get_current()
subject = "Billing Problem"
message = render_to_string('email/invalid_billing.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/invalid_billing.txt', context=context)
send(user.email, subject, message)


def send_no_signin(user):
site = Site.objects.get_current()
subject = "Forget to sign in?"
message = render_to_string('email/no_signin.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/no_signin.txt', context=context)
send(user.email, subject, message)


def send_no_device(user):
site = Site.objects.get_current()
subject = "Device Registration"
message = render_to_string('email/no_device.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/no_device.txt', context=context)
send(user.email, subject, message)


def send_new_key(user):
site = Site.objects.get_current()
subject = "Key Holding Details"
message = render_to_string('email/new_key.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/new_key.txt', context=context)
send(user.email, subject, message)


def send_user_notifications(user, target):
site = Site.objects.get_current()
subject = "%s is here!" % target.get_full_name()
message = render_to_string('email/user_notification.txt', context={'user': user, 'target': target, 'site': site})
context = default_context()
context['user'] = user
context['target'] = target
message = render_to_string('email/user_notification.txt', context=context)
send(user.email, subject, message)


def send_contact_request(user, target):
site = Site.objects.get_current()
subject = "%s wants to connect!" % user.get_full_name()
message = render_to_string('email/contact_request.txt', context={'user': user, 'target': target, 'site': site})
context = default_context()
context['user'] = user
context['target'] = target
message = render_to_string('email/contact_request.txt', context=context)
send(target.email, subject, message)


def send_edit_profile(user):
site = Site.objects.get_current()
subject = "Please update your Nadine profile"
message = render_to_string('email/edit_profile.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
message = render_to_string('email/edit_profile.txt', context=context)
send(user.email, subject, message)


Expand Down Expand Up @@ -327,9 +348,8 @@ def render_templates(context, email_key):

# inject some specific context
context['today'] = localtime(now())
context['site_url'] = ''
if not settings.DEBUG:
context['site_url'] = "https://" + Site.objects.get_current().domain
context['site_name'] = settings.SITE_NAME
context['site_url'] = settings.SITE_URL()

try:
text_template = get_template("email/%s.txt" % email_key)
Expand All @@ -348,8 +368,9 @@ def render_templates(context, email_key):


def team_signature(user):
site = Site.objects.get_current()
return render_to_string('email/team_email_signature.txt', context={'user': user, 'site': site})
context = default_context()
context['user'] = user
return render_to_string('email/team_email_signature.txt', context=context)


def send(recipient, subject, text_message, html_message=None):
Expand Down
6 changes: 0 additions & 6 deletions nadine/management/commands/install_demo.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from django.utils import timezone
from django.conf import settings
from django.contrib.auth.models import User
from django.contrib.sites.models import Site
from django.core.management import call_command
from django.core.management.base import BaseCommand, CommandError

Expand Down Expand Up @@ -44,11 +43,6 @@ def handle(self, *args, **options):
call_command('syncdb', interactive=False)
call_command('migrate', interactive=False)

site = Site.objects.get_current()
site.domain = '127.0.0.1:8000'
site.name = 'Nadine'
site.save()

basic_plan = MembershipPlan.objects.create(name='Basic', description='An occasional user', monthly_rate='50', daily_rate='25', dropin_allowance='5')
resident_plan = MembershipPlan.objects.create(name='Resident', description='A frequent user', monthly_rate='500', daily_rate='20', has_desk=True)

Expand Down
1 change: 0 additions & 1 deletion nadine/models/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
from django.utils.timezone import localtime, now
from django.core.exceptions import ObjectDoesNotExist
from django.urls import reverse
from django.contrib.sites.models import Site

logger = logging.getLogger(__name__)

Expand Down
1 change: 0 additions & 1 deletion nadine/models/membership.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
from django.utils.timezone import localtime, now
from django.core.exceptions import ObjectDoesNotExist
from django.urls import reverse
from django.contrib.sites.models import Site

from nadine.models.resource import Resource
from nadine.models.organization import Organization
Expand Down
4 changes: 1 addition & 3 deletions nadine/models/profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
from django_localflavor_us.models import USStateField, PhoneNumberField
from django.utils.timezone import localtime, now
from django.urls import reverse
from django.contrib.sites.models import Site

from taggit.managers import TaggableManager
from taggit.models import TaggedItemBase
Expand Down Expand Up @@ -699,10 +698,9 @@ def get_verif_key(self):
def get_verify_link(self):
verify_link = settings.EMAIL_VERIFICATION_URL
if not verify_link:
site = Site.objects.get_current()
verif_key = self.get_verif_key()
uri = reverse('email_verify', kwargs={'email_pk': self.id}) + "?verif_key=" + verif_key
verify_link = "https://" + site.domain + uri
verify_link = settings.SITE_URL() + uri
return verify_link

def get_send_verif_link(self):
Expand Down
8 changes: 5 additions & 3 deletions nadine/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'nadine.context_processors.site',
'nadine.context_processors.nav_context',
'nadine.context_processors.tablet_context',
'nadine.context_processors.allow_online_registration',
Expand Down Expand Up @@ -94,7 +93,6 @@
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.humanize',
'django.contrib.staticfiles',
Expand All @@ -117,14 +115,18 @@
# 'debug_toolbar',
]


################################################################################
# Site Settings
################################################################################

SITE_NAME = "Nadine"
SITE_DOMAIN = "localhost"
SITE_PROTO = "http"
SITE_ID = 1

def SITE_URL():
return SITE_PROTO + "://" + SITE_DOMAIN


# Local time zone for this installation. Choices can be found here:
# http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
Expand Down
6 changes: 3 additions & 3 deletions staff/templates/email/contact_request.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ and ask Nadine to connect the two of you? {{ user.first_name }} did and they ch
them directly by emailing: {{ user.email }}

Their Profile:
http://{{ site.domain }}{% url 'member:profile:view' user.username %}
{{ site_url }}{% url 'member:profile:view' user.username %}

Or to be notified the next time you are both in the space:
http://{{ site.domain }}{% url 'member:connect:connect' user.username %}
{{ site_domain }}{% url 'member:connect:connect' user.username %}

Have fun!
The {{ site.name }} Team
The {{ site_name }} Team

{% endautoescape %}

0 comments on commit cc14581

Please sign in to comment.