Skip to content

Instantly share code, notes, and snippets.

View slemarchand's full-sized avatar

Sébastien Le Marchand slemarchand

View GitHub Profile
@slemarchand
slemarchand / exec.groovy
Created October 10, 2011 00:26
Execute a shell command from Liferay control panel ("Server Administration -> Script") and get ouptut
def exec = { cmd -> def p = cmd.execute(); out.leftShift(new SequenceInputStream(p.getErr(), p.getIn())) }
exec('df -h -a -i -T')
@slemarchand
slemarchand / print_locks.groovy
Last active December 11, 2015 05:59
Print locks (Liferay Portal)
import com.liferay.portal.service.*
locks = LockLocalServiceUtil.getLocks(-1,-1)
locks.each{println it}
@slemarchand
slemarchand / delete_lock.groovy
Created January 17, 2013 15:02
Delete a lock (Liferay Portal)
import com.liferay.portal.service.*
locks = LockLocalServiceUtil.deleteLock(28001)
import com.liferay.portal.service.*
number = com.liferay.portal.service.UserLocalServiceUtil.getUsersCount();
out.println(
"""
<div style="background-color:black; text-align: center">
<h1 style="color: #37A9CC; font-size:xx-large">${number}</h1>
</div>
""");
try {
nullVar = null
out.println(nullVar.length())
} catch(e) {
out.println("""<div class="portlet-msg-error">${e}</div>""")
e.printStackTrace(out)
}
import com.liferay.portal.util.*
company = PortalUtil.getCompany(actionRequest)
out.println("Current company: ${company.getName()}\n")
out.println("User info:")
userInfo.each{
k, v -> out.println("${k}:${v}")
}
import java.util.Calendar
import com.liferay.portal.service.*
import com.liferay.portal.model.*
import com.liferay.portal.kernel.dao.orm.*
import static com.liferay.portal.kernel.workflow.WorkflowConstants.*
//
// Deactivate users never logged and created since more than 2 years
//
import com.liferay.portal.service.*
import com.liferay.portal.kernel.dao.orm.*
// Output management
final def SCRIPT_ID = "MYSCRIPT"
outputFile = new File("""${System.getProperty("liferay.home")}/scripting/out-${SCRIPT_ID}.txt""")
outputFile.getParentFile().mkdirs()
def trace(message) {
final def SCRIPT_ID = "MYSCRIPT"
outputFile = new File("""${System.getProperty("liferay.home")}/scripting/out-${SCRIPT_ID}.txt""")
out.println(outputFile.text)
//
// Parse JSON string to model record with #SenchaTouch
//
var json = "{id: '533626fce4b029966f6cea40', firstName: 'John', lastName: 'Doe'}";
var reader = new Ext.data.JsonReader();
reader.setModel('MyApp.model.User');
var userRecord = reader.read(json).getRecords()[0];