You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2013/12/29 11:18:54 UTC
svn commit: r1554011 - in /openmeetings/trunk/singlewebapp: ./
src/main/webapp/WEB-INF/classes/META-INF/ src/main/webapp/css/
src/main/webapp/css/images/ src/main/webapp/languages/
src/util/java/org/apache/openmeetings/util/ src/web/java/org/apache/ope...
Author: solomax
Date: Sun Dec 29 10:18:52 2013
New Revision: 1554011
URL: http://svn.apache.org/r1554011
Log:
[OPENMEETINGS-711, OPENMEETINGS-757] Internal and external attendees are able to be added to the both Appointment and Message.
Added:
openmeetings/trunk/singlewebapp/src/main/webapp/css/images/user_go.png (with props)
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserMultiChoice.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/user-multi-choice.js
Removed:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/MeetingMemberDialog.html
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/MeetingMemberDialog.java
Modified:
openmeetings/trunk/singlewebapp/ivy.xml
openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
openmeetings/trunk/singlewebapp/src/main/webapp/css/calendar.css
openmeetings/trunk/singlewebapp/src/main/webapp/css/theme.css
openmeetings/trunk/singlewebapp/src/main/webapp/languages/arabic.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/bulgarian.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/catalan.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese simplified.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese traditional.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/czech.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/danish.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch (studIP).xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/dutch.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/english.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/finnish.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/french.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/galician.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/greek.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/hebrew.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/hungarian.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/indonesian.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/italian.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/japanese.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/korean.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/persian.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/polish.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues brazil.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/russian.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/slovak.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/spanish.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/swedish.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/thai.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/turkish.xml
openmeetings/trunk/singlewebapp/src/main/webapp/languages/ukrainian.xml
openmeetings/trunk/singlewebapp/src/util/java/org/apache/openmeetings/util/DaoHelper.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.html
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java
Modified: openmeetings/trunk/singlewebapp/ivy.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/ivy.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/ivy.xml (original)
+++ openmeetings/trunk/singlewebapp/ivy.xml Sun Dec 29 10:18:52 2013
@@ -291,6 +291,9 @@
<dependency org="org.wicketstuff" name="wicketstuff-html5" rev="6.12.0" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
+ <dependency org="com.vaynberg.wicket.select2" name="wicket-select2" rev="2.2.2" conf="openmeetings->*" transitive="false">
+ <include type="jar" />
+ </dependency>
<!-- iCal4j seems to need this JAR -->
<dependency org="backport-util-concurrent" name="backport-util-concurrent" rev="3.1" conf="openmeetings->*"/>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml Sun Dec 29 10:18:52 2013
@@ -79,7 +79,7 @@
<property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource" />
<property name="openjpa.ConnectionProperties"
value="DriverClassName=com.mysql.jdbc.Driver
- , Url=jdbc:mysql://localhost:3306/openmeetings?autoReconnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=utf-8&connectionCollation=utf8_general_ci&cachePrepStmts=true&cacheCallableStatements=true&cacheServerConfiguration=true&useLocalSessionState=true&elideSetAutoCommits=true&alwaysSendSetIsolation=false&enableQueryTimeouts=false&prepStmtCacheSize=3000&prepStmtCacheSqlLimit=1000
+ , Url=jdbc:mysql://192.168.15.178:3306/openmeetings?autoReconnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=utf-8&connectionCollation=utf8_general_ci&cachePrepStmts=true&cacheCallableStatements=true&cacheServerConfiguration=true&useLocalSessionState=true&elideSetAutoCommits=true&alwaysSendSetIsolation=false&enableQueryTimeouts=false&prepStmtCacheSize=3000&prepStmtCacheSqlLimit=1000
, MaxActive=100
, MaxWait=10000
, TestOnBorrow=true
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/css/calendar.css
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/css/calendar.css?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/css/calendar.css (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/css/calendar.css Sun Dec 29 10:18:52 2013
@@ -78,4 +78,7 @@
.appointmentPopUp .attendeeContainer table td:nth-child(3) div {
width: 20px;
-}
\ No newline at end of file
+}
+.appointment.attendees {
+ width: 100%;
+}
Added: openmeetings/trunk/singlewebapp/src/main/webapp/css/images/user_go.png
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/css/images/user_go.png?rev=1554011&view=auto
==============================================================================
Binary file - no diff available.
Propchange: openmeetings/trunk/singlewebapp/src/main/webapp/css/images/user_go.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/css/theme.css
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/css/theme.css?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/css/theme.css (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/css/theme.css Sun Dec 29 10:18:52 2013
@@ -514,7 +514,7 @@ table.messages td.main {
width: 20px;
min-height: inherit;
}
-input[type="text"].messages.text {
+input[type="text"].messages.text, .messages.text.to {
width: 100%;
}
textarea.messages.body {
@@ -557,4 +557,20 @@ tr.unread {
.room-row {
background-color: rgb(248, 248, 248);
border-bottom: 5px solid white;
-}
\ No newline at end of file
+}
+.select2-results .select2-result .select2-result-label .user.external
+, .select2-results .select2-result .select2-result-label .user.internal
+, .select2-choices .select2-search-choice .user.external
+, .select2-choices .select2-search-choice .user.internal {
+ padding-left: 18px;
+ background-repeat: no-repeat;
+ background-position: 0px 2px;
+}
+.select2-results .select2-result .select2-result-label .user.external
+, .select2-choices .select2-search-choice .user.external {
+ background-image: url(images/user_go.png);
+}
+.select2-results .select2-result .select2-result-label .user.internal
+, .select2-choices .select2-search-choice .user.internal {
+ background-image: url(images/user.png);
+}
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/arabic.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/arabic.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/arabic.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/arabic.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/bulgarian.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/bulgarian.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/bulgarian.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/bulgarian.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/catalan.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/catalan.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/catalan.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/catalan.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese simplified.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese%20simplified.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese simplified.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese simplified.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese traditional.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese%20traditional.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese traditional.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/chinese traditional.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/czech.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/czech.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/czech.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/czech.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/danish.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/danish.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/danish.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/danish.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch (studIP).xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch%20%28studIP%29.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch (studIP).xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch (studIP).xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/deutsch.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/dutch.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/dutch.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/dutch.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/dutch.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/english.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/english.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/english.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/english.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/finnish.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/finnish.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/finnish.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/finnish.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/french.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/french.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/french.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/french.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/galician.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/galician.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/galician.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/galician.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/greek.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/greek.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/greek.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/greek.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/hebrew.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/hebrew.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/hebrew.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/hebrew.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/hungarian.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/hungarian.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/hungarian.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/hungarian.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/indonesian.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/indonesian.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/indonesian.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/indonesian.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/italian.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/italian.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/italian.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/italian.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/japanese.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/japanese.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/japanese.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/japanese.xml Sun Dec 29 10:18:52 2013
@@ -4799,4 +4799,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/korean.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/korean.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/korean.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/korean.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/persian.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/persian.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/persian.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/persian.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/polish.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/polish.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/polish.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/polish.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues brazil.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues%20brazil.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues brazil.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues brazil.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/portugues.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/russian.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/russian.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/russian.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/russian.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Uri возвÑаÑа</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>ÐÑ Ð¼Ð¾Ð¶ÐµÑе ввеÑÑи адÑÐµÑ Ð² ÑоÑмаÑе: ÐмÑ1 ФамилиÑ1 <адÑеÑ1> или "ÐмÑ2 ФамилиÑ2" <адÑеÑ2> или 'ÐмÑ3 ФамилиÑ3' <адÑеÑ3> или адÑеÑ</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/slovak.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/slovak.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/slovak.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/slovak.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/spanish.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/spanish.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/spanish.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/spanish.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/swedish.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/swedish.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/swedish.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/swedish.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/thai.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/thai.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/thai.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/thai.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/turkish.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/turkish.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/turkish.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/turkish.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/main/webapp/languages/ukrainian.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/webapp/languages/ukrainian.xml?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/webapp/languages/ukrainian.xml (original)
+++ openmeetings/trunk/singlewebapp/src/main/webapp/languages/ukrainian.xml Sun Dec 29 10:18:52 2013
@@ -4798,4 +4798,7 @@ see http://openmeetings.apache.org/Langu
<string id="1587" name="oauth2">
<value>Redirect uri</value>
</string>
+ <string id="1588" name="multiple_addresses">
+ <value>You can enter email address in the format: firstname1 lastname1 <email1> or "firstname2 lastname2" <email2> or 'firstname3 lastname3' <email3> or email</value>
+ </string>
</language>
Modified: openmeetings/trunk/singlewebapp/src/util/java/org/apache/openmeetings/util/DaoHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/util/java/org/apache/openmeetings/util/DaoHelper.java?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/util/java/org/apache/openmeetings/util/DaoHelper.java (original)
+++ openmeetings/trunk/singlewebapp/src/util/java/org/apache/openmeetings/util/DaoHelper.java Sun Dec 29 10:18:52 2013
@@ -73,7 +73,7 @@ public class DaoHelper {
public static void getWhereClause(StringBuilder sb, String search, String alias, String... fields) {
if (search != null) {
boolean notEmpty = false;
- String[] searchItems = search.split(" ");
+ String[] searchItems = search.replace("\'", "").replace("\"", "").split(" ");
for (int i = 0; i < searchItems.length; ++i) {
if (searchItems[i].isEmpty()) {
continue;
Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html Sun Dec 29 10:18:52 2013
@@ -62,22 +62,7 @@
</tr>
<tr>
<td><wicket:ommessage key="803" /></td>
- <td >
- <div class="attendeesComponentWrapper">
- <div class="attendeeContainer">
- <table>
- <tbody wicket:id="attendeeContainer">
- <tr wicket:id="meetingMembers">
- <td><div><span wicket:id="attendeeName"></span></div></td>
- <td><div><span wicket:id="attendeeEmail"></span></div></td>
- <td><div class="formCancelButton" wicket:id="attendeeDelete" wicket:ommessage="title:814"><input/></div></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div wicket:id="addMeetingMember" class="formNewButton" wicket:ommessage="title:812"><input/></div>
- </div>
- </td>
+ <td wicket:ommessage="title:1588"><input class="appointment attendees" type="hidden" wicket:id="attendees"/></td>
</tr>
<tr>
<td><wicket:ommessage key="569" /></td>
@@ -92,7 +77,6 @@
</tr>
</table>
</form>
- <div wicket:id="addAttendees"></div>
<div wicket:id="confirmDelete"></div>
</wicket:panel>
</html>
Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java Sun Dec 29 10:18:52 2013
@@ -27,7 +27,11 @@ import static org.apache.openmeetings.we
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
import org.apache.openmeetings.db.dao.calendar.AppointmentReminderTypDao;
@@ -39,29 +43,27 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.RoomType;
import org.apache.openmeetings.db.entity.user.Organisation_Users;
+import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.MainPage;
import org.apache.openmeetings.web.user.rooms.RoomEnterBehavior;
import org.apache.openmeetings.web.util.RoomTypeDropDown;
-import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.openmeetings.web.util.UserMultiChoice;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.extensions.yui.calendar.DateTimeField;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.util.CollectionModel;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -87,8 +89,8 @@ public class AppointmentDialog extends A
private DialogButton enterRoom = new DialogButton(enterRoomLbl);
private final CalendarPanel calendar;
protected final FeedbackPanel feedback;
- final MeetingMemberDialog addAttendees;
final MessageDialog confirmDelete;
+ private IModel<Collection<User>> attendeesModel = new CollectionModel<User>(new ArrayList<User>());
@Override
public int getWidth() {
@@ -118,8 +120,6 @@ public class AppointmentDialog extends A
feedback = new FeedbackPanel("feedback");
form = new AppointmentForm("appForm", model);
add(form);
- addAttendees = new MeetingMemberDialog("addAttendees", WebSession.getString(812), model, form.get("attendeeContainer"));
- add(addAttendees);
confirmDelete = new MessageDialog("confirmDelete", WebSession.getString(814), WebSession.getString(833), DialogButtons.OK_CANCEL, DialogIcon.WARN){
private static final long serialVersionUID = 1L;
@@ -173,7 +173,40 @@ public class AppointmentDialog extends A
@Override
protected void onSubmit(AjaxRequestTarget target) {
- getBean(AppointmentDao.class).update(form.getModelObject(), getBaseUrl(), getUserId());
+ Appointment a = form.getModelObject();
+ final List<MeetingMember> attendees = a.getMeetingMembers() == null ? new ArrayList<MeetingMember>() : a.getMeetingMembers();
+ Set<Long> currentIds = new HashSet<Long>();
+ for (User u : attendeesModel.getObject()) {
+ if (u.getUser_id() != null) {
+ currentIds.add(u.getUser_id());
+ }
+ }
+
+ //remove users
+ for (Iterator<MeetingMember> i = attendees.iterator(); i.hasNext();) {
+ MeetingMember m = i.next();
+ if (!currentIds.contains(m.getUser().getUser_id())) {
+ i.remove();
+ }
+ }
+ Set<Long> originalIds = new HashSet<Long>();
+ for (MeetingMember m : attendees) {
+ originalIds.add(m.getUser().getUser_id());
+ }
+ //add users
+ for (User u : attendeesModel.getObject()) {
+ if (u.getUser_id() == null || !originalIds.contains(u.getUser_id())) {
+ MeetingMember mm = new MeetingMember();
+ mm.setUser(u);
+ mm.setDeleted(false);
+ mm.setInserted(a.getInserted());
+ mm.setUpdated(a.getUpdated());
+ mm.setAppointment(a);
+ attendees.add(mm);
+ }
+ }
+ a.setMeetingMembers(attendees);
+ getBean(AppointmentDao.class).update(a, getBaseUrl(), getUserId());
target.add(feedback);
calendar.refresh(target);
}
@@ -212,6 +245,12 @@ public class AppointmentDialog extends A
a.setEnd(end.getTime());
}
}
+ attendeesModel.setObject(new ArrayList<User>());
+ if (a.getMeetingMembers() != null) {
+ for (MeetingMember mm : a.getMeetingMembers()) {
+ attendeesModel.getObject().add(mm.getUser());
+ }
+ }
}
public AppointmentForm(String id, IModel<Appointment> model) {
@@ -269,41 +308,7 @@ public class AppointmentDialog extends A
target.add(pwd);
}
});
-
- final WebMarkupContainer addMeetingMember = new WebMarkupContainer("addMeetingMember");
- addMeetingMember.add(new AjaxEventBehavior("onclick") {
- private static final long serialVersionUID = 7016550192188649714L;
-
- protected void onEvent(AjaxRequestTarget target) {
- addAttendees.open(target);
- }
- });
- add(addMeetingMember);
-
- final WebMarkupContainer attendeeContainer = new WebMarkupContainer("attendeeContainer");
- attendeeContainer.add(new ListView<MeetingMember>("meetingMembers"){
-
- private static final long serialVersionUID = -2609044181991754097L;
-
- @Override
- protected void populateItem(final ListItem<MeetingMember> item) {
- MeetingMember mm = item.getModelObject();
- item.add(new Label("attendeeName", mm.getUser().getFirstname() + " " + mm.getUser().getLastname()));
- item.add(new Label("attendeeEmail", mm.getUser().getAdresses().getEmail()));
- item.add(new WebMarkupContainer("attendeeDelete").add(new AjaxEventBehavior("onclick"){
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- MeetingMember mm = item.getModelObject();
- AppointmentForm.this.getModelObject().getMeetingMembers().remove(mm);
- target.add(attendeeContainer);
- }
- }));
- }
- });
- add(attendeeContainer.setOutputMarkupId(true));
-
+ add(new UserMultiChoice("attendees", attendeesModel));
}
private List<AppointmentReminderTyps> getRemindTypes() {
Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java Sun Dec 29 10:18:52 2013
@@ -181,15 +181,16 @@ public class CalendarPanel extends UserP
target.appendJavaScript("setDatepickerDate('datepicker','" + formatDateJava.format(start) + "');");
Appointment a = getDefault();
if (CalendarView.month == view && start.equals(end)) {
- java.util.Calendar now = WebSession.getCalendar();
- java.util.Calendar cal = WebSession.getCalendar();
+ java.util.Calendar now = java.util.Calendar.getInstance();
now.setTime(start);
+ java.util.Calendar cal = WebSession.getCalendar();
cal.set(java.util.Calendar.YEAR, now.get(java.util.Calendar.YEAR));
cal.set(java.util.Calendar.MONTH, now.get(java.util.Calendar.MONTH));
cal.set(java.util.Calendar.DATE, now.get(java.util.Calendar.DATE));
cal.set(java.util.Calendar.SECOND, 0);
cal.set(java.util.Calendar.MILLISECOND, 0);
a.setStart(cal.getTime());
+ cal.add(java.util.Calendar.HOUR_OF_DAY, 1);
a.setEnd(cal.getTime());
} else {
a.setStart(start);
Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.html?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.html (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.html Sun Dec 29 10:18:52 2013
@@ -34,7 +34,7 @@
</tr>
<tr>
<td class="messages column label"><wicket:ommessage key="1210"/></td>
- <td><input class="messages text" type="text" wicket:id="to"/></td>
+ <td wicket:ommessage="title:1588"><input class="messages text to" type="hidden" wicket:id="to"/></td>
</tr>
<tr>
<td class="messages column label"><wicket:ommessage key="1211"/></td>
Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java Sun Dec 29 10:18:52 2013
@@ -22,7 +22,9 @@ import static org.apache.openmeetings.we
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.util.RoomTypeDropDown.getRoomTypes;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Date;
import java.util.List;
@@ -31,11 +33,12 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.user.PrivateMessage;
+import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.mail.MailHandler;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.util.ContactsHelper;
import org.apache.openmeetings.web.util.RoomTypeDropDown;
-import org.apache.openmeetings.web.util.UserAutoCompleteTextField;
+import org.apache.openmeetings.web.util.UserMultiChoice;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.yui.calendar.DateTimeField;
@@ -47,6 +50,7 @@ import org.apache.wicket.markup.html.pan
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import org.apache.wicket.model.util.CollectionModel;
import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.WysiwygEditor;
import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.toolbar.DefaultWysiwygToolbar;
@@ -65,6 +69,7 @@ public class MessageDialog extends Abstr
private final IModel<Date> modelStart = Model.of(new Date());
private final IModel<Date> modelEnd = Model.of(new Date());
private boolean isPrivate = false;
+ private final IModel<Collection<User>> modelTo = new CollectionModel<User>(new ArrayList<User>());
@Override
public int getWidth() {
@@ -79,6 +84,7 @@ public class MessageDialog extends Abstr
public MessageDialog reset(boolean isPrivate) {
modelStart.setObject(new Date());
modelEnd.setObject(new Date()); //TODO should we add 1 hour or generalize with Calendar???
+ modelTo.setObject(new ArrayList<User>());
PrivateMessage p = new PrivateMessage();
p.setFrom(getBean(UserDao.class).get(getUserId()));
p.setOwner(p.getFrom());
@@ -107,7 +113,7 @@ public class MessageDialog extends Abstr
form = new Form<PrivateMessage>("form", getModel());
form.add(feedback.setOutputMarkupId(true));
- form.add(new UserAutoCompleteTextField("to").setRequired(true));
+ form.add(new UserMultiChoice("to", modelTo).setRequired(true));
form.add(new TextField<String>("subject"));
DefaultWysiwygToolbar toolbar = new DefaultWysiwygToolbar("toolbarContainer");
form.add(toolbar);
@@ -168,22 +174,26 @@ public class MessageDialog extends Abstr
} else {
p.setRoom(null);
}
- if (p.getTo().getUser_id() == null) {
- getBean(UserDao.class).update(p.getTo(), getUserId());
- }
- //to send
- getBean(PrivateMessagesDao.class).update(p, getUserId());
- //to inbox
- p.setPrivateMessageId(0);
- p.setOwner(p.getTo());
- getBean(PrivateMessagesDao.class).update(p, getUserId());
- if (p.getTo().getAdresses() != null) {
- String aLinkHTML = isPrivate ? "<br/><br/>" + "<a href='" + ContactsHelper.getLink() + "'>"
- + WebSession.getString(1302) + "</a><br/>" : "";
-
- getBean(MailHandler.class).send(p.getTo().getAdresses().getEmail(),
- WebSession.getString(1301) + p.getSubject(),
- p.getMessage().replaceAll("\\<.*?>", "") + aLinkHTML);
+ for (User to : modelTo.getObject()) {
+ if (to.getUser_id() == null) {
+ getBean(UserDao.class).update(to, getUserId());
+ }
+ //to send
+ p.setPrivateMessageId(0);
+ p.setTo(to);
+ getBean(PrivateMessagesDao.class).update(p, getUserId());
+ //to inbox
+ p.setPrivateMessageId(0);
+ p.setOwner(to);
+ getBean(PrivateMessagesDao.class).update(p, getUserId());
+ if (to.getAdresses() != null) {
+ String aLinkHTML = isPrivate ? "<br/><br/>" + "<a href='" + ContactsHelper.getLink() + "'>"
+ + WebSession.getString(1302) + "</a><br/>" : "";
+
+ getBean(MailHandler.class).send(to.getAdresses().getEmail(),
+ WebSession.getString(1301) + p.getSubject(),
+ p.getMessage().replaceAll("\\<.*?>", "") + aLinkHTML);
+ }
}
}
}
Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html Sun Dec 29 10:18:52 2013
@@ -24,12 +24,12 @@
<table class="messages">
<tr>
<td class="side left">
- <div class="email new" wicket:id="new" wicket:ommessage="title:1208"><wicket:ommessage key="1207"/></div>
+ <div class="email new clickable" wicket:id="new" wicket:ommessage="title:1208"><wicket:ommessage key="1207"/></div>
<div wicket:id="folders">
<div wicket:id="inbox"><wicket:ommessage key="1222"/></div>
<div wicket:id="sent"><wicket:ommessage key="1223"/></div>
<div wicket:id="trash"><wicket:ommessage key="1224"/></div>
- <div class="email newdir" wicket:id="newdir" wicket:ommessage="title:1259"><wicket:ommessage key="1258"/></div>
+ <div class="email newdir clickable" wicket:id="newdir" wicket:ommessage="title:1259"><wicket:ommessage key="1258"/></div>
<div wicket:id="folder">
<div wicket:id="name"></div>
<div class="delete" wicket:id="delete" wicket:ommessage="title:1262"></div>
Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java?rev=1554011&r1=1554010&r2=1554011&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java Sun Dec 29 10:18:52 2013
@@ -26,11 +26,8 @@ import java.util.Locale;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.user.User;
-import org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
import org.apache.wicket.model.IModel;
import org.apache.wicket.util.convert.IConverter;
-import org.apache.wicket.validation.IValidationError;
-import org.apache.wicket.validation.Validatable;
import com.googlecode.wicket.jquery.core.renderer.ITextRenderer;
import com.googlecode.wicket.jquery.ui.form.autocomplete.AutoCompleteTextField;
@@ -46,42 +43,7 @@ public class UserAutoCompleteTextField e
if (value != null && value.equals(UserAutoCompleteTextField.this.getModelValue())) {
return UserAutoCompleteTextField.this.getModelObject();
} else {
- //TODO extract to function
- User u = null;
- //FIXME refactor this
- String email = null;
- String fName = null;
- String lName = null;
- int idx = value.indexOf('<');
- if (idx > -1) {
- int idx1 = value.indexOf('>', idx);
- if (idx1 > -1) {
- email = value.substring(idx + 1, idx1);
-
- String name = value.substring(0, idx).replace("\"", "");
- int idx2 = name.indexOf(' ');
- if (idx2 > -1) {
- fName = name.substring(0, idx2);
- lName = name.substring(idx2 + 1);
- } else {
- fName = "";
- lName = name;
- }
-
- }
- } else {
- email = value;
- }
- Validatable<String> valEmail = new Validatable<String>(email);
- RfcCompliantEmailAddressValidator.getInstance().validate(valEmail);
- if (valEmail.isValid()) {
- u = getBean(UserDao.class).getContact(email, fName, lName, getUserId());
- } else {
- for (IValidationError err : valEmail.getErrors()) {
- UserAutoCompleteTextField.this.error(err);
- }
- }
- return u;
+ return UserChoiceProvider.getUser(value);
}
}
Added: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java?rev=1554011&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java (added)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java Sun Dec 29 10:18:52 2013
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.util;
+
+import static org.apache.commons.lang3.StringEscapeUtils.escapeHtml4;
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
+import org.apache.wicket.validation.Validatable;
+import org.json.JSONException;
+import org.json.JSONWriter;
+
+import com.vaynberg.wicket.select2.ChoiceProvider;
+import com.vaynberg.wicket.select2.Response;
+
+public class UserChoiceProvider extends ChoiceProvider<User> {
+ private static final long serialVersionUID = 1L;
+ private final static int PAGE_SIZE = 10;
+ private Map<String, User> newContacts = new Hashtable<String, User>();
+
+ public static User getUser(String value) {
+ User u = null;
+ //FIXME refactor this
+ String email = null;
+ String fName = null;
+ String lName = null;
+ int idx = value.indexOf('<');
+ if (idx > -1) {
+ int idx1 = value.indexOf('>', idx);
+ if (idx1 > -1) {
+ email = value.substring(idx + 1, idx1);
+
+ String name = value.substring(0, idx).replace("\"", "");
+ int idx2 = name.indexOf(' ');
+ if (idx2 > -1) {
+ fName = name.substring(0, idx2);
+ lName = name.substring(idx2 + 1);
+ } else {
+ fName = "";
+ lName = name;
+ }
+
+ }
+ } else {
+ email = value;
+ }
+ Validatable<String> valEmail = new Validatable<String>(email);
+ RfcCompliantEmailAddressValidator.getInstance().validate(valEmail);
+ if (valEmail.isValid()) {
+ u = getBean(UserDao.class).getContact(email, fName, lName, getUserId());
+ }
+ return u;
+ }
+
+ protected String getDisplayText(User u) {
+ // TODO check RIGHTS here (email might need to be hidden)
+ return u == null ? "" : escapeHtml4(String.format("\"%s %s\" <%s>", u.getFirstname(), u.getLastname(), u.getAdresses().getEmail()));
+ }
+
+ protected Object getId(User u) {
+ String id = "" + u.getUser_id();
+ if (u.getUser_id() == null) {
+ newContacts.put(u.getLogin(), u);
+ id = u.getLogin();
+ }
+ return id;
+ }
+
+ @Override
+ public void query(String term, int page, Response<User> response) {
+ User c = getUser(term);
+ if (c != null) {
+ response.add(c);
+ }
+ UserDao dao = getBean(UserDao.class);
+ response.addAll(dao.get(term, page * PAGE_SIZE, PAGE_SIZE, null, getUserId()));
+
+ response.setHasMore(page < dao.count() % PAGE_SIZE);
+ }
+
+ @Override
+ public Collection<User> toChoices(Collection<String> ids) {
+ Collection<User> c = new ArrayList<User>();
+ for (String id : ids) {
+ if (newContacts.containsKey(id)) {
+ c.add(newContacts.get(id));
+ } else {
+ c.add(getBean(UserDao.class).get(Long.valueOf(id)));
+ }
+ }
+ return c;
+ }
+
+ public void toJson(User choice, JSONWriter writer) throws JSONException {
+ writer
+ .key("id").value(getId(choice))
+ .key("text").value(getDisplayText(choice))
+ .key("contact").value(choice.getType() == Type.contact);
+ };
+}
Added: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserMultiChoice.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserMultiChoice.java?rev=1554011&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserMultiChoice.java (added)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserMultiChoice.java Sun Dec 29 10:18:52 2013
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.util;
+
+import java.util.Collection;
+
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+import org.apache.wicket.markup.head.PriorityHeaderItem;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.JavaScriptResourceReference;
+
+import com.vaynberg.wicket.select2.Select2MultiChoice;
+
+public class UserMultiChoice extends Select2MultiChoice<User> {
+ private static final long serialVersionUID = 1L;
+
+ public UserMultiChoice(String id, IModel<Collection<User>> model) {
+ super(id, model, new UserChoiceProvider());
+ getSettings().setFormatResult("formatOmUser");
+ getSettings().setFormatSelection("formatOmUser");
+ getSettings().setEscapeMarkup("escapeOmUserMarkup");
+ }
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(getClass(), "user-multi-choice.js"), "user-multi-choice")));
+ }
+}
Added: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/user-multi-choice.js
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/user-multi-choice.js?rev=1554011&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/user-multi-choice.js (added)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/user-multi-choice.js Sun Dec 29 10:18:52 2013
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+function formatOmUser(user) {
+ return "<span class='user " + (user.contact ? "external" : "internal") + "' >" + user.text + "</span>";
+}
+
+function escapeOmUserMarkup(m) {
+ return m;
+}
\ No newline at end of file