From 58d39d74d471bb7d2c37acbd9caf60d4c569034d Mon Sep 17 00:00:00 2001 From: denise Date: Tue, 11 Sep 2012 17:18:17 -0400 Subject: [PATCH 1/2] CC-4355: Smart block criteria do not match library columns or metadata editor -fixed --- .../application/forms/SmartBlockCriteria.php | 43 +++++------ airtime_mvc/application/models/Block.php | 72 ++++++++++--------- airtime_mvc/application/models/StoredFile.php | 4 +- .../public/js/airtime/library/library.js | 13 ++-- .../js/airtime/playlist/smart_blockbuilder.js | 52 +++++++------- 5 files changed, 94 insertions(+), 90 deletions(-) diff --git a/airtime_mvc/application/forms/SmartBlockCriteria.php b/airtime_mvc/application/forms/SmartBlockCriteria.php index 4627b7646..8fc9e52ef 100644 --- a/airtime_mvc/application/forms/SmartBlockCriteria.php +++ b/airtime_mvc/application/forms/SmartBlockCriteria.php @@ -5,12 +5,12 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm 0 => "Select criteria", "album_title" => "Album", "bit_rate" => "Bit Rate (Kbps)", - "bpm" => "Bpm", - "comments" => "Comments", + "bpm" => "BPM", "composer" => "Composer", "conductor" => "Conductor", + "copyright" => "Copyright", "artist_name" => "Creator", - "disc_number" => "Disc Number", + "encoded_by" => "Encoded By", "genre" => "Genre", "isrc_number" => "ISRC", "label" => "Label", @@ -18,44 +18,44 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm "mtime" => "Last Modified", "lptime" => "Last Played", "length" => "Length", - "lyricist" => "Lyricist", + "mime" => "Mime", "mood" => "Mood", - "name" => "Name", - "orchestra" => "Orchestra", - "rating" => "Rating", + "owner_id" => "Owner", + "replay_gain" => "Replay Gain", "sample_rate" => "Sample Rate (kHz)", "track_title" => "Title", "track_number" => "Track Number", "utime" => "Uploaded", + "info_url" => "Website", "year" => "Year" ); private $criteriaTypes = array( 0 => "", "album_title" => "s", - "artist_name" => "s", "bit_rate" => "n", "bpm" => "n", - "comments" => "s", "composer" => "s", "conductor" => "s", + "copyright" => "s", + "artist_name" => "s", + "encoded_by" => "s", "utime" => "n", "mtime" => "n", "lptime" => "n", - "disc_number" => "n", "genre" => "s", "isrc_number" => "s", "label" => "s", "language" => "s", "length" => "n", - "lyricist" => "s", + "mime" => "s", "mood" => "s", - "name" => "s", - "orchestra" => "s", - "rating" => "n", + "owner_id" => "s", + "replay_gain" => "n", "sample_rate" => "n", "track_title" => "s", "track_number" => "n", + "info_url" => "s", "year" => "n" ); @@ -382,23 +382,23 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm "artist_name" => "DbArtistName", "bit_rate" => "DbBitRate", "bpm" => "DbBpm", - "comments" => "DbComments", "composer" => "DbComposer", "conductor" => "DbConductor", + "copyright" => "DbCopyright", + "encoded_by" => "DbEncodedBy", "utime" => "DbUtime", "mtime" => "DbMtime", "lptime" => "DbLPtime", - "disc_number" => "DbDiscNumber", "genre" => "DbGenre", + "info_url" => "DbInfoUrl", "isrc_number" => "DbIsrcNumber", "label" => "DbLabel", "language" => "DbLanguage", "length" => "DbLength", - "lyricist" => "DbLyricist", + "mime" => "DbMime", "mood" => "DbMood", - "name" => "DbName", - "orchestra" => "DbOrchestra", - "rating" => "DbRating", + "owner_id" => "DbOwnerId", + "replay_gain" => "DbReplayGain", "sample_rate" => "DbSampleRate", "track_title" => "DbTrackTitle", "track_number" => "DbTrackNumber", @@ -489,7 +489,8 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm } } } - } elseif ($column->getType() == PropelColumnTypes::INTEGER) { + } elseif ($column->getType() == PropelColumnTypes::INTEGER && + $d['sp_criteria_field'] != 'owner_id') { if (!is_numeric($d['sp_criteria_value'])) { $element->addError("The value has to be numeric"); $isValid = false; diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php index dc05ab5a0..4c69f9fca 100644 --- a/airtime_mvc/application/models/Block.php +++ b/airtime_mvc/application/models/Block.php @@ -60,23 +60,23 @@ class Application_Model_Block implements Application_Model_LibraryEditable "artist_name" => "DbArtistName", "bit_rate" => "DbBitRate", "bpm" => "DbBpm", - "comments" => "DbComments", "composer" => "DbComposer", "conductor" => "DbConductor", + "copyright" => "DbCopyright", + "encoded_by" => "DbEncodedBy", "utime" => "DbUtime", "mtime" => "DbMtime", "lptime" => "DbLPtime", - "disc_number" => "DbDiscNumber", "genre" => "DbGenre", + "info_url" => "DbInfoUrl", "isrc_number" => "DbIsrcNumber", "label" => "DbLabel", "language" => "DbLanguage", "length" => "DbLength", - "lyricist" => "DbLyricist", + "mime" => "DbMime", "mood" => "DbMood", - "name" => "DbName", - "orchestra" => "DbOrchestra", - "rating" => "DbRating", + "owner_id" => "DbOwnerId", + "replay_gain" => "DbReplayGain", "sample_rate" => "DbSampleRate", "track_title" => "DbTrackTitle", "track_number" => "DbTrackNumber", @@ -325,7 +325,7 @@ EOT; { $sql = "SELECT SUM(cliplength) as length FROM cc_blockcontents WHERE block_id = :block_id"; $result = Application_Common_Database::prepareAndExecute($sql, array(':block_id'=>$this->id), 'all', PDO::FETCH_NUM); - Logging::info($result); + //Logging::info($result); return $result[0][0]; } @@ -1049,7 +1049,7 @@ EOT; { // delete criteria under $p_blockId CcBlockcriteriaQuery::create()->findByDbBlockId($this->id)->delete(); - Logging::info($p_criteriaData); + //Logging::info($p_criteriaData); //insert modifier rows if (isset($p_criteriaData['criteria'])) { $critKeys = array_keys($p_criteriaData['criteria']); @@ -1145,32 +1145,32 @@ EOT; public function getCriteria() { $criteriaOptions = array( - 0 => "Select criteria", - "album_title" => "Album", - "bit_rate" => "Bit Rate", - "bpm" => "Bpm", - "comments" => "Comments", - "composer" => "Composer", - "conductor" => "Conductor", - "artist_name" => "Creator", - "disc_number" => "Disc Number", - "genre" => "Genre", - "isrc_number" => "ISRC", - "label" => "Label", - "language" => "Language", - "mtime" => "Last Modified", - "lptime" => "Last Played", - "length" => "Length", - "lyricist" => "Lyricist", - "mood" => "Mood", - "name" => "Name", - "orchestra" => "Orchestra", - "rating" => "Rating", - "sample_rate" => "Sample Rate", - "track_title" => "Title", + 0 => "Select criteria", + "album_title" => "Album", + "bit_rate" => "Bit Rate (Kbps)", + "bpm" => "BPM", + "composer" => "Composer", + "conductor" => "Conductor", + "copyright" => "Copyright", + "artist_name" => "Creator", + "encoded_by" => "Encoded By", + "genre" => "Genre", + "isrc_number" => "ISRC", + "label" => "Label", + "language" => "Language", + "mtime" => "Last Modified", + "lptime" => "Last Played", + "length" => "Length", + "mime" => "Mime", + "mood" => "Mood", + "owner_id" => "Owner", + "replay_gain" => "Replay Gain", + "sample_rate" => "Sample Rate (kHz)", + "track_title" => "Title", "track_number" => "Track Number", - "utime" => "Uploaded", - "year" => "Year" + "utime" => "Uploaded", + "info_url" => "Website", + "year" => "Year" ); // Load criteria from db @@ -1200,12 +1200,13 @@ EOT; $storedCrit = $this->getCriteria(); $qry = CcFilesQuery::create(); + $qry->useFkOwnerQuery("subj", "left join"); if (isset($storedCrit["crit"])) { foreach ($storedCrit["crit"] as $crit) { $i = 0; foreach ($crit as $criteria) { - $spCriteriaPhpName = self::$criteria2PeerMap[$criteria['criteria']]; + //$spCriteriaPhpName = self::$criteria2PeerMap[$criteria['criteria']]; $spCriteria = $criteria['criteria']; $spCriteriaModifier = $criteria['modifier']; @@ -1274,6 +1275,9 @@ EOT; $spCriteriaModifier = self::$modifier2CriteriaMap[$spCriteriaModifier]; try { + if ($spCriteria == "owner_id") { + $spCriteria = "subj.login"; + } if ($i > 0) { $qry->addOr($spCriteria, $spCriteriaValue, $spCriteriaModifier); } else { diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index e69599ce8..0e7cf25e4 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -649,7 +649,7 @@ class Application_Model_StoredFile $displayColumns = array("id", "track_title", "artist_name", "album_title", "genre", "length", "year", "utime", "mtime", "ftype", "track_number", "mood", "bpm", "composer", "info_url", "bit_rate", "sample_rate", "isrc_number", "encoded_by", "label", "copyright", "mime", - "language", "filepath", "owner", "conductor", "replay_gain", "lptime" + "language", "filepath", "owner_id", "conductor", "replay_gain", "lptime" ); //Logging::info($datatables); @@ -680,7 +680,7 @@ class Application_Model_StoredFile $blSelect[] = "login AS ".$key; $fileSelect[] = $key; $streamSelect[] = "login AS ".$key; - } elseif ($key === "owner") { + } elseif ($key === "owner_id") { $plSelect[] = "login AS ".$key; $blSelect[] = "login AS ".$key; $fileSelect[] = "sub.login AS $key"; diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index 140750762..1055ff87c 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -36,7 +36,7 @@ var AIRTIME = (function(AIRTIME) { "track_title" : "s", "track_num" : "n", "year" : "n", - "owner" : "s", + "owner_id" : "s", "replay_gain" : "n" }; @@ -414,20 +414,20 @@ var AIRTIME = (function(AIRTIME) { /* Upload Time */ { "sTitle" : "Uploaded" , "mDataProp" : "utime" , "sClass" : "library_upload_time" , "sWidth" : "125px" } , /* Last Modified */ { "sTitle" : "Last Modified" , "mDataProp" : "mtime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" } , /* Last Played */ { "sTitle" : "Last Played " , "mDataProp" : "lptime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" } , - /* Track Number */ { "sTitle" : "Track" , "mDataProp" : "track_number" , "bVisible" : false , "sClass" : "library_track" , "sWidth" : "65px" } , + /* Track Number */ { "sTitle" : "Track Number" , "mDataProp" : "track_number" , "bVisible" : false , "sClass" : "library_track" , "sWidth" : "65px" } , /* Mood */ { "sTitle" : "Mood" , "mDataProp" : "mood" , "bVisible" : false , "sClass" : "library_mood" , "sWidth" : "70px" } , /* BPM */ { "sTitle" : "BPM" , "mDataProp" : "bpm" , "bVisible" : false , "sClass" : "library_bpm" , "sWidth" : "50px" } , /* Composer */ { "sTitle" : "Composer" , "mDataProp" : "composer" , "bVisible" : false , "sClass" : "library_composer" , "sWidth" : "150px" } , /* Website */ { "sTitle" : "Website" , "mDataProp" : "info_url" , "bVisible" : false , "sClass" : "library_url" , "sWidth" : "150px" } , /* Bit Rate */ { "sTitle" : "Bit Rate" , "mDataProp" : "bit_rate" , "bVisible" : false , "sClass" : "library_bitrate" , "sWidth" : "80px" } , - /* Sample Rate */ { "sTitle" : "Sample" , "mDataProp" : "sample_rate" , "bVisible" : false , "sClass" : "library_sr" , "sWidth" : "80px" } , + /* Sample Rate */ { "sTitle" : "Sample Rate" , "mDataProp" : "sample_rate" , "bVisible" : false , "sClass" : "library_sr" , "sWidth" : "80px" } , /* ISRC Number */ { "sTitle" : "ISRC" , "mDataProp" : "isrc_number" , "bVisible" : false , "sClass" : "library_isrc" , "sWidth" : "150px" } , /* Encoded */ { "sTitle" : "Encoded By" , "mDataProp" : "encoded_by" , "bVisible" : false , "sClass" : "library_encoded" , "sWidth" : "150px" } , /* Label */ { "sTitle" : "Label" , "mDataProp" : "label" , "bVisible" : false , "sClass" : "library_label" , "sWidth" : "125px" } , /* Copyright */ { "sTitle" : "Copyright" , "mDataProp" : "copyright" , "bVisible" : false , "sClass" : "library_copyright" , "sWidth" : "125px" } , /* Mime */ { "sTitle" : "Mime" , "mDataProp" : "mime" , "bVisible" : false , "sClass" : "library_mime" , "sWidth" : "80px" } , /* Language */ { "sTitle" : "Language" , "mDataProp" : "language" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" } , - /* Owner */ { "sTitle" : "Owner" , "mDataProp" : "owner" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" } , + /* Owner */ { "sTitle" : "Owner" , "mDataProp" : "owner_id" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" } , /* Conductor */ { "sTitle" : "Conductor" , "mDataProp" : "conductor" , "bVisible" : false , "sClass" : "library_conductor" , "sWidth" : "125px" }, /* Replay Gain */ { "sTitle" : "Replay Gain" , "mDataProp" : "replay_gain" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "80px" } ], @@ -1115,13 +1115,12 @@ var validationTypes = { "mood" : "s", "name" : "s", "orchestra" : "s", - "owner" : "s", + "owner_id" : "s", "rating" : "i", "replay_gain" : "n", "sample_rate" : "i", "track_title" : "s", "track_number" : "i", "info_url" : "s", - "year" : "i", - "lptime" : "t" + "year" : "i" }; diff --git a/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js b/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js index e53c33f81..503e243a8 100644 --- a/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js +++ b/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js @@ -520,32 +520,32 @@ function disableLoadingIcon() { } var criteriaTypes = { - 0 : "", - "album_title" : "s", - "artist_name" : "s", - "bit_rate" : "n", - "bpm" : "n", - "comments" : "s", - "composer" : "s", - "conductor" : "s", - "utime" : "n", - "mtime" : "n", - "lptime" : "n", - "disc_number" : "n", - "genre" : "s", - "isrc_number" : "s", - "label" : "s", - "language" : "s", - "length" : "n", - "lyricist" : "s", - "mood" : "s", - "name" : "s", - "orchestra" : "s", - "rating" : "n", - "sample_rate" : "n", - "track_title" : "s", - "track_num" : "n", - "year" : "n" + 0 : "", + "album_title" : "s", + "bit_rate" : "n", + "bpm" : "n", + "composer" : "s", + "conductor" : "s", + "copyright" : "s", + "artist_name" : "s", + "encoded_by" : "s", + "utime" : "n", + "mtime" : "n", + "lptime" : "n", + "genre" : "s", + "isrc_number" : "s", + "label" : "s", + "language" : "s", + "length" : "n", + "mime" : "s", + "mood" : "s", + "owner_id" : "s", + "replay_gain" : "n", + "sample_rate" : "n", + "track_title" : "s", + "track_number" : "n", + "info_url" : "s", + "year" : "n" }; var stringCriteriaOptions = { From f1b8ada1e61bc6204b88749efbea713d15f72555 Mon Sep 17 00:00:00 2001 From: denise Date: Tue, 11 Sep 2012 17:19:02 -0400 Subject: [PATCH 2/2] - removed logging --- airtime_mvc/public/js/airtime/library/library.js | 1 - 1 file changed, 1 deletion(-) diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index 1055ff87c..543ec1e40 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -351,7 +351,6 @@ var AIRTIME = (function(AIRTIME) { if (ele.bSearchable) { var currentColId = ele._ColReorder_iOrigCol; var label = ""; - console.log(ele); if (ele.mDataProp == "bit_rate") { label = " (bps)"; } else if (ele.mDataProp == "utime" || ele.mDataPro == "mtime" || ele.mDataPro == "lptime") {