mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-20 05:35:12 +00:00
Merge pull request #374 from anaqreon/plugin-repo
Delete existing repo if the new one has a different URL. Fixed bug th…
This commit is contained in:
commit
40b5b6e9d2
2 changed files with 17 additions and 4 deletions
|
@ -1822,6 +1822,15 @@ class Admin extends \Zotlabs\Web\Controller {
|
|||
// clone the repo if new automatically
|
||||
$git = new GitRepo('sys', $repoURL, true, $repoName, $repoDir);
|
||||
|
||||
$remotes = $git->git->remote();
|
||||
$fetchURL = $remotes['origin']['fetch'];
|
||||
if($fetchURL !== $git->url) {
|
||||
if(rrmdir($repoDir)) {
|
||||
$git = new GitRepo('sys', $repoURL, true, $repoName, $repoDir);
|
||||
} else {
|
||||
json_return_and_die(array('message' => 'Error deleting existing addon repo.', 'success' => false));
|
||||
}
|
||||
}
|
||||
$repo = $git->probeRepo();
|
||||
$repo['readme'] = $repo['manifest'] = null;
|
||||
foreach ($git->git->tree('master') as $object) {
|
||||
|
|
|
@ -50,7 +50,12 @@
|
|||
{{$newRepoModal}}
|
||||
<script>
|
||||
|
||||
// TODO: Implement a simple interface controller that reconfigures the modal dialog
|
||||
// for each action in a more organized way
|
||||
|
||||
function adminPluginsAddRepo() {
|
||||
$("#generic-modal-ok-{{$newRepoModalID}}").removeClass('btn-success');
|
||||
$("#generic-modal-ok-{{$newRepoModalID}}").addClass('btn-primary');
|
||||
var repoURL = $('#id_repoURL').val();
|
||||
var repoName = $('#id_repoName').val();
|
||||
$('#chat-rotator').spin('tiny');
|
||||
|
@ -65,6 +70,7 @@
|
|||
modalBody.append('<h4>Branches</h4><p>'+JSON.stringify(response.repo.branches)+'</p>');
|
||||
modalBody.append('<h4>Remotes</h4><p>'+JSON.stringify(response.repo.remote)+'</p>');
|
||||
$('.modal-dialog').width('80%');
|
||||
$("#generic-modal-ok-{{$newRepoModalID}}").off('click');
|
||||
$("#generic-modal-ok-{{$newRepoModalID}}").click(function () {
|
||||
installAddonRepo();
|
||||
});
|
||||
|
@ -78,7 +84,6 @@
|
|||
}
|
||||
|
||||
function installAddonRepo() {
|
||||
// TODO: Link store/git/sys/reponame to /extend/addon/ and run util/add_addon_repo script
|
||||
var repoURL = $('#id_repoURL').val();
|
||||
var repoName = $('#id_repoName').val();
|
||||
$.post(
|
||||
|
@ -93,6 +98,8 @@
|
|||
$('.modal-dialog').width('80%');
|
||||
//$("#generic-modal-cancel-{{$newRepoModalID}}").hide();
|
||||
$("#generic-modal-ok-{{$newRepoModalID}}").html('OK');
|
||||
$("#generic-modal-ok-{{$newRepoModalID}}").removeClass('btn-primary');
|
||||
$("#generic-modal-ok-{{$newRepoModalID}}").addClass('btn-success');
|
||||
$("#generic-modal-ok-{{$newRepoModalID}}").off('click');
|
||||
$("#generic-modal-ok-{{$newRepoModalID}}").click(function () {
|
||||
$('#generic-modal-{{$newRepoModalID}}').modal('hide');
|
||||
|
@ -111,8 +118,6 @@
|
|||
'json');
|
||||
}
|
||||
function updateAddonRepo(repoName) {
|
||||
window.console.log('updateAddonRep:; ' + repoName);
|
||||
// TODO: Update an existing repo
|
||||
if(confirm('Are you sure you want to update the addon repo ' + repoName + '?')) {
|
||||
$.post(
|
||||
"/admin/plugins/updaterepo", {repoName: repoName},
|
||||
|
@ -135,7 +140,6 @@
|
|||
}
|
||||
|
||||
function removeAddonRepo(repoName) {
|
||||
window.console.log('removeAddonRepo: ' + repoName);
|
||||
// TODO: Unlink the addons
|
||||
if(confirm('Are you sure you want to remove the addon repo ' + repoName + '?')) {
|
||||
$.post(
|
||||
|
|
Loading…
Reference in a new issue