Validate email address when adding email or creating account

This checks that the email address has a valid format.

Change-Id: I1f8d95dd9b02e720996bd15cca093ca55b5e4597
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
CM3: Add support for dark themes

84a66d82d36d554c1844acff11d1a62f10c174ed added support for light and
dark themes, but dark themes weren't enabled, as diff styles have
to be adjusted to correspond with dark colors.

101a8c4b65ebee4d54afddad10db05f5b9698ba9 reverted the preparation
for dark themes support.

This change enables support for subset of dark themes and switch
dynamicaly the diff styles to dark colors, when dark theme was
selected.

Change-Id: Ic220baf8f19366c04520b61e893a0d11912805ef
RFC: Work around null commit when updating submodules

Bug: Issue 2498
Change-Id: I5d82ead765bc743d3392a1333cd2c3fc4cf971c7
Bump GWT version to 2.6.0

Change-Id: I3353e086112bd1bc4ac9bb2adc35110324c70059
Fix: Label update operation is executed as insert

When updating an existing label value with command like

 ssh -p 29418 user@review gerrit review <change>,<patchset> --label code-review=+1

where the lower case label name will make the update operation
become insert operation.  This causes an exception:

  "Unique index or primary key violation"

Use standard label name instead of lower case name.

Bug: Issue 2515
Change-Id: I735a5f84d0569554c050b60b8984ee83aa941d39
Fix: 'Illegal label name'

review command like

 'ssh -p 29418 user@review gerrit review <change>,<patch-set> --label code-review=+1'

fails with:

 fatal: Illegal label name "code-review="

Fixed by using right parse function.

Bug: Issue 2516
Change-Id: Ib95b377786d89bcc33bf0af6ab7e130084547125
Another attempt to fix submit rule evaluation for non blocking labels

New change screen changed the logic for submit status evaluation
by moving it partially to the client side.  The change can be submitted
only when all needed labels have max scores and there is no labels exist
with min score. The computation of rejection is based on `rejected`
attribute in LabelInfo class. This attribute was set in two places:

1. As outcome of submit rule evaluation (with blocking functions)
2. In setLabelScores() to render the result for non blocking labels

After overriding of rejected attribute for non blocking labels it was
not possible any more to differentiate on the client side if one
particular label was rejected for information purpose only or because
it was blocked.

5a32a6dc15b73d412645598648ac089eacf29b65 was trying to solve it by
not overriding the rejected attribute in setLabelScores(). The
consequence of doing it was however, that custom labels with min
score were rendered not as rejected but as disliked.

This change introduces the `blocking` attribute in LabelType class to
carry out the missing information to the client to perform the correct
submit status computation. Now the rejected attribute can be overridden
for custom non blocking labels and rendered correctly.

Bug: Issue 2453
Bug: Issue 2497
Change-Id: Ic5092342b0e2153eb43f5e06fda4fcac4699844e
Change dialog title from Error to Warning on intraline diff timeout

When the value of 'diff_intraline.timeout' is not long enough
to let IntraLineLoader compute the intraline, Gerrit will set its
status as TIMEOUT and cache it.  When the user opens the diff view
a dialog will appear with Error title to say "Intraline difference
not available due to timeout".

Change the 'Error' title to 'Warning' to reduce number of complaints
from users.

Change-Id: I440d03593eb82d9c6c213cdc77d3fd3d50a760eb
Update 2.8.2 release notes with recently merged changes.

Change-Id: Id8b008abd7d3a01f23fe61370612c681183c8605
Add method to AccountAccess interface to get all accounts ordered by ID

This will allow clients to iterate over the entire list of registered users, 
ordered by the account ID.

Change-Id: Ic63827c3c9e2c8d6cde3ff8e38a820f8ee9d9495
Merge "RFC: Work around null commit when updating submodules" into stable-2.8
Merge branch 'stable-2.8'

* stable-2.8:
  Update 2.8.2 release notes with recently merged changes.
  Change dialog title from Error to Warning on intraline diff timeout
  Another attempt to fix submit rule evaluation for non blocking labels
  Fix: Label update operation is executed as insert
  RFC: Work around null commit when updating submodules

Change-Id: Icc1ce1698add8321a86af42ed864b02d9ef58040
Merge "CM3: Add support for dark themes"
Merge "Fix: 'Illegal label name'"
Merge "Bump GWT version to 2.6.0"
Merge "Add method to AccountAccess interface to get all accounts ordered by ID"
Fix NullPointerException if String value is null

Change-Id: I1dbec095a4763fc0a7f06e38f24a4b033ec375d0
Signed-off-by: Eryk Szymanski <eryksz@gmail.com>
Wrap long JSNI in ApiGlue

Change-Id: Ic40487d3831f0d42a4f919796fb8c703d0a2d597
Make it easy to construct CSS and HTML from JavaScript plugins

Scoping CSS rules across plugins can be slightly tricky, as the
namespace is global for the entire browser window.  Allow plugins to
create unique names using Gerrit.css() and then use those inside of
HTML with class="{style.foo}" style replacements in the Gerrit.html()
function.

This style of development makes native HTML and CSS more natural
to use inside of a plugin's JavaScript, and reduces the risks of
conflicting CSS rules with core Gerrit or another plugin.

Event handler registration is also supported, making it easier to
attach functions to handle onclick for buttons and anchors.  Handler
registration avoids circular references between the function's
environment and the DOM node, ensuring garbage collection works.

Change-Id: Ic29a4ec0c15eedef4f4ce72031193f1896742dc5
Update cookbook plugin

- Remove duplicated plugin name

Change-Id: I5d706905fe9b7983abf9c64441467aae351724ef