| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | __filename__ = "webapp_tos.py" | 
					
						
							|  |  |  | __author__ = "Bob Mottram" | 
					
						
							|  |  |  | __license__ = "AGPL3+" | 
					
						
							| 
									
										
										
										
											2021-01-26 10:07:42 +00:00
										 |  |  | __version__ = "1.2.0" | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | __maintainer__ = "Bob Mottram" | 
					
						
							| 
									
										
										
										
											2021-09-10 16:14:50 +00:00
										 |  |  | __email__ = "bob@libreserver.org" | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | __status__ = "Production" | 
					
						
							| 
									
										
										
										
											2021-06-15 15:08:12 +00:00
										 |  |  | __module_group__ = "Web Interface" | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | from shutil import copyfile | 
					
						
							|  |  |  | from utils import getConfigParam | 
					
						
							| 
									
										
										
										
											2021-12-26 10:19:59 +00:00
										 |  |  | from utils import local_actor_url | 
					
						
							| 
									
										
										
										
											2020-11-12 17:05:38 +00:00
										 |  |  | from webapp_utils import htmlHeaderWithExternalStyle | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | from webapp_utils import htmlFooter | 
					
						
							| 
									
										
										
										
											2021-06-25 14:38:31 +00:00
										 |  |  | from markdown import markdownToHtml | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-25 16:17:53 +00:00
										 |  |  | def htmlTermsOfService(cssCache: {}, base_dir: str, | 
					
						
							| 
									
										
										
										
											2021-12-26 10:00:46 +00:00
										 |  |  |                        http_prefix: str, domain_full: str) -> str: | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  |     """Show the terms of service screen
 | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2021-12-25 16:17:53 +00:00
										 |  |  |     adminNickname = getConfigParam(base_dir, 'admin') | 
					
						
							|  |  |  |     if not os.path.isfile(base_dir + '/accounts/tos.md'): | 
					
						
							|  |  |  |         copyfile(base_dir + '/default_tos.md', | 
					
						
							|  |  |  |                  base_dir + '/accounts/tos.md') | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-25 16:17:53 +00:00
										 |  |  |     if os.path.isfile(base_dir + '/accounts/login-background-custom.jpg'): | 
					
						
							|  |  |  |         if not os.path.isfile(base_dir + '/accounts/login-background.jpg'): | 
					
						
							|  |  |  |             copyfile(base_dir + '/accounts/login-background-custom.jpg', | 
					
						
							|  |  |  |                      base_dir + '/accounts/login-background.jpg') | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     TOSText = 'Terms of Service go here.' | 
					
						
							| 
									
										
										
										
											2021-12-25 16:17:53 +00:00
										 |  |  |     if os.path.isfile(base_dir + '/accounts/tos.md'): | 
					
						
							|  |  |  |         with open(base_dir + '/accounts/tos.md', 'r') as file: | 
					
						
							| 
									
										
										
										
											2021-03-01 11:13:31 +00:00
										 |  |  |             TOSText = markdownToHtml(file.read()) | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     TOSForm = '' | 
					
						
							| 
									
										
										
										
											2021-12-25 16:17:53 +00:00
										 |  |  |     cssFilename = base_dir + '/epicyon-profile.css' | 
					
						
							|  |  |  |     if os.path.isfile(base_dir + '/epicyon.css'): | 
					
						
							|  |  |  |         cssFilename = base_dir + '/epicyon.css' | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-11 19:46:21 +00:00
										 |  |  |     instanceTitle = \ | 
					
						
							| 
									
										
										
										
											2021-12-25 16:17:53 +00:00
										 |  |  |         getConfigParam(base_dir, 'instanceTitle') | 
					
						
							| 
									
										
										
										
											2021-11-07 10:38:11 +00:00
										 |  |  |     TOSForm = htmlHeaderWithExternalStyle(cssFilename, instanceTitle, None) | 
					
						
							| 
									
										
										
										
											2020-11-12 17:05:38 +00:00
										 |  |  |     TOSForm += '<div class="container">' + TOSText + '</div>\n' | 
					
						
							|  |  |  |     if adminNickname: | 
					
						
							| 
									
										
										
										
											2021-12-26 10:19:59 +00:00
										 |  |  |         adminActor = local_actor_url(http_prefix, adminNickname, domain_full) | 
					
						
							| 
									
										
										
										
											2020-11-12 17:05:38 +00:00
										 |  |  |         TOSForm += \ | 
					
						
							|  |  |  |             '<div class="container"><center>\n' + \ | 
					
						
							|  |  |  |             '<p class="administeredby">Administered by <a href="' + \ | 
					
						
							|  |  |  |             adminActor + '">' + adminNickname + '</a></p>\n' + \ | 
					
						
							|  |  |  |             '</center></div>\n' | 
					
						
							|  |  |  |     TOSForm += htmlFooter() | 
					
						
							| 
									
										
										
										
											2020-11-10 10:25:21 +00:00
										 |  |  |     return TOSForm |