Merge branch '2.5.x' into saas
This commit is contained in:
commit
7e2cc65f32
|
@ -88,11 +88,19 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable
|
||||||
|
|
||||||
public static function deleteStreams($p_ids, $p_userId)
|
public static function deleteStreams($p_ids, $p_userId)
|
||||||
{
|
{
|
||||||
$leftOver = self::streamsNotOwnedByUser($p_ids, $p_userId);
|
$userInfo = Zend_Auth::getInstance()->getStorage()->read();
|
||||||
if (count($leftOver) == 0) {
|
$user = new Application_Model_User($userInfo->id);
|
||||||
CcWebstreamQuery::create()->findPKs($p_ids)->delete();
|
$isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER));
|
||||||
|
|
||||||
|
if (!$isAdminOrPM) {
|
||||||
|
$leftOver = self::streamsNotOwnedByUser($p_ids, $p_userId);
|
||||||
|
if (count($leftOver) == 0) {
|
||||||
|
CcWebstreamQuery::create()->findPKs($p_ids)->delete();
|
||||||
|
} else {
|
||||||
|
throw new WebstreamNoPermissionException;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new WebstreamNoPermissionException;
|
CcWebstreamQuery::create()->findPKs($p_ids)->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1059,7 +1059,10 @@ var AIRTIME = (function(AIRTIME){
|
||||||
"<i class='icon-white icon-ban-circle'></i></button></div>");
|
"<i class='icon-white icon-ban-circle'></i></button></div>");
|
||||||
}
|
}
|
||||||
|
|
||||||
$toolbar.append($menu);
|
if (localStorage.getItem('user-type') != 'G') {
|
||||||
|
$toolbar.append($menu);
|
||||||
|
}
|
||||||
|
|
||||||
$menu = undefined;
|
$menu = undefined;
|
||||||
|
|
||||||
$('#timeline-sa').click(function(){mod.selectAll();});
|
$('#timeline-sa').click(function(){mod.selectAll();});
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import ConfigParser
|
||||||
|
import argparse
|
||||||
|
import requests
|
||||||
|
from urlparse import urlparse
|
||||||
|
import sys
|
||||||
|
|
||||||
|
CONFIG_PATH='/etc/airtime/airtime.conf'
|
||||||
|
GENERAL_CONFIG_SECTION = "general"
|
||||||
|
|
||||||
|
def read_config_file(config_path):
|
||||||
|
"""Parse the application's config file located at config_path."""
|
||||||
|
config = ConfigParser.SafeConfigParser()
|
||||||
|
try:
|
||||||
|
config.readfp(open(config_path))
|
||||||
|
except IOError as e:
|
||||||
|
print "Failed to open config file at " + config_path + ": " + e.strerror
|
||||||
|
exit(-1)
|
||||||
|
except Exception:
|
||||||
|
print e.strerror
|
||||||
|
exit(-1)
|
||||||
|
|
||||||
|
return config
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
config = read_config_file(CONFIG_PATH)
|
||||||
|
api_key = config.get(GENERAL_CONFIG_SECTION, 'api_key')
|
||||||
|
base_url = config.get(GENERAL_CONFIG_SECTION, 'base_url')
|
||||||
|
base_dir = config.get(GENERAL_CONFIG_SECTION, 'base_dir')
|
||||||
|
action = "upgrade"
|
||||||
|
airtime_url = ""
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('--downgrade', help='Downgrade the station', action="store_true")
|
||||||
|
parser.add_argument('station_url', help='station URL', nargs='?', default='')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.downgrade:
|
||||||
|
action = "downgrade"
|
||||||
|
|
||||||
|
if airtime_url == "":
|
||||||
|
airtime_url = "http://%s%s" % (base_url, base_dir)
|
||||||
|
|
||||||
|
# Add http:// if you were lazy and didn't pass a scheme to this script
|
||||||
|
url = urlparse(airtime_url)
|
||||||
|
if not url.scheme:
|
||||||
|
airtime_url = "http://%s" % airtime_url
|
||||||
|
|
||||||
|
print "Requesting %s..." % action
|
||||||
|
r = requests.get("%s/%s" % (airtime_url, action), auth=(api_key, ''))
|
||||||
|
print r.text
|
||||||
|
r.raise_for_status()
|
||||||
|
|
Loading…
Reference in New Issue