Skip to content

Commit

Permalink
Remove GitHubImport and GitLabImport
Browse files Browse the repository at this point in the history
  • Loading branch information
jochenklar committed Nov 25, 2023
1 parent 88879b8 commit 734d348
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 110 deletions.
3 changes: 2 additions & 1 deletion rdmo/core/static/core/css/base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,8 @@ metadata {
.page h2:nth-child(2) {
margin-top: 0;
}
.sidebar h2:first-child {
.sidebar h2:first-child,
.sidebar .import-buttons {
margin-top: 70px;
}

Expand Down
108 changes: 0 additions & 108 deletions rdmo/projects/imports.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
import io
import logging
import mimetypes
from urllib.parse import quote

from django import forms
from django.core.files import File
Expand All @@ -17,7 +16,6 @@
from rdmo.domain.models import Attribute
from rdmo.options.models import Option
from rdmo.questions.models import Catalog
from rdmo.services.providers import GitHubProviderMixin, GitLabProviderMixin
from rdmo.tasks.models import Task
from rdmo.views.models import View

Expand Down Expand Up @@ -222,8 +220,6 @@ def get_value(self, value_node):

class URLImport(RDMOXMLImport):

upload = False

class Form(forms.Form):
url = forms.URLField(label=_('Import project from this URL'), required=True)

Expand Down Expand Up @@ -263,107 +259,3 @@ def submit(self):
'source_title': 'URL',
'form': form
}, status=200)


class GitHubImport(GitHubProviderMixin, RDMOXMLImport):

upload = False

class Form(forms.Form):
repo = forms.CharField(label=_('GitHub repository'),
help_text=_('Please use the form username/repository or organization/repository.'))
path = forms.CharField(label=_('File path'))
ref = forms.CharField(label=_('Branch, tag, or commit'), initial='master')

def render(self):
return render(self.request, 'projects/project_import_form.html', {
'source_title': 'GitHub',
'form': self.Form()
}, status=200)

def submit(self):
form = self.Form(self.request.POST)

if 'cancel' in self.request.POST:
if self.project is None:
return redirect('projects')
else:
return redirect('project', self.project.id)

if form.is_valid():
self.request.session['import_source_title'] = self.source_title = form.cleaned_data['path']

url = '{api_url}/repos/{repo}/contents/{path}?ref={ref}'.format(
api_url=self.api_url,
repo=quote(form.cleaned_data['repo']),
path=quote(form.cleaned_data['path']),
ref=quote(form.cleaned_data['ref'])
)

return self.get(self.request, url)

return render(self.request, 'projects/project_import_form.html', {
'source_title': 'GitHub',
'form': form
}, status=200)

def get_success(self, request, response):
file_content = response.json().get('content')
request.session['import_file_name'] = handle_fetched_file(base64.b64decode(file_content))

if self.current_project:
return redirect('project_update_import', self.current_project.id)
else:
return redirect('project_create_import')


class GitLabImport(GitLabProviderMixin, RDMOXMLImport):

upload = False

class Form(forms.Form):
repo = forms.CharField(label=_('GitLab repository'),
help_text=_('Please use the form username/repository or organization/repository.'))
path = forms.CharField(label=_('File path'),)
ref = forms.CharField(label=_('Branch, tag, or commit'), initial='master')

def render(self):
return render(self.request, 'projects/project_import_form.html', {
'source_title': self.gitlab_url,
'form': self.Form()
}, status=200)

def submit(self):
form = self.Form(self.request.POST)

if 'cancel' in self.request.POST:
if self.project is None:
return redirect('projects')
else:
return redirect('project', self.project.id)

if form.is_valid():
self.request.session['import_source_title'] = form.cleaned_data['path']

url = '{api_url}/projects/{repo}/repository/files/{path}?ref={ref}'.format(
api_url=self.api_url,
repo=quote(form.cleaned_data['repo'], safe=''),
path=quote(form.cleaned_data['path'], safe=''),
ref=quote(form.cleaned_data['ref'], safe='')
)

return self.get(self.request, url)

return render(self.request, 'projects/project_import_form.html', {
'source_title': self.gitlab_url,
'form': form
}, status=200)

def get_success(self, request, response):
file_content = response.json().get('content')
request.session['import_file_name'] = handle_fetched_file(base64.b64decode(file_content))

if self.current_project:
return redirect('project_update_import', self.current_project.id)
else:
return redirect('project_create_import')
2 changes: 1 addition & 1 deletion rdmo/projects/mixins.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ def import_form(self):
import_plugin.file_name = import_file_name
import_plugin.source_title = import_source_title

if import_plugin.upload and import_plugin.check():
if import_plugin.check():
try:
import_plugin.process()
except ValidationError as e:
Expand Down

0 comments on commit 734d348

Please sign in to comment.