def refresh(self): stats = GlobalStats() data = { "secret": self.secret, "site_url": get_site_url(), "site_title": settings.SITE_TITLE, "users": User.objects.count(), "projects": Project.objects.count(), "components": Component.objects.count(), "languages": stats.languages, "source_strings": stats.source_strings, } ssh_key = get_key_data() if not ssh_key: generate_ssh_key(None) ssh_key = get_key_data() if ssh_key: data["ssh_key"] = ssh_key["key"] response = request("post", settings.SUPPORT_API_URL, data=data) response.raise_for_status() payload = response.json() self.name = payload["name"] self.expiry = dateutil.parser.parse(payload["expiry"]) self.in_limits = payload["in_limits"] if payload["backup_repository"]: BackupService.objects.get_or_create( repository=payload["backup_repository"], defaults={"enabled": False})
def refresh(self): stats = GlobalStats() data = { 'secret': self.secret, 'site_url': get_site_url(), 'site_title': settings.SITE_TITLE, 'users': User.objects.count(), 'projects': Project.objects.count(), 'components': Component.objects.count(), 'languages': stats.languages, 'source_strings': stats.source_strings, } ssh_key = get_key_data() if not ssh_key: generate_ssh_key(None) ssh_key = get_key_data() if ssh_key: data['ssh_key'] = ssh_key['key'] headers = {'User-Agent': USER_AGENT} response = requests.request('post', settings.SUPPORT_API_URL, headers=headers, data=data) response.raise_for_status() payload = response.json() self.name = payload['name'] self.expiry = dateutil.parser.parse(payload['expiry']) self.in_limits = payload['in_limits'] if payload['backup_repository']: BackupService.objects.get_or_create( repository=payload['backup_repository'], defaults={"enabled": False})
def ssh(request): """Show information and manipulate with SSH key.""" # Check whether we can generate SSH key can_generate = can_generate_key() # Grab action type action = request.POST.get("action") # Generate key if it does not exist yet if can_generate and action == "generate": generate_ssh_key(request) # Read key data if it exists key = get_key_data() # Add host key form = SSHAddForm() if action == "add-host": form = SSHAddForm(request.POST) if form.is_valid(): add_host_key(request, **form.cleaned_data) context = { "public_key": key, "can_generate": can_generate, "host_keys": get_host_keys(), "menu_items": MENU, "menu_page": "ssh", "add_form": form, } return render(request, "manage/ssh.html", context)
def test_ssh(self): """Test SSH admin interface.""" self.open_admin() self.screenshot('admin.png') # Open SSH page with self.wait_for_page_load(): self.click('SSH keys') # Generate SSH key if get_key_data() is None: with self.wait_for_page_load(): self.click( self.driver.find_element_by_id('generate-ssh-button'), ) # Add SSH host key self.driver.find_element_by_id('ssh-host').send_keys('github.com') with self.wait_for_page_load(): self.click(self.driver.find_element_by_id('ssh-add-button'), ) self.screenshot('ssh-keys-added.png') # Open SSH page for final screenshot with self.wait_for_page_load(): self.click('Home') with self.wait_for_page_load(): self.click('SSH keys') self.screenshot('ssh-keys.png')
def ssh(request): """Show information and manipulate with SSH key.""" # Check whether we can generate SSH key can_generate = can_generate_key() # Grab action type action = request.POST.get('action') # Generate key if it does not exist yet if can_generate and action == 'generate': generate_ssh_key(request) # Read key data if it exists key = get_key_data() # Add host key form = SSHAddForm() if action == 'add-host': form = SSHAddForm(request.POST) if form.is_valid(): add_host_key(request, **form.cleaned_data) context = { 'public_key': key, 'can_generate': can_generate, 'host_keys': get_host_keys(), 'menu_items': MENU, 'menu_page': 'ssh', 'add_form': form, } return render(request, "manage/ssh.html", context)
def ssh(request, admin_site): """Show information and manipulate with SSH key.""" # Check whether we can generate SSH key can_generate = can_generate_key() # Grab action type action = request.POST.get('action') # Generate key if it does not exist yet if can_generate and action == 'generate': generate_ssh_key(request) # Read key data if it exists key = get_key_data() # Add host key if action == 'add-host': add_host_key(request, request.POST.get('host', ''), request.POST.get('port', '')) context = admin_site.each_context(request) context['public_key'] = key context['can_generate'] = can_generate context['host_keys'] = get_host_keys() return render( request, "admin/ssh.html", context, )
def test_ssh(self): """Test SSH admin interface.""" self.open_admin() self.screenshot("admin.png") # Open SSH page with self.wait_for_page_load(): self.click("SSH keys") # Generate SSH key if get_key_data() is None: with self.wait_for_page_load(): self.click( self.driver.find_element_by_id("generate-ssh-button")) # Add SSH host key self.driver.find_element_by_id("id_host").send_keys("github.com") with self.wait_for_page_load(): self.click(self.driver.find_element_by_id("ssh-add-button")) self.screenshot("ssh-keys-added.png") # Open SSH page for final screenshot with self.wait_for_page_load(): self.click("SSH keys") self.screenshot("ssh-keys.png")
def refresh(self): stats = GlobalStats() data = { 'secret': self.secret, 'site_url': get_site_url(), 'site_title': settings.SITE_TITLE, 'users': User.objects.count(), 'projects': Project.objects.count(), 'components': Component.objects.count(), 'languages': stats.languages, 'source_strings': stats.source_strings, } ssh_key = get_key_data() if ssh_key: data['ssh_key'] = ssh_key['key'] headers = { 'User-Agent': USER_AGENT, } response = requests.request('post', settings.SUPPORT_API_URL, headers=headers, data=data) response.raise_for_status() payload = response.json() self.name = payload['name'] self.expiry = dateutil.parser.parse(payload['expiry'])
def ssh(request, admin_site): """Show information and manipulate with SSH key.""" # Check whether we can generate SSH key can_generate = can_generate_key() # Grab action type action = request.POST.get('action') # Generate key if it does not exist yet if can_generate and action == 'generate': generate_ssh_key(request) # Read key data if it exists key = get_key_data() # Add host key if action == 'add-host': add_host_key(request) context = admin_site.each_context(request) context['public_key'] = key context['can_generate'] = can_generate context['host_keys'] = get_host_keys() return render( request, "admin/ssh.html", context, )
def manage_access(request, project): """User management view.""" obj = get_project(request, project) if not request.user.has_perm("project.permissions", obj): raise PermissionDenied() groups = obj.defined_groups.order() for group in groups: group.edit_form = SimpleGroupForm(instance=group, auto_id=f"id_group_{group.id}_%s") users = (User.objects.filter( groups__in=groups).distinct().order().prefetch_related( Prefetch( "groups", queryset=groups, to_attr="project_groups", ), )) for user in users: user.group_edit_form = ProjectUserGroupForm( obj, initial={ "user": user.username, "groups": user.project_groups }, auto_id=f"id_user_{user.id}_%s", ) return render( request, "trans/project-access.html", { "object": obj, "project": obj, "project_tokens": obj.projecttoken_set.all(), "groups": groups, "all_users": users, "blocked_users": obj.userblock_set.select_related("user"), "add_user_form": UserManageForm(), "create_project_token_form": ProjectTokenCreateForm(obj), "create_team_form": SimpleGroupForm(initial={"language_selection": SELECTION_ALL}), "block_user_form": UserBlockForm(initial={"user": request.GET.get("block_user")}), "invite_user_form": InviteUserForm(), "ssh_key": get_key_data(), }, )
def page_context(self, context): context.update({ 'title': _('Weblate keys'), 'gpg_key_id': get_gpg_sign_key(), 'gpg_key': get_gpg_public_key(), 'ssh_key': get_key_data(), 'allow_index': True, })
def page_context(self, context): context.update({ 'title': _('Weblate keys'), 'gpg_key_id': get_gpg_sign_key(), 'gpg_key': get_gpg_public_key(), 'ssh_key': get_key_data(), 'allow_index': True, })
def page_context(self, context): context.update({ "title": _("Weblate keys"), "gpg_key_id": get_gpg_sign_key(), "gpg_key": get_gpg_public_key(), "ssh_key": get_key_data(), "allow_index": True, })
def refresh(self): stats = GlobalStats() data = { "secret": self.secret, "site_url": get_site_url(), "site_title": settings.SITE_TITLE, "users": User.objects.count(), "projects": Project.objects.count(), "components": Component.objects.count(), "languages": stats.languages, "source_strings": stats.source_strings, "strings": stats.all, "words": stats.all_words, } if self.discoverable: data["discoverable"] = 1 data["public_projects"] = json.dumps( [ { "name": project.name, "url": project.get_absolute_url(), "web": project.web, } for project in Project.objects.filter( access_control=Project.ACCESS_PUBLIC ).iterator() ] ) ssh_key = get_key_data() if not ssh_key: generate_ssh_key(None) ssh_key = get_key_data() if ssh_key: data["ssh_key"] = ssh_key["key"] response = request("post", settings.SUPPORT_API_URL, data=data) response.raise_for_status() payload = response.json() self.name = payload["name"] self.expiry = dateutil.parser.parse(payload["expiry"]) self.in_limits = payload["in_limits"] if payload["backup_repository"]: BackupService.objects.get_or_create( repository=payload["backup_repository"], defaults={"enabled": False} )
def keys(request): """Show keys information.""" return render( request, 'keys.html', { 'title': _('Weblate keys'), 'gpg_key_id': get_gpg_sign_key(), 'gpg_key': get_gpg_public_key(), 'ssh_key': get_key_data(), 'allow_index': True, })
def manage_access(request, project): """User management view.""" obj = get_project(request, project) if not request.user.has_perm("project.permissions", obj): raise PermissionDenied() return render( request, "manage-access.html", { "object": obj, "project": obj, "groups": Group.objects.for_project(obj), "all_users": User.objects.for_project(obj), "add_user_form": UserManageForm(), "invite_user_form": InviteUserForm(), "ssh_key": get_key_data(), }, )
def manage_access(request, project): """User management view.""" obj = get_project(request, project) if not request.user.has_perm("project.permissions", obj): raise PermissionDenied() return render( request, "manage-access.html", { "object": obj, "project": obj, "groups": Group.objects.for_project(obj), "all_users": User.objects.for_project(obj), "blocked_users": obj.userblock_set.select_related("user"), "add_user_form": UserManageForm(), "block_user_form": UserBlockForm( initial={"user": request.GET.get("block_user")} ), "invite_user_form": InviteUserForm(), "ssh_key": get_key_data(), }, )
def test_ssh(self): """Test SSH admin interface.""" self.open_admin() self.screenshot('admin.png') # Open SSH page with self.wait_for_page_load(): self.click('SSH keys') # Generate SSH key if get_key_data() is None: with self.wait_for_page_load(): self.click( self.driver.find_element_by_id('generate-ssh-button'), ) # Add SSH host key self.driver.find_element_by_id( 'ssh-host' ).send_keys( 'github.com' ) with self.wait_for_page_load(): self.click( self.driver.find_element_by_id('ssh-add-button'), ) self.screenshot('ssh-keys-added.png') # Open SSH page for final screenshot with self.wait_for_page_load(): self.click('Home') with self.wait_for_page_load(): self.click('SSH keys') self.screenshot('ssh-keys.png')