Commit Graph

2564 Commits

Author SHA1 Message Date
Robb 8f372f5610 Merge pull request #136 from radiorabe/feature/freeipa-auth
FreeIPA Auth Adaptor for LibreTime
2017-04-03 11:50:23 -04:00
Robb Ebright 8a92c80bcb Fixed autoplaylist repeat to fill show 2017-04-01 01:00:00 -04:00
Robb Ebright 1ff48a32cd added missing dn function 2017-03-31 11:46:39 -04:00
Robb Ebright 4489b68d48 now with propel database autogen changes 2017-03-31 11:29:23 -04:00
Lucas Bickel aa5bc06d74 FreeIPA Auth Adaptor for LibreTime
Allow delegating user authentication to FreeIPA rather than having it be checked against the database.
2017-03-31 14:16:31 +02:00
Robb Ebright c12ad4ea4f added UI to toggle autoplaylist repeat option 2017-03-31 00:00:19 -04:00
Robb Ebright 0fdd6d8d57 sort autoplaylists alphabetically 2017-03-30 22:45:29 -04:00
Lucas Bickel caaa0c0e2a Fix locale generation for js dicts 2017-03-23 23:01:20 +01:00
Lucas Bickel 01aef516e4 Merge pull request #109 from Robbt/fix/auto-playlist-validation
Fixing dependence upon hard-coded password in AutoPlaylist
2017-03-23 10:59:58 +01:00
Lucas Bickel 1fc1e6a199 Get rid of session use in auto playlist
The user object was triggering the creation of a user context that tried to grab something from the session. The later code never tried to use this due to the checkPerm flag.

I'm assuming the user model used to have a sane constructor w/o side effects in the times where this code had it's heyday.
2017-03-22 12:26:18 +01:00
Robb Ebright 934cad44b5 Fixing dependence upon hard-coded password by modifying playlist build to not require authentication 2017-03-21 15:02:31 -04:00
Lucas Bickel 06a3ad0ed3 Re-implement version check
This makes LibreTime check its version against github releases and lets the user know when to update. It uses the red exclamation point when there is a patch release or if LibreTime is more than one major release ahead. The orange icon is used when LibreTime is on a git install, a single major update is available, or a pre-release version is installed. The green update icon gets used to signify that a new minor release is available. Finally the green checkmark will be used when you are on a stable release.
2017-03-20 20:36:46 +01:00
Lucas Bickel 81d3c3e2b8 Merge pull request #84 from Robbt/fix/live-stream-source
[WIP] Making show and master source ports and mount points editable.
2017-03-20 02:06:58 +01:00
Robb 6ad3fd87cc Merge pull request #95 from radiorabe/feature/per-podcast-album-override
per podcast album override
2017-03-18 14:49:49 -04:00
Lucas Bickel 4527b63c7b General fixes for TLS
This was tested in airtime web and with integration of media-monitor and silan up and running. It might work for pypo but that needs testing.
2017-03-18 15:47:50 +01:00
Lucas Bickel 7f00182913 Allow 0 file_id in third_party_trackrefs
The previous constraint of NOT NULL made it impossible to create a placeholder entry for later downloading. This uses a 0 default instead of the constraint and downloading as well as the green checkbox work again.
2017-03-18 11:37:45 +01:00
Lucas Bickel a2eb4b2297 Add album_override field for imported_podcasts 2017-03-17 11:52:03 +01:00
Lucas Bickel ae4c9203e6 Refactor override preference
Properly defaults the preference to be true and always return a boolean value since that is what celery will be expecting.
2017-03-17 02:10:04 +01:00
Robb Ebright fefc53c000 basic podcast album override option in preferences 2017-03-16 16:48:31 -04:00
Robb Ebright 4c8f2ad435 fixed default and override URL settings and removed unused validation 2017-03-16 10:18:43 -04:00
Robb Ebright e873e0d8da Merge branch 'fix/live-stream-source' of https://github.com/Robbt/libretime into Robbt-fix/live-stream-source 2017-03-14 19:22:32 -04:00
Robb 44d3d46904 Merge pull request #80 from radiorabe/feature/reset-password-without-whmcs
Make password reset work for eveyone
2017-03-14 19:07:27 -04:00
Robb 3eaa999130 Merge pull request #81 from radiorabe/feature/email-from-header-config
Change default email sender
2017-03-14 00:06:30 -04:00
Robb Ebright 67ffd2d34a Making show and master source ports and mount points editable. 2017-03-14 01:15:14 +00:00
Robb Ebright 99a3150db5 changed default streamsetting to match the baseurl vs. out.airtime.pro 2017-03-13 20:37:51 +00:00
Lucas Bickel 88b3eb22a0 Change default email sender
The new noreply@ address is now libretime.org and the address gets moved to contants.php rather than being hardcoded in the email model.
2017-03-13 20:46:39 +01:00
Lucas Bickel 61cde1557f Make password reset work for eveyone
This stops distinguishing between superadmin users from whmcs vs regular local users on the password reset page.
2017-03-13 20:39:21 +01:00
Robb Ebright ba9f7879a4 modified smart block to not exceed the time limits. 2017-03-12 22:36:36 -04:00
Lucas Bickel 260ebe2476 Fix listenerstat page
Deactivates the bandwidth limit stuff if none is configured.
2017-03-12 15:13:45 +01:00
Robb ff83784864 Merge pull request #56 from radiorabe/feature/version-reporting
Harmonize version reporting in ui and api
2017-03-11 19:06:28 -05:00
Robb 2be8ef0f2b Merge pull request #55 from radiorabe/feature/autodj
Robbs AutoDJ
2017-03-11 18:41:08 -05:00
Lucas Bickel bd18caf69d Harmonize version reporting in ui and api
Everything should use the version from the VERSION file created by the installer like this.
2017-03-10 20:38:43 +01:00
Lucas Bickel 86ff6e8e12 Remove remainder of legacy doctrine code 2017-03-10 18:37:11 +01:00
Lucas Bickel 2a53241ba3 Whitespace and deadcode nitpick 2017-03-10 16:27:46 +01:00
Robb Ebright 32a1a66378 Added AutoPlaylist Functionality to Show Scheduler enabling shows to have tracks added automatically. 2017-03-10 15:33:32 +01:00
Lucas Bickel baa0f9ba77 Make CORS great again
This fixes CORS to work properly with most 2.5 api endpoints while keeping the JSONP format available.

* [x] return JSONP or JSON with proper CORS headers from API
* [x] Field in Genereal Preferences Form to configure CORS enabled URLs

See #17 for what triggered this refactor. I beleive this should make integrating the APIs on the client side trivial without mandating the use of JSONP.
2017-03-10 15:10:56 +01:00
Robb be00c68ed0 Merge pull request #45 from radiorabe/feature/remove-pref-cache-in-mvc
completely remove deactivated cache
2017-03-09 20:37:42 -05:00
Robb 945998f836 Merge pull request #49 from radiorabe/feature/refactor-help-menu
Update naming and links in constants
2017-03-08 20:30:12 -05:00
Lucas Bickel 272c295974 Update naming and links in constants
This is to get the help section to look better and point to somewhere users can find us. It also takes care of /dashboard/about and maybe more.

Some of the links I'm adding are 404 as we have yet to write them, I'd rather link something we have under our control rather than legacy transifex or others.
2017-03-08 16:26:18 +01:00
Lucas Bickel 70e6135e93 Restore full disk usage not based on quota
This is mostly a restore of how this used to be implemented.
2017-03-08 15:56:43 +01:00
Lucas Bickel 21356d1894 completely remove deactivated cache
Cache handling has been disabled on saas-dev and 2.5.x at least for a while. This gets completely rid of it.

You should do caching on the byte-code level in PHP using the tool best fitting your needs and depending on the exact PHP version you are running this on.

Proper cache hygiene ist a routine part of maintenance and may need seperate addressing depending on the needs of your station.
2017-03-07 05:43:05 +01:00
Robb 6085a8fd27 Merge pull request #22 from radiorabe/feature/use-zend-file-transfer-for-plupload
Use Zend_File_Transfer instead of $_FILES
2017-03-04 22:15:19 -05:00
Lucas Bickel 7c86991c50 Merge pull request #11 from radiorabe/feature/disable-billing
Problem: Billing is always on
2017-03-04 16:10:50 +01:00
Lucas Bickel 0b704e95f1 Use Zend_File_Transfer instead of $_FILES
This should give us more information in the case of an error and is the framework idiomatic way to handle a RESTful file upload.

I'm hoping this helps debug https://github.com/LibreTime/libretime/issues/3
2017-03-04 11:09:06 +01:00
Lucas Bickel e28ad471f9 Rewrite config from /etc/airtime-saas to plain /etc/airtime
This is the results of sed -i -e 's|/etc/airtime-saas/|/etc/airtime/|' `grep -irl 'airtime-saas' airtime_mvc/ python_apps/` :P

It might need more testing, the airtime-saas part never really made sense, zf1 has environments for that, ie you would create a saas env based on production for instance.

I beleive legacy upstream was using this to share configuration between customers (ie. analyser runs only once and writes to a shared S3 bucket). I assume they mount the airtime-saas folder onto individual customers instances with a global config. Like I said, I don't feel that this makes sense since all it does is make hacking at the configs in airtime-saas a bit easier. A serious SaaS operation should be using something like puppet or ansible to achieve this.
2017-03-03 15:57:41 +01:00
Lucas Bickel 6e03863fa1 Problem: Billing is always on
Solution: Make billing configurable through LIBRETIME_ENABLE_BILLING and deactivate it

This should catch all the changes needed to deactive billing in LibreTime.

* [x] only call billing when it is enabled
* [x] let super admins edit their info
* [x] dont link to billing if it is disabled
2017-03-03 15:34:54 +01:00
Lucas Bickel 21a319767f Fix missing AMQPConnection errors in setup
Also fixes them elsewhere, apart from having switched to a vendorized version, I also used one that is already namespaced.

The easy way out here is to use it in the namespaced fashion, it is only used in a few places and I know the library well enough to be certain that nothing much changed apart from the namespacing.
2017-03-02 12:38:44 +01:00
Lucas Bickel 625f92fe44 Vendorize ZF1, fix PHPUnit and configure travis
This a a rather large commit due to the nature of the stuff it is touching. To get PHPUnit up and running again I had to update some deps and I did so by vendorizing them. The vendorizing of zf1 makes sense since distros are already considering to drop it from their repos.

* [x] install vendorized zf1 with composer
* [x] load composer autoloader before zf1
* [x] Implement headAction for all Zend_Rest_Controller based controllers
* [x] switch to yml dataset to get around string only limitations of xml sets (also removed warning in readme)
* [x] use year 2044 as hardcoded date for tests since it is in the future and has the same days like previously used 2016
* [x] make tests easier to run when accessing phpunit directly
* [x] clean up test helper to always use airtime.conf
* [x] switch test dbname to libretime_test
* [x] test db username password switched to libretime/libretime
* [x] install phpunit with composer in a clear version (make tests easier to reproduce on other platforms)
* [x] remove local libs from airtime repo (most of airtime_mvc/library was not needed of in vendor already)
* [x] configure composer autoloading and use it (also removed requires that are not needed anymore)
* [x] add LibreTime prefix for FileNotFoundException (phing had a similar class and these are all pre-namespace style)
* [x] add .travis.yml file
* [x] make etc and logdir configurable with LIBRETIME_CONF_DIR and LIBRETIME_LOG_DIR env (so travis can change it)
* [x] slight cleanup in config for travis not to fail
* [x] add cloud_storage.conf for during test runs
* [x] rewrite mvc testing docs and move them to docs/ folder
* [x] don't use `static::class` in a class that does not have a parent class, use `__CLASS__` instead.
* [x] don't use `<ClassName>::class`, since we already know what class we want `"<ClassName>"` ist just fine.
* [x] fix "can't use method in write context" errors on 5.4 (also helps the optimizer)
* [x] add build status badge on main README.md

Fixes https://github.com/LibreTime/libretime/issues/4

The PHP parts of https://github.com/LibreTime/libretime/pull/10 get obsoleted by this change and it will need rebasing.

This also contains https://github.com/LibreTime/libretime/pull/8, the late static binding compat code was broken for no reason and until CentOS drops php 5.4 there is no reason I'm aware of not to support it. I inlined #8 since the test would be failing on php 5.4 without the change.

If you want to run tests you need to run `composer install` in the root directory and then `cd airtime_mvc/tests && ../../vendor/bin/phpunit`. For the tests to run the user `libretime` needs to be allowed to create the `libretime_test` database. See `docs/TESTING.md` for more info on getting set up.
2017-02-27 17:59:01 +01:00
Robb Ebright 276a69aa1b Porting commits from downloaded zip file of saas-dev branch 2017-02-13 18:22:22 +01:00
Albert Santoni db596d54b5 Fix bug in my last commit 2015-12-11 12:29:59 -05:00