[gen] Ref field improved.
This commit is contained in:
parent
b9bfee9615
commit
977cd0a225
|
@ -31,7 +31,7 @@ class Action(Field):
|
|||
label=_(field.labelId)"
|
||||
id=":formId" action=":ztool.absolute_url() + '/do'">
|
||||
<input type="hidden" name="action" value="ExecuteAppyAction"/>
|
||||
<input type="hidden" name="objectUid" value=":zobj.UID()"/>
|
||||
<input type="hidden" name="objectUid" value=":zobj.id"/>
|
||||
<input type="hidden" name="fieldName" value=":name"/>
|
||||
<input if="field.confirm" type="button" class="button"
|
||||
var="labelConfirm=_(field.labelId + '_confirm')"
|
||||
|
|
|
@ -978,6 +978,7 @@ class Ref(Field):
|
|||
unlink_many, delete_many).'''
|
||||
action = rq['linkAction']
|
||||
tool = obj.getTool()
|
||||
msg = None
|
||||
if not action.endswith('_many'):
|
||||
# "link" or "unlink"
|
||||
tied = tool.getObject(rq['targetUid'])
|
||||
|
@ -1012,23 +1013,25 @@ class Ref(Field):
|
|||
# Collect this object
|
||||
target = not isObj and tool.getObject(value) or value.o
|
||||
targets.append(target)
|
||||
# Perform the action on every target. Count the number of failed
|
||||
# operations.
|
||||
mustDelete = action == 'delete_many'
|
||||
failed = 0
|
||||
for target in targets:
|
||||
if mustDelete:
|
||||
# Delete
|
||||
if target.mayDelete(): target.delete()
|
||||
else: failed += 1
|
||||
else:
|
||||
# Link or unlink
|
||||
exec 'self.%sObject(obj, target)' % action.split('_')[0]
|
||||
if not targets:
|
||||
msg = obj.translate('action_null')
|
||||
else:
|
||||
# Perform the action on every target. Count the number of failed
|
||||
# operations.
|
||||
failed = 0
|
||||
mustDelete = action == 'delete_many'
|
||||
for target in targets:
|
||||
if mustDelete:
|
||||
# Delete
|
||||
if target.mayDelete(): target.delete()
|
||||
else: failed += 1
|
||||
else:
|
||||
# Link or unlink
|
||||
exec 'self.%sObject(obj, target)' % action.split('_')[0]
|
||||
if failed:
|
||||
msg = obj.translate('action_partial', mapping={'nb':failed})
|
||||
urlBack = obj.getUrl(rq['HTTP_REFERER'])
|
||||
if not failed:
|
||||
msg = obj.translate('action_done')
|
||||
else:
|
||||
msg = obj.translate('action_partial', mapping={'nb':failed})
|
||||
if not msg: msg = obj.translate('action_done')
|
||||
obj.say(msg)
|
||||
tool.goto(urlBack)
|
||||
|
||||
|
|
|
@ -1175,7 +1175,7 @@ class BaseMixin:
|
|||
if not msg:
|
||||
# Use the default i18n messages
|
||||
suffix = 'ko'
|
||||
if successfull: suffix = 'ok'
|
||||
if successfull: suffix = 'done'
|
||||
msg = self.translate('action_%s' % suffix)
|
||||
if (resultType == 'computation') or not successfull:
|
||||
self.say(msg)
|
||||
|
|
|
@ -43,6 +43,10 @@ msgstr ""
|
|||
msgid "appy_title"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Ok"
|
||||
msgid "appy_ok"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Data change"
|
||||
msgid "data_change"
|
||||
msgstr ""
|
||||
|
@ -91,14 +95,6 @@ msgstr ""
|
|||
msgid "selected_objects"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "The action has been successfully executed."
|
||||
msgid "action_ok"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Move up"
|
||||
msgid "move_up"
|
||||
msgstr ""
|
||||
|
@ -227,10 +223,18 @@ msgstr ""
|
|||
msgid "action_done"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Action could not be performed on ${nb} element(s)."
|
||||
msgid "action_partial"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Action had no effect."
|
||||
msgid "action_null"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Go to top"
|
||||
msgid "goto_first"
|
||||
msgstr ""
|
||||
|
|
20
gen/tr/ar.po
20
gen/tr/ar.po
|
@ -43,6 +43,10 @@ msgstr ""
|
|||
msgid "appy_title"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Ok"
|
||||
msgid "appy_ok"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Data change"
|
||||
msgid "data_change"
|
||||
msgstr ""
|
||||
|
@ -91,14 +95,6 @@ msgstr ""
|
|||
msgid "selected_objects"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "The action has been successfully executed."
|
||||
msgid "action_ok"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Move up"
|
||||
msgid "move_up"
|
||||
msgstr ""
|
||||
|
@ -227,10 +223,18 @@ msgstr ""
|
|||
msgid "action_done"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Action could not be performed on ${nb} element(s)."
|
||||
msgid "action_partial"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Action had no effect."
|
||||
msgid "action_null"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Go to top"
|
||||
msgid "goto_first"
|
||||
msgstr ""
|
||||
|
|
22
gen/tr/de.po
22
gen/tr/de.po
|
@ -43,6 +43,10 @@ msgstr ""
|
|||
msgid "appy_title"
|
||||
msgstr "Titel"
|
||||
|
||||
#. Default: "Ok"
|
||||
msgid "appy_ok"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Data change"
|
||||
msgid "data_change"
|
||||
msgstr "Änderung der Angaben"
|
||||
|
@ -91,14 +95,6 @@ msgstr ""
|
|||
msgid "selected_objects"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "The action has been successfully executed."
|
||||
msgid "action_ok"
|
||||
msgstr "Der Auftrag wird ausgeführt."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Ein Problem ist aufgetreten."
|
||||
|
||||
#. Default: "Move up"
|
||||
msgid "move_up"
|
||||
msgstr "Nach oben verschieben"
|
||||
|
@ -225,12 +221,20 @@ msgstr ""
|
|||
|
||||
#. Default: "The action has been performed."
|
||||
msgid "action_done"
|
||||
msgstr ""
|
||||
msgstr "Der Auftrag wird ausgeführt."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Ein Problem ist aufgetreten."
|
||||
|
||||
#. Default: "Action could not be performed on ${nb} element(s)."
|
||||
msgid "action_partial"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Action had no effect."
|
||||
msgid "action_null"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Go to top"
|
||||
msgid "goto_first"
|
||||
msgstr "Zurück zum Anfang"
|
||||
|
|
26
gen/tr/en.po
26
gen/tr/en.po
|
@ -44,6 +44,10 @@ msgstr "Owner"
|
|||
msgid "appy_title"
|
||||
msgstr "Title"
|
||||
|
||||
#. Default: "Ok"
|
||||
msgid "appy_ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. Default: "Data change"
|
||||
msgid "data_change"
|
||||
msgstr "Data change"
|
||||
|
@ -92,14 +96,6 @@ msgstr "Selectable elements"
|
|||
msgid "selected_objects"
|
||||
msgstr "Inserted elements"
|
||||
|
||||
#. Default: "The action has been successfully executed."
|
||||
msgid "action_ok"
|
||||
msgstr "The action has been successfully executed."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "A problem occurred while executing the action."
|
||||
|
||||
#. Default: "Move up"
|
||||
msgid "move_up"
|
||||
msgstr "Move up"
|
||||
|
@ -202,7 +198,7 @@ msgstr "Unlink"
|
|||
|
||||
#. Default: "Remove selection"
|
||||
msgid "object_unlink_many"
|
||||
msgstr ""
|
||||
msgstr "Remove selection"
|
||||
|
||||
#. Default: "Insert"
|
||||
msgid "object_link"
|
||||
|
@ -222,16 +218,24 @@ msgstr "Unlock"
|
|||
|
||||
#. Default: "Are you sure?"
|
||||
msgid "action_confirm"
|
||||
msgstr ""
|
||||
msgstr "Are you sure?"
|
||||
|
||||
#. Default: "The action has been performed."
|
||||
msgid "action_done"
|
||||
msgstr ""
|
||||
msgstr "The action has been performed."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "A problem occurred while executing the action."
|
||||
|
||||
#. Default: "Action could not be performed on ${nb} element(s)."
|
||||
msgid "action_partial"
|
||||
msgstr "Action could not be performed on ${nb} element(s)."
|
||||
|
||||
#. Default: "Action had no effect."
|
||||
msgid "action_null"
|
||||
msgstr "Action had no effect."
|
||||
|
||||
#. Default: "Go to top"
|
||||
msgid "goto_first"
|
||||
msgstr "Go to top"
|
||||
|
|
22
gen/tr/es.po
22
gen/tr/es.po
|
@ -43,6 +43,10 @@ msgstr ""
|
|||
msgid "appy_title"
|
||||
msgstr "Título"
|
||||
|
||||
#. Default: "Ok"
|
||||
msgid "appy_ok"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Data change"
|
||||
msgid "data_change"
|
||||
msgstr "Cambio de datos"
|
||||
|
@ -91,14 +95,6 @@ msgstr ""
|
|||
msgid "selected_objects"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "The action has been successfully executed."
|
||||
msgid "action_ok"
|
||||
msgstr "La acción ha sido efectuada."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Ha surgido un problema."
|
||||
|
||||
#. Default: "Move up"
|
||||
msgid "move_up"
|
||||
msgstr "Mueva hacia arriba"
|
||||
|
@ -225,12 +221,20 @@ msgstr "¿Está seguro?"
|
|||
|
||||
#. Default: "The action has been performed."
|
||||
msgid "action_done"
|
||||
msgstr ""
|
||||
msgstr "La acción ha sido efectuada."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Ha surgido un problema."
|
||||
|
||||
#. Default: "Action could not be performed on ${nb} element(s)."
|
||||
msgid "action_partial"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Action had no effect."
|
||||
msgid "action_null"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Go to top"
|
||||
msgid "goto_first"
|
||||
msgstr "Ir al inicio"
|
||||
|
|
20
gen/tr/fr.po
20
gen/tr/fr.po
|
@ -44,6 +44,10 @@ msgstr "Propriétaire"
|
|||
msgid "appy_title"
|
||||
msgstr "Titre"
|
||||
|
||||
#. Default: "Ok"
|
||||
msgid "appy_ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. Default: "Data change"
|
||||
msgid "data_change"
|
||||
msgstr "Changement de données"
|
||||
|
@ -92,14 +96,6 @@ msgstr "Éléments sélectionnables"
|
|||
msgid "selected_objects"
|
||||
msgstr "Éléments insérés"
|
||||
|
||||
#. Default: "The action has been successfully executed."
|
||||
msgid "action_ok"
|
||||
msgstr "L'action a été effectuée."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Un problème est survenu."
|
||||
|
||||
#. Default: "Move up"
|
||||
msgid "move_up"
|
||||
msgstr "Déplacer vers le haut"
|
||||
|
@ -228,10 +224,18 @@ msgstr "Êtes-vous sûr?"
|
|||
msgid "action_done"
|
||||
msgstr "L'action a été réalisée."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Un problème est survenu."
|
||||
|
||||
#. Default: "Action could not be performed on ${nb} element(s)."
|
||||
msgid "action_partial"
|
||||
msgstr "L'action n'a pu être réalisée pour ${nb} élément(s)."
|
||||
|
||||
#. Default: "Action had no effect."
|
||||
msgid "action_null"
|
||||
msgstr "L'action n'a eu aucun effet."
|
||||
|
||||
#. Default: "Go to top"
|
||||
msgid "goto_first"
|
||||
msgstr "Aller au début"
|
||||
|
|
22
gen/tr/it.po
22
gen/tr/it.po
|
@ -43,6 +43,10 @@ msgstr ""
|
|||
msgid "appy_title"
|
||||
msgstr "Qualifica"
|
||||
|
||||
#. Default: "Ok"
|
||||
msgid "appy_ok"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Data change"
|
||||
msgid "data_change"
|
||||
msgstr "Revisione dati"
|
||||
|
@ -91,14 +95,6 @@ msgstr ""
|
|||
msgid "selected_objects"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "The action has been successfully executed."
|
||||
msgid "action_ok"
|
||||
msgstr "L'operazione è stata eseguita con successo"
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Si è manifestato un problema"
|
||||
|
||||
#. Default: "Move up"
|
||||
msgid "move_up"
|
||||
msgstr "Su"
|
||||
|
@ -225,12 +221,20 @@ msgstr "È sicuro?"
|
|||
|
||||
#. Default: "The action has been performed."
|
||||
msgid "action_done"
|
||||
msgstr ""
|
||||
msgstr "L'operazione è stata eseguita con successo"
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Si è manifestato un problema"
|
||||
|
||||
#. Default: "Action could not be performed on ${nb} element(s)."
|
||||
msgid "action_partial"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Action had no effect."
|
||||
msgid "action_null"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Go to top"
|
||||
msgid "goto_first"
|
||||
msgstr "Andare all'inizio"
|
||||
|
|
22
gen/tr/nl.po
22
gen/tr/nl.po
|
@ -43,6 +43,10 @@ msgstr "Eigenaar"
|
|||
msgid "appy_title"
|
||||
msgstr "Titel"
|
||||
|
||||
#. Default: "Ok"
|
||||
msgid "appy_ok"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Data change"
|
||||
msgid "data_change"
|
||||
msgstr "Wijziging van de gegevens"
|
||||
|
@ -91,14 +95,6 @@ msgstr ""
|
|||
msgid "selected_objects"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "The action has been successfully executed."
|
||||
msgid "action_ok"
|
||||
msgstr "De opdracht werd uitgevoerd."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Er heeft zich een probleem voorgedaan."
|
||||
|
||||
#. Default: "Move up"
|
||||
msgid "move_up"
|
||||
msgstr "Verplaats naar boven"
|
||||
|
@ -225,12 +221,20 @@ msgstr ""
|
|||
|
||||
#. Default: "The action has been performed."
|
||||
msgid "action_done"
|
||||
msgstr ""
|
||||
msgstr "De opdracht werd uitgevoerd."
|
||||
|
||||
#. Default: "A problem occurred while executing the action."
|
||||
msgid "action_ko"
|
||||
msgstr "Er heeft zich een probleem voorgedaan."
|
||||
|
||||
#. Default: "Action could not be performed on ${nb} element(s)."
|
||||
msgid "action_partial"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Action had no effect."
|
||||
msgid "action_null"
|
||||
msgstr ""
|
||||
|
||||
#. Default: "Go to top"
|
||||
msgid "goto_first"
|
||||
msgstr "Ga naar het begin"
|
||||
|
|
|
@ -549,6 +549,11 @@ function onLinkMany(action, id) {
|
|||
for (var uid in statuses) uids += uid + ',';
|
||||
// Get the array semantics
|
||||
var semantics = node['_appy_' + elems[2] + '_sem'];
|
||||
// Show an error messagge if non element is selected.
|
||||
if ((semantics == 'checked') && (Object.keys(statuses).length == 0)) {
|
||||
openPopup('alertPopup', no_elem_selected);
|
||||
return;
|
||||
}
|
||||
// Fill the form and ask for a confirmation
|
||||
f = document.getElementById('linkForm');
|
||||
f.linkAction.value = action + '_many';
|
||||
|
@ -666,7 +671,8 @@ function protectAppyForm() {
|
|||
function openPopup(popupId, msg) {
|
||||
// Put the message into the popup
|
||||
if (msg) {
|
||||
var confirmElem = document.getElementById('appyConfirmText');
|
||||
var msgHook = (popupId == 'alertPopup')? 'appyAlertText': 'appyConfirmText';
|
||||
var confirmElem = document.getElementById(msgHook);
|
||||
confirmElem.innerHTML = msg;
|
||||
}
|
||||
// Open the popup
|
||||
|
|
|
@ -156,6 +156,16 @@ class AbstractWrapper(object):
|
|||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Popup for displaying an error message (~JS alert()) -->
|
||||
<div id="alertPopup" class="popup">
|
||||
<img src=":url('warningBig')" align=":dleft" style="margin-right: 10px"/>
|
||||
<p id="appyAlertText" style="margin-bottom: 15px"></p>
|
||||
<div align="center">
|
||||
<input type="button" onclick="closePopup('alertPopup')"
|
||||
value=":_('appy_ok')"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="main" align="center" cellpadding="0">
|
||||
<tr class="top">
|
||||
<!-- Top banner -->
|
||||
|
|
Loading…
Reference in a new issue