|
@@ -1,3 +1,4 @@
|
|
1
|
+import logging
|
1
|
2
|
import os
|
2
|
3
|
from Scraper import Scraper
|
3
|
4
|
from google.appengine.ext.webapp import template
|
|
@@ -78,6 +79,25 @@ class AddAccountPage(webapp.RequestHandler):
|
78
|
79
|
|
79
|
80
|
self.redirect('/')
|
80
|
81
|
|
|
82
|
+class DeleteAccountPage(webapp.RequestHandler):
|
|
83
|
+ def post(self):
|
|
84
|
+
|
|
85
|
+ if not users.get_current_user():
|
|
86
|
+ self.error(403)
|
|
87
|
+ return
|
|
88
|
+
|
|
89
|
+ account = db.get(db.Key(self.request.get('key')))
|
|
90
|
+
|
|
91
|
+ if account.user != users.get_current_user() and not users.is_current_user_admin():
|
|
92
|
+ logging.warning("Account deletion attempted by :u1 for account owned by :u2",
|
|
93
|
+ u1 = users.get_current_user(), u2 = account.user)
|
|
94
|
+ self.error(403)
|
|
95
|
+ return
|
|
96
|
+
|
|
97
|
+ account.delete()
|
|
98
|
+
|
|
99
|
+ self.redirect('/')
|
|
100
|
+
|
81
|
101
|
|
82
|
102
|
class UpdatePage(webapp.RequestHandler):
|
83
|
103
|
|
|
@@ -157,9 +177,10 @@ class UpdatePage(webapp.RequestHandler):
|
157
|
177
|
return res
|
158
|
178
|
|
159
|
179
|
application = webapp.WSGIApplication([('/', MainPage),
|
160
|
|
- ('/admin/addsource', AddSourcePage),
|
|
180
|
+ ('/admin/source/add', AddSourcePage),
|
161
|
181
|
('/worker/update', UpdatePage),
|
162
|
|
- ('/addaccount', AddAccountPage)],
|
|
182
|
+ ('/account/add', AddAccountPage),
|
|
183
|
+ ('/account/delete', DeleteAccountPage)],
|
163
|
184
|
debug=True)
|
164
|
185
|
|
165
|
186
|
def main():
|