2020-04-29 20:08:08 +05:00
{% extends "baseTemplate/index.html" %}
{% load i18n %}
{% block title %}{% trans "Package Manager - CyberPanel" %}{% endblock %}
{% block content %}
{% load static %}
{% get_current_language as LANGUAGE_CODE %}
<!-- Current language: {{ LANGUAGE_CODE }} -->
2020-04-30 18:18:48 +05:00
< div ng-controller = "listOSPackages" class = "container" >
2020-04-29 20:08:08 +05:00
< div id = "page-title" >
< h2 > {% trans "Package Manager" %}< / h2 >
< p > {% trans "On this page you can manage your system packages. On backend system available package manager is used (apt/yum)." %}< / p >
< / div >
< div class = "row" >
< div class = "col-md-12" >
< div class = "panel" >
< div class = "panel-body" >
< div class = "example-box-wrapper" >
< ul class = "nav-responsive nav nav-tabs" >
2020-05-04 00:52:34 +05:00
< li class = "active" > < a ng-click = "fetchPackages('upgrade')" href = "#tab4"
data-toggle="tab">Updates< / a > < / li >
2020-04-30 18:18:48 +05:00
< li > < a ng-click = "fetchPackages()" href = "#tab6" data-toggle = "tab" > All Packages< / a > < / li >
2020-05-05 18:03:19 +05:00
< li > < a ng-click = "fetchPackages('CyberPanel')" href = "#tab7" data-toggle = "tab" > CyberPanel Packages< / a > < / li >
2020-04-30 18:18:48 +05:00
< img ng-hide = "cyberpanelLoading"
src="{% static 'images/loading.gif' %}">
2020-04-29 20:08:08 +05:00
< / ul >
< div class = "tab-content" >
< div class = "tab-pane active" id = "tab4" >
2020-05-03 23:18:09 +05:00
< a style = "float: left ; margin-bottom: 2%"
class="btn btn-border btn-alt border-azure btn-link font-azure" href="#"
title="">< span > Total Upgradeable Packages: {$ totalPackages $}< / span > < / a >
< a style = "float: left; margin-bottom: 2%; margin-left: 2%"
class="btn btn-border btn-alt border-blue-alt btn-link font-blue-alt" href="#"
title="">< span > Fetched Packages: {$ fetchedPackages $}< / span > < / a >
2020-05-04 13:36:27 +05:00
< a ng-click = "updatePackage('all')" data-toggle = "modal"
data-target="#updatePackage" style="margin-left: 1%"
class="btn btn-border btn-alt border-azure btn-link font-azure"
href="#"
title="">< span > Update All< / span > < / a >
< div id = "updatePackage" class = "modal fade" role = "dialog" >
< div class = "modal-dialog modal-lg" >
<!-- Modal content -->
< div class = "modal-content" >
< div class = "modal-header" >
< button type = "button" class = "close"
data-dismiss="modal">
×
< / button >
< h4 class = "modal-title" > Upgrading {$ package $}
package(s).
< img ng-hide = "cyberpanelLoading"
src="{% static 'images/loading.gif' %}">
< / h4 >
< / div >
< div class = "modal-body" >
< div class = "form-group" >
< div class = "col-sm-12" >
< div class = "col-sm-12" >
< textarea ng-model = "requestData"
class="form-control"
rows="12">< / textarea >
< / div >
< / div >
< / div >
< table class = "table" >
< / table >
< / div >
< div class = "modal-footer" >
< button type = "button"
ng-disabled="savingSettings"
class="btn btn-default"
data-dismiss="modal">
Close
< / button >
< / div >
< / div >
< / div >
< / div >
2020-05-03 23:18:09 +05:00
< div class = "col-sm-10"
style="padding: 0px; box-shadow: 0px 0px 1px 0px #888888; margin-bottom: 2%">
< input placeholder = "Search..."
ng-model="packSearch" name="packSearch" type="text"
class="form-control" required>
< / div >
< div class = "col-sm-2" >
< div class = "form-group" >
< select ng-model = "recordsToShow" ng-change = "fetchPackages('upgrade')"
class="form-control" id="example-select">
< option > 10< / option >
< option > 50< / option >
< option > 100< / option >
< option > 500< / option >
< / select >
< / div >
< / div >
< div class = "form-group" >
< div class = "col-sm-12" >
< table class = "table" style = "margin: 0px; padding: 0px" >
< thead >
< tr >
< th > {% trans "Package" %}< / th >
< th > {% trans "Version" %}< / th >
< th > {% trans "Upgrade" %}< / th >
2020-05-05 17:47:11 +05:00
< th > {% trans "Lock" %}< / th >
2020-05-03 23:18:09 +05:00
< th > {% trans "Actions" %}< / th >
< / tr >
< / thead >
< tbody >
< tr ng-repeat = "record in allPackages | filter:packSearch" >
< td ng-bind = "record.package" > < / td >
< td ng-bind = "record.version" > < / td >
< td ng-bind = "record.upgrade" > < / td >
2020-05-05 17:47:11 +05:00
< td >
2020-05-06 14:16:40 +05:00
< a ng-click = "lockStatus(record.package, 0)" href = "" > < i ng-show = "record.lock==1" class = "glyph-icon tooltip-button demo-icon icon-lock" title = "Packed is locked for upgrade." > < / i > < / a >
< a ng-click = "lockStatus(record.package, 1)" href = "" > < i ng-show = "record.lock==0" class = "glyph-icon tooltip-button demo-icon icon-unlock" title = "Package is unlocked" > < / i > < / a >
2020-05-05 17:47:11 +05:00
< / td >
2020-05-04 00:52:34 +05:00
< td >
< a data-toggle = "modal" data-target = "#packageDetails"
ng-click="fetchPackageDetails(record.package)"
class="btn btn-border btn-alt border-blue-alt btn-link font-blue-alt"
href="#"
title="">< span > Details< / span > < / a >
< div id = "packageDetails" class = "modal fade" role = "dialog" >
< div class = "modal-dialog modal-lg" >
<!-- Modal content -->
< div class = "modal-content" >
< div class = "modal-header" >
< button type = "button" class = "close"
data-dismiss="modal">
×
< / button >
< h4 class = "modal-title" > Package {$ package $}
details.
< img ng-hide = "cyberpanelLoading"
src="{% static 'images/loading.gif' %}">
< / h4 >
< / div >
< div class = "modal-body" >
< div class = "form-group" >
< div class = "col-sm-12" >
< div class = "col-sm-12" >
< textarea ng-model = "packageDetails"
class="form-control"
rows="12">< / textarea >
< / div >
< / div >
< / div >
< table class = "table" >
< / table >
< / div >
< div class = "modal-footer" >
< button type = "button"
ng-disabled="savingSettings"
class="btn btn-default"
data-dismiss="modal">
Close
< / button >
< / div >
< / div >
< / div >
< / div >
2020-05-04 13:36:27 +05:00
< a ng-click = "updatePackage(record.package)" data-toggle = "modal"
data-target="#updatePackage" style="margin-left: 1%"
2020-05-03 23:18:09 +05:00
class="btn btn-border btn-alt border-azure btn-link font-azure"
href="#"
2020-05-04 13:36:27 +05:00
title="">< span > Update< / span > < / a >
< div id = "updatePackage" class = "modal fade" role = "dialog" >
< div class = "modal-dialog modal-lg" >
<!-- Modal content -->
< div class = "modal-content" >
< div class = "modal-header" >
< button type = "button" class = "close"
data-dismiss="modal">
×
< / button >
< h4 class = "modal-title" > Upgrading {$ package $}
package(s).
< img ng-hide = "cyberpanelLoading"
src="{% static 'images/loading.gif' %}">
< / h4 >
< / div >
< div class = "modal-body" >
< div class = "form-group" >
< div class = "col-sm-12" >
< div class = "col-sm-12" >
< textarea ng-model = "requestData"
class="form-control"
rows="12">< / textarea >
< / div >
< / div >
< / div >
< table class = "table" >
< / table >
< / div >
< div class = "modal-footer" >
< button type = "button"
ng-disabled="savingSettings"
class="btn btn-default"
data-dismiss="modal">
Close
< / button >
< / div >
< / div >
< / div >
< / div >
< / td >
2020-05-03 23:18:09 +05:00
< / tr >
< / tbody >
< / table >
< / div >
< / div >
< div style = "margin-top: 2%" class = "row" >
< div style = "margin-top: 2%" class = "col-md-12" >
< div class = "row" >
< div class = "col-md-9" >
< / div >
< div class = "col-md-3" >
< div class = "form-group" >
< select ng-model = "currentPage" class = "form-control"
ng-change="fetchPackages('upgrade')">
< option ng-repeat = "page in pagination" > {$ $index + 1 $}
< / option >
< / select >
< / div >
< / div >
< / div > <!-- end row -->
< / div >
< / div >
2020-04-29 20:08:08 +05:00
< / div >
< div class = "tab-pane" id = "tab6" >
2020-05-02 17:51:01 +05:00
< a style = "float: left ; margin-bottom: 2%"
class="btn btn-border btn-alt border-azure btn-link font-azure" href="#"
title="">< span > Total Packages: {$ totalPackages $}< / span > < / a >
< a style = "float: left; margin-bottom: 2%; margin-left: 2%"
class="btn btn-border btn-alt border-blue-alt btn-link font-blue-alt" href="#"
title="">< span > Fetched Packages: {$ fetchedPackages $}< / span > < / a >
2020-04-30 18:18:48 +05:00
< div class = "col-sm-10"
style="padding: 0px; box-shadow: 0px 0px 1px 0px #888888; margin-bottom: 2%">
< input placeholder = "Search..."
ng-model="packSearch" name="packSearch" type="text"
class="form-control" required>
< / div >
< div class = "col-sm-2" >
< div class = "form-group" >
< select ng-model = "recordsToShow" ng-change = "fetchPackages()"
class="form-control" id="example-select">
< option > 10< / option >
< option > 50< / option >
< option > 100< / option >
2020-05-02 17:51:01 +05:00
< option > 500< / option >
2020-04-30 18:18:48 +05:00
< / select >
< / div >
< / div >
< div class = "form-group" >
< div class = "col-sm-12" >
< table class = "table" style = "margin: 0px; padding: 0px" >
< thead >
< tr >
< th > {% trans "Package" %}< / th >
< th > {% trans "Version" %}< / th >
2020-05-03 23:18:09 +05:00
< th > {% trans "Upgrade" %}< / th >
2020-05-05 17:47:11 +05:00
< th > {% trans "Lock" %}< / th >
2020-05-03 23:18:09 +05:00
< th > {% trans "Actions" %}< / th >
2020-04-30 18:18:48 +05:00
< / tr >
< / thead >
< tbody >
< tr ng-repeat = "record in allPackages | filter:packSearch" >
< td ng-bind = "record.package" > < / td >
< td ng-bind = "record.version" > < / td >
2020-05-03 23:18:09 +05:00
< td ng-bind = "record.upgrade" > < / td >
2020-05-05 17:47:11 +05:00
< td >
2020-05-06 14:16:40 +05:00
< a ng-click = "lockStatus(record.package, 0)" href = "" > < i ng-show = "record.lock==1" class = "glyph-icon tooltip-button demo-icon icon-lock" title = "Packed is locked for upgrade." > < / i > < / a >
< a ng-click = "lockStatus(record.package, 1)" href = "" > < i ng-show = "record.lock==0" class = "glyph-icon tooltip-button demo-icon icon-unlock" title = "Package is unlocked" > < / i > < / a >
2020-05-05 17:47:11 +05:00
< / td >
< td >
< a data-toggle = "modal" data-target = "#packageDetailsInstalled"
ng-click="fetchPackageDetails(record.package)"
class="btn btn-border btn-alt border-blue-alt btn-link font-blue-alt"
2020-05-03 23:18:09 +05:00
href="#"
2020-05-05 17:47:11 +05:00
title="">< span > Details< / span > < / a >
< div id = "packageDetailsInstalled" class = "modal fade" role = "dialog" >
< div class = "modal-dialog modal-lg" >
<!-- Modal content -->
< div class = "modal-content" >
< div class = "modal-header" >
< button type = "button" class = "close"
data-dismiss="modal">
×
< / button >
< h4 class = "modal-title" > Package {$ package $}
details.
< img ng-hide = "cyberpanelLoading"
src="{% static 'images/loading.gif' %}">
< / h4 >
< / div >
< div class = "modal-body" >
< div class = "form-group" >
< div class = "col-sm-12" >
< div class = "col-sm-12" >
< textarea ng-model = "packageDetails"
class="form-control"
rows="12">< / textarea >
< / div >
< / div >
< / div >
< table class = "table" >
< / table >
< / div >
< div class = "modal-footer" >
< button type = "button"
ng-disabled="savingSettings"
class="btn btn-default"
data-dismiss="modal">
Close
< / button >
< / div >
< / div >
< / div >
< / div >
< / td >
2020-04-30 18:18:48 +05:00
< / tr >
< / tbody >
< / table >
< / div >
< / div >
< div style = "margin-top: 2%" class = "row" >
< div class = "col-md-12" >
< div class = "row" >
< div class = "col-md-9" >
< / div >
< div class = "col-md-3" >
< div class = "form-group" >
< select ng-model = "currentPage" class = "form-control"
ng-change="fetchPackages()">
< option ng-repeat = "page in pagination" > {$ $index + 1 $}
< / option >
< / select >
< / div >
< / div >
< / div > <!-- end row -->
< / div >
< / div >
2020-04-29 20:08:08 +05:00
< / div >
< div class = "tab-pane" id = "tab7" >
2020-05-05 18:03:19 +05:00
< a style = "float: left ; margin-bottom: 2%"
class="btn btn-border btn-alt border-azure btn-link font-azure" href="#"
title="">< span > Total Packages: {$ totalPackages $}< / span > < / a >
< a style = "float: left; margin-bottom: 2%; margin-left: 2%"
class="btn btn-border btn-alt border-blue-alt btn-link font-blue-alt" href="#"
title="">< span > Fetched Packages: {$ fetchedPackages $}< / span > < / a >
< div id = "updatePackage" class = "modal fade" role = "dialog" >
< div class = "modal-dialog modal-lg" >
<!-- Modal content -->
< div class = "modal-content" >
< div class = "modal-header" >
< button type = "button" class = "close"
data-dismiss="modal">
×
< / button >
< h4 class = "modal-title" > Upgrading {$ package $}
package(s).
< img ng-hide = "cyberpanelLoading"
src="{% static 'images/loading.gif' %}">
< / h4 >
< / div >
< div class = "modal-body" >
< div class = "form-group" >
< div class = "col-sm-12" >
< div class = "col-sm-12" >
< textarea ng-model = "requestData"
class="form-control"
rows="12">< / textarea >
< / div >
< / div >
< / div >
< table class = "table" >
< / table >
< / div >
< div class = "modal-footer" >
< button type = "button"
ng-disabled="savingSettings"
class="btn btn-default"
data-dismiss="modal">
Close
< / button >
< / div >
< / div >
< / div >
< / div >
< div class = "col-sm-10"
style="padding: 0px; box-shadow: 0px 0px 1px 0px #888888; margin-bottom: 2%">
< input placeholder = "Search..."
ng-model="packSearch" name="packSearch" type="text"
class="form-control" required>
< / div >
< div class = "col-sm-2" >
< div class = "form-group" >
2020-05-05 22:40:09 +05:00
< select ng-model = "recordsToShow" ng-change = "fetchPackages('CyberPanel')"
2020-05-05 18:03:19 +05:00
class="form-control" id="example-select">
< option > 10< / option >
< option > 50< / option >
< option > 100< / option >
< option > 500< / option >
< / select >
< / div >
< / div >
< div class = "form-group" >
< div class = "col-sm-12" >
< table class = "table" style = "margin: 0px; padding: 0px" >
< thead >
< tr >
< th > {% trans "Package" %}< / th >
< th > {% trans "Version" %}< / th >
< th > {% trans "Lock" %}< / th >
< th > {% trans "Actions" %}< / th >
< / tr >
< / thead >
< tbody >
< tr ng-repeat = "record in allPackages | filter:packSearch" >
< td ng-bind = "record.package" > < / td >
< td ng-bind = "record.version" > < / td >
< td >
2020-05-06 14:16:40 +05:00
< a ng-click = "lockStatus(record.package, 0)" href = "" > < i ng-show = "record.lock==1" class = "glyph-icon tooltip-button demo-icon icon-lock" title = "Packed is locked for upgrade." > < / i > < / a >
< a ng-click = "lockStatus(record.package, 1)" href = "" > < i ng-show = "record.lock==0" class = "glyph-icon tooltip-button demo-icon icon-unlock" title = "Package is unlocked" > < / i > < / a >
2020-05-05 18:03:19 +05:00
< / td >
< td >
< a data-toggle = "modal" data-target = "#packageDetailsCyberPanel"
ng-click="fetchPackageDetails(record.package)"
class="btn btn-border btn-alt border-blue-alt btn-link font-blue-alt"
href="#"
title="">< span > Details< / span > < / a >
< div id = "packageDetailsCyberPanel" class = "modal fade" role = "dialog" >
< div class = "modal-dialog modal-lg" >
<!-- Modal content -->
< div class = "modal-content" >
< div class = "modal-header" >
< button type = "button" class = "close"
data-dismiss="modal">
×
< / button >
< h4 class = "modal-title" > Package {$ package $}
details.
< img ng-hide = "cyberpanelLoading"
src="{% static 'images/loading.gif' %}">
< / h4 >
< / div >
< div class = "modal-body" >
< div class = "form-group" >
< div class = "col-sm-12" >
< div class = "col-sm-12" >
< textarea ng-model = "packageDetails"
class="form-control"
rows="12">< / textarea >
< / div >
< / div >
< / div >
< table class = "table" >
< / table >
< / div >
< div class = "modal-footer" >
< button type = "button"
ng-disabled="savingSettings"
class="btn btn-default"
data-dismiss="modal">
Close
< / button >
< / div >
< / div >
< / div >
< / div >
< a ng-click = "updatePackage(record.package)" data-toggle = "modal"
data-target="#updatePackageCyberPanel" style="margin-left: 1%"
class="btn btn-border btn-alt border-azure btn-link font-azure"
href="#"
title="">< span > Update< / span > < / a >
< div id = "updatePackageCyberPanel" class = "modal fade" role = "dialog" >
< div class = "modal-dialog modal-lg" >
<!-- Modal content -->
< div class = "modal-content" >
< div class = "modal-header" >
< button type = "button" class = "close"
data-dismiss="modal">
×
< / button >
< h4 class = "modal-title" > Upgrading {$ package $}
package(s).
< img ng-hide = "cyberpanelLoading"
src="{% static 'images/loading.gif' %}">
< / h4 >
< / div >
< div class = "modal-body" >
< div class = "form-group" >
< div class = "col-sm-12" >
< div class = "col-sm-12" >
< textarea ng-model = "requestData"
class="form-control"
rows="12">< / textarea >
< / div >
< / div >
< / div >
< table class = "table" >
< / table >
< / div >
< div class = "modal-footer" >
< button type = "button"
ng-disabled="savingSettings"
class="btn btn-default"
data-dismiss="modal">
Close
< / button >
< / div >
< / div >
< / div >
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
< / div >
< div style = "margin-top: 2%" class = "row" >
< div style = "margin-top: 2%" class = "col-md-12" >
< div class = "row" >
< div class = "col-md-9" >
< / div >
< div class = "col-md-3" >
< div class = "form-group" >
< select ng-model = "currentPage" class = "form-control"
2020-05-05 22:40:09 +05:00
ng-change="fetchPackages('CyberPanel')">
2020-05-05 18:03:19 +05:00
< option ng-repeat = "page in pagination" > {$ $index + 1 $}
< / option >
< / select >
< / div >
< / div >
< / div > <!-- end row -->
< / div >
< / div >
2020-04-29 20:08:08 +05:00
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
{% endblock %}