Bugfixes.
This commit is contained in:
		
							parent
							
								
									a3cec5bce0
								
							
						
					
					
						commit
						78f9679f30
					
				| @ -91,6 +91,8 @@ class Application(BaseApplication): | |||||||
|         self.router.add_get("/http-get", self.handle_http_get) |         self.router.add_get("/http-get", self.handle_http_get) | ||||||
|         self.router.add_get("/http-photo", self.handle_http_photo) |         self.router.add_get("/http-photo", self.handle_http_photo) | ||||||
|         self.router.add_get("/rpc.ws", RPCView) |         self.router.add_get("/rpc.ws", RPCView) | ||||||
|  |         self.router.add_view("/channel/{channel}.html", WebView) | ||||||
|  | 
 | ||||||
|         self.add_subapp( |         self.add_subapp( | ||||||
|             "/docs", |             "/docs", | ||||||
|             DocsApplication(path=pathlib.Path(__file__).parent.joinpath("docs")), |             DocsApplication(path=pathlib.Path(__file__).parent.joinpath("docs")), | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ class LoginView(BaseFormView): | |||||||
|         return await self.render_template("login.html") |         return await self.render_template("login.html") | ||||||
| 
 | 
 | ||||||
|     async def submit(self, form): |     async def submit(self, form): | ||||||
|         if await form.is_valid(): |         if await form.is_valid: | ||||||
|             user = await self.services.user.get(username=form['username'], deleted_at=None) |             user = await self.services.user.get(username=form['username'], deleted_at=None) | ||||||
|             await self.services.user.save(user) |             await self.services.user.save(user) | ||||||
|             self.session.update({ |             self.session.update({ | ||||||
| @ -31,4 +31,4 @@ class LoginView(BaseFormView): | |||||||
|                 "color": user["color"] |                 "color": user["color"] | ||||||
|             }) |             }) | ||||||
|             return {"redirect_url": "/web.html"} |             return {"redirect_url": "/web.html"} | ||||||
|         return {"is_valid": False} |         return {"is_valid": False} | ||||||
|  | |||||||
| @ -24,11 +24,50 @@ | |||||||
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||||
| # SOFTWARE. | # SOFTWARE. | ||||||
| 
 | 
 | ||||||
| 
 | from aiohttp import web | ||||||
| from snek.system.view import BaseView | from snek.system.view import BaseView | ||||||
| 
 | 
 | ||||||
| class WebView(BaseView): | class WebView(BaseView): | ||||||
|     login_required = True |     login_required = True | ||||||
| 
 | 
 | ||||||
|     async def get(self): |     async def get(self): | ||||||
|         return await self.render_template("web.html") | 
 | ||||||
|  |         if self.login_required and not self.session.get("logged_in"): | ||||||
|  |             return web.HTTPFound("/") | ||||||
|  | 
 | ||||||
|  |         if not self.request.match_info.get("channel"): | ||||||
|  |             channel = await self.app.services.channel.get( | ||||||
|  |                     tag="public",deleted_at=None | ||||||
|  |             ) | ||||||
|  |             if not channel: | ||||||
|  |                 return web.HTTPNotFound() | ||||||
|  |             return web.HTTPFound("/channel/{}.html".format(channel["uid"])) | ||||||
|  |         else: | ||||||
|  |             print(self.request.match_info.get("channel"), flush=True) | ||||||
|  |             channel = await self.app.services.channel.get( | ||||||
|  |                 uid=str(self.request.match_info.get("channel")),deleted_at=None | ||||||
|  |             ) | ||||||
|  |             if not channel: | ||||||
|  | 
 | ||||||
|  |                 name = "#" + str(self.request.match_info.get("channel")).lstrip("#") | ||||||
|  |                  | ||||||
|  |                 print("TADAAA:",name, flush=True) | ||||||
|  | 
 | ||||||
|  |                 channel = await self.app.services.channel.get( | ||||||
|  |                     label=name,deleted_at=None | ||||||
|  |                 ) | ||||||
|  |             if not channel: | ||||||
|  |                 print("NOT found!\n",flush=True) | ||||||
|  |                 return web.HTTPNotFound() | ||||||
|  |             channel_member = await self.app.services.channel_member.get( | ||||||
|  |                 channel_uid=channel["uid"], user_uid=self.session.get("uid"),deleted_at=None,is_banned=False | ||||||
|  |             ) | ||||||
|  |             if not channel_member: | ||||||
|  |                 return web.HTTPNotFound() | ||||||
|  |             | ||||||
|  |         print("HIER\n",flush=True)  | ||||||
|  |         user = await self.app.services.user.get(uid=self.session.get("uid")) | ||||||
|  |         if not user: | ||||||
|  |             return web.HTTPNotFound() | ||||||
|  | 
 | ||||||
|  |         return await self.render_template("web.html", {"channel": channel_member,"user": user}) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user