diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index 6753843..da0d929 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -1280,6 +1280,9 @@ def new_project(session, user, name, blacklist, allowed_prefix, allowed_prefix.append(user) if not namespace: namespace = user + if private: + allowed_prefix.append(user) + namespace = user if namespace and namespace not in allowed_prefix: raise pagure.exceptions.PagureException( @@ -1819,6 +1822,7 @@ def fork_project(session, user, repo, gitfolder, name=repo.name, namespace=repo.namespace, description=repo.description, + private=repo.private, user_id=user_obj.id, parent_id=repo.id, is_fork=True, diff --git a/pagure/templates/new_project.html b/pagure/templates/new_project.html index 8ffb023..fc45aa3 100644 --- a/pagure/templates/new_project.html +++ b/pagure/templates/new_project.html @@ -35,3 +35,24 @@ {% endblock %} + + +{% if config.get('PRIVATE_PROJECTS', False) %} +{% block jscripts %} +{{ super() }} + +{% endblock %} +{% endif %} diff --git a/pagure/ui/app.py b/pagure/ui/app.py index 563180b..9bce789 100644 --- a/pagure/ui/app.py +++ b/pagure/ui/app.py @@ -450,6 +450,9 @@ def new_project(): private = False if pagure.APP.config.get('PRIVATE_PROJECTS', False): private = form.private.data + # Though it's not need for new_project() it fixes the redirect after + if private: + namespace=flask.g.fas_user.username try: pagure.lib.new_project(