[dev] [commit] r971 - in wwwbase: admin js
automailer at dexonline.ro
automailer at dexonline.ro
Fri Aug 30 17:22:26 EEST 2013
Author: cata
Date: Fri Aug 30 17:22:25 2013
New Revision: 971
Log:
Allow admins to add new lexems straight from definitionEdit.php.
Modified:
wwwbase/admin/definitionEdit.php
wwwbase/js/select2Dev.js
Modified: wwwbase/admin/definitionEdit.php
==============================================================================
--- wwwbase/admin/definitionEdit.php Fri Aug 30 14:24:39 2013 (r970)
+++ wwwbase/admin/definitionEdit.php Fri Aug 30 17:22:25 2013 (r971)
@@ -92,9 +92,16 @@
$lexems = array();
$ldms = array();
foreach ($lexemIds as $lexemId) {
- $l = Lexem::get_by_id($lexemId);
+ if (StringUtil::startsWith($lexemId, '@')) {
+ // create a new lexem
+ $l = Lexem::create(substr($lexemId, 1), 'T', '1', '');
+ $l->save();
+ $l->regenerateParadigm();
+ } else {
+ $l = Lexem::get_by_id($lexemId);
+ }
$lexems[] = $l;
- $ldms[] = LexemDefinitionMap::create($lexemId, $definitionId);
+ $ldms[] = LexemDefinitionMap::create($l->id, $definitionId);
}
} else {
$lexems = Model::factory('Lexem')->select('Lexem.*')->join('LexemDefinitionMap', 'Lexem.id = lexemId', 'ldm')
Modified: wwwbase/js/select2Dev.js
==============================================================================
--- wwwbase/js/select2Dev.js Fri Aug 30 14:24:39 2013 (r970)
+++ wwwbase/js/select2Dev.js Fri Aug 30 17:22:25 2013 (r971)
@@ -50,6 +50,7 @@
function definitionEditInit() {
$('#lexemIds').select2({
ajax: struct_lexemAjax,
+ createSearchChoice: allowNewLexems,
escapeMarkup: function(m) { return m; },
initSelection: select2InitSelectionAjax,
formatSelection: formatLexemWithEditLink,
@@ -60,7 +61,12 @@
}
function formatLexemWithEditLink(lexem) {
- return lexem.text + ' <a class="select2Edit" href="lexemEdit.php?lexemId=' + lexem.id + '"> </a>';
+ if (startsWith(lexem.id, '@')) {
+ // don't show an edit link for soon-to-be created lexems
+ return lexem.text;
+ } else {
+ return lexem.text + ' <a class="select2Edit" href="lexemEdit.php?lexemId=' + lexem.id + '"> </a>';
+ }
}
function allowNewLexems(term, data) {
More information about the Dev
mailing list