Skip to content

Commit

Permalink
add asterisk project and fix up config files so both projects functio…
Browse files Browse the repository at this point in the history
…n properly
  • Loading branch information
robottrouble committed Sep 13, 2010
1 parent 0cf1399 commit 29eae58
Show file tree
Hide file tree
Showing 9 changed files with 83 additions and 7 deletions.
Empty file added asterisk/__init__.py
Empty file.
7 changes: 7 additions & 0 deletions asterisk/admin.py
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,7 @@
from hive76_apps.asterisk.models import *
from django.contrib import admin


admin.site.register(UserDetails)
admin.site.register(CallBack)
admin.site.register(FailedAuth)
38 changes: 38 additions & 0 deletions asterisk/models.py
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,38 @@
from django.db import models
from django.contrib.auth.models import User
# Create your models here.

class UserDetails(models.Model):
asterisk_extension = models.CharField(max_length=4)
access_code = models.CharField(max_length=4)
access_message = models.CharField(max_length=2048)
phone_number = models.CharField(max_length=10)
user = models.OneToOneField(User, related_name="details")

def __unicode__(self):
return self.user.username

class CallBack(models.Model):
user = models.ForeignKey(User, related_name="calls")
time = models.DateTimeField()
returned = models.BooleanField(default=False)

def __unicode__(self):
retstr = "User: %d Time: %s Returned: %s" % (self.user.id, self.time, self.returned)
return retstr

class FailedAuth(models.Model):
method = models.CharField(max_length=4)
data = models.CharField(max_length=4)
time = models.DateTimeField()

def assign(self, user):
if self.method == 'AST':
user.details.access_code = self.data
elif self.method == 'SMS':
user.details.access_message = self.data
user.details.save()

def __unicode__(self):
retstr = "ID: %d Time: %s Data: %s" % (self.id, self.time, self.data)
return retstr
7 changes: 7 additions & 0 deletions asterisk/templates/callback_add.html
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,7 @@
<html>
<body>
{{ timestamp }}
<br>
{{ response }}
</body>
</html>
17 changes: 17 additions & 0 deletions asterisk/views.py
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,17 @@
# Create your views here.
import time, datetime
from django.contrib.auth.models import User
from hackerspace_management.asterisk.models import *
from django.shortcuts import render_to_response

def callback_add(request, authCode):
try:
u = User.objects.get(details__access_code = authCode)
callback = CallBack(user=u, time=datetime.datetime.now())
callback.save()
retstr = "Calling Back: %s" % (callback.user.details.phone_number)
except:
retstr = "Authentication Error"

timestamp = "Time: %s" % (datetime.datetime.now())
return render_to_response('callback_add.html', {'response': retstr, 'timestamp': timestamp})
2 changes: 1 addition & 1 deletion inventory/modelforms.py
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,4 @@
from hive76_inventory.inventory.models import * from hackerspace_management.inventory.models import *
from django.forms import ModelForm from django.forms import ModelForm


class PartsForm(ModelForm): class PartsForm(ModelForm):
Expand Down
4 changes: 2 additions & 2 deletions inventory/views.py
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
from django.shortcuts import render_to_response from django.shortcuts import render_to_response
from django.template.loader import get_template from django.template.loader import get_template
from django.template import Context from django.template import Context
from hive76_inventory.inventory.models import * from hackerspace_management.inventory.models import *
from hive76_inventory.inventory.modelforms import * from hackerspace_management.inventory.modelforms import *
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.core.paginator import Paginator, InvalidPage, EmptyPage from django.core.paginator import Paginator, InvalidPage, EmptyPage
from django.contrib.auth import logout from django.contrib.auth import logout
Expand Down
1 change: 1 addition & 0 deletions run_server.sh
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1 @@
python manage.py syncdb --noinput && chown www-data:www-data ./hackerspace_management.db && chmod 775 ./hackerspace_management.db && python manage.py runserver localhost:8000
14 changes: 10 additions & 4 deletions urls.py
Original file line number Original file line Diff line number Diff line change
@@ -1,13 +1,18 @@
from django.conf.urls.defaults import * from django.conf.urls.defaults import *
from django.conf import settings from django.conf import settings
from hive76_inventory.inventory.views import * from django.contrib import admin
from hackerspace_management.inventory.views import *
from hackerspace_management.asterisk.views import *

admin.autodiscover()

urlpatterns = patterns('', urlpatterns = patterns('',
# Example: # Example:
# (r'^hive76_inventory/', include('hive76_inventory.foo.urls')), # (r'^hackerspace_management/', include('hackerspace_management.foo.urls')),


# Uncomment this for admin: # Uncomment this for admin:
(r'^$', parts_view_all), (r'^$', parts_view_all),
(r'^admin/', include('django.contrib.admin.urls')), (r'^admin/(.*)', admin.site.root),
(r'^locations/$', locations_view_all), (r'^locations/$', locations_view_all),
(r'^locations/new/$', locations_add), (r'^locations/new/$', locations_add),
(r'^locations/view/(\d+)/$', locations_view), (r'^locations/view/(\d+)/$', locations_view),
Expand All @@ -28,5 +33,6 @@
(r'^stock/edit/(\d+)/$', stock_add_edit), (r'^stock/edit/(\d+)/$', stock_add_edit),
(r'^reports/$', reports_view_all), (r'^reports/$', reports_view_all),
(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}), (r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}),
(r'^accounts/logout/$', logout_view) (r'^accounts/logout/$', logout_view),
(r'^auth/add/(\d+)/$', callback_add),
) )

0 comments on commit 29eae58

Please sign in to comment.