third version

This commit is contained in:
Joe 2016-11-29 00:10:16 +08:00
parent a6b184fef4
commit 877fe577f0
28 changed files with 392 additions and 326 deletions

View File

@ -3,142 +3,11 @@
<component name="ChangeListManager">
<list default="true" id="3d1038cf-db46-430c-a3cb-745a90a4cba5" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/index.html.erb" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/fontawesome-webfont.eot" afterPath="$PROJECT_DIR$/public/font/fontawesome-webfont.eot" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/fontawesome-webfont.ttf" afterPath="$PROJECT_DIR$/public/font/fontawesome-webfont.ttf" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/fontawesome-webfont.woff" afterPath="$PROJECT_DIR$/public/font/fontawesome-webfont.woff" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/fontawesome-webfontd41d.eot" afterPath="$PROJECT_DIR$/public/font/fontawesome-webfontd41d.eot" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/glyphicons-halflings-regular.eot" afterPath="$PROJECT_DIR$/public/font/glyphicons-halflings-regular.eot" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/glyphicons-halflings-regular.ttf" afterPath="$PROJECT_DIR$/public/font/glyphicons-halflings-regular.ttf" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/glyphicons-halflings-regular.woff" afterPath="$PROJECT_DIR$/public/font/glyphicons-halflings-regular.woff" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/glyphicons-halflings-regulard41d.eot" afterPath="$PROJECT_DIR$/public/font/glyphicons-halflings-regulard41d.eot" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/se7en.eot" afterPath="$PROJECT_DIR$/public/font/se7en.eot" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/se7en.ttf" afterPath="$PROJECT_DIR$/public/font/se7en.ttf" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/se7en.woff" afterPath="$PROJECT_DIR$/public/font/se7en.woff" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/se7end41d.eot" afterPath="$PROJECT_DIR$/public/font/se7end41d.eot" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/Thumbs.db" afterPath="$PROJECT_DIR$/public/images/Thumbs.db" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/alpha.png" afterPath="$PROJECT_DIR$/public/images/alpha.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/avatar-female.jpg" afterPath="$PROJECT_DIR$/public/images/avatar-female.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/avatar-female.png" afterPath="$PROJECT_DIR$/public/images/avatar-female.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/avatar-female2.png" afterPath="$PROJECT_DIR$/public/images/avatar-female2.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/avatar-male.jpg" afterPath="$PROJECT_DIR$/public/images/avatar-male.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/avatar-male2.png" afterPath="$PROJECT_DIR$/public/images/avatar-male2.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/chat-left.png" afterPath="$PROJECT_DIR$/public/images/chat-left.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/chat-left@2x.png" afterPath="$PROJECT_DIR$/public/images/chat-left@2x.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/chat-right.png" afterPath="$PROJECT_DIR$/public/images/chat-right.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/chat-right@2x.png" afterPath="$PROJECT_DIR$/public/images/chat-right@2x.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/checkmark.png" afterPath="$PROJECT_DIR$/public/images/checkmark.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/checkmark@2x.png" afterPath="$PROJECT_DIR$/public/images/checkmark@2x.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/fancybox_overlay.png" afterPath="$PROJECT_DIR$/public/images/fancybox_overlay.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/hue.png" afterPath="$PROJECT_DIR$/public/images/hue.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/icon-search.png" afterPath="$PROJECT_DIR$/public/images/icon-search.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/icon-search@2x.png" afterPath="$PROJECT_DIR$/public/images/icon-search@2x.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image-iso.png" afterPath="$PROJECT_DIR$/public/images/image-iso.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image-iso2.jpg" afterPath="$PROJECT_DIR$/public/images/image-iso2.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image-iso3.png" afterPath="$PROJECT_DIR$/public/images/image-iso3.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image-iso4.png" afterPath="$PROJECT_DIR$/public/images/image-iso4.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image-iso5.png" afterPath="$PROJECT_DIR$/public/images/image-iso5.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image-iso6.png" afterPath="$PROJECT_DIR$/public/images/image-iso6.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image-iso7.png" afterPath="$PROJECT_DIR$/public/images/image-iso7.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image-iso8.png" afterPath="$PROJECT_DIR$/public/images/image-iso8.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image-iso9.png" afterPath="$PROJECT_DIR$/public/images/image-iso9.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image5.jpg" afterPath="$PROJECT_DIR$/public/images/image5.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image6.png" afterPath="$PROJECT_DIR$/public/images/image6.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/image7.png" afterPath="$PROJECT_DIR$/public/images/image7.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/img-coast.jpg" afterPath="$PROJECT_DIR$/public/images/img-coast.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/info-data-sprite.png" afterPath="$PROJECT_DIR$/public/images/info-data-sprite.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/info-data-sprite@2x.png" afterPath="$PROJECT_DIR$/public/images/info-data-sprite@2x.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/login-blurry-bg.jpg" afterPath="$PROJECT_DIR$/public/images/login-blurry-bg.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/logo-login@2x.png" afterPath="$PROJECT_DIR$/public/images/logo-login@2x.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/nature1.jpg" afterPath="$PROJECT_DIR$/public/images/nature1.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/nature2.jpg" afterPath="$PROJECT_DIR$/public/images/nature2.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/nature3.jpg" afterPath="$PROJECT_DIR$/public/images/nature3.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/nature4.jpg" afterPath="$PROJECT_DIR$/public/images/nature4.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/saturation.png" afterPath="$PROJECT_DIR$/public/images/saturation.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/se7en-logo.png" afterPath="$PROJECT_DIR$/public/images/se7en-logo.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/se7en-logo@2x.png" afterPath="$PROJECT_DIR$/public/images/se7en-logo@2x.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/select2-spinner.gif" afterPath="$PROJECT_DIR$/public/images/select2-spinner.gif" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/select2.png" afterPath="$PROJECT_DIR$/public/images/select2.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/select2x2.png" afterPath="$PROJECT_DIR$/public/images/select2x2.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/sn-logo@2x.png" afterPath="$PROJECT_DIR$/public/images/sn-logo@2x.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/images/social-image.jpg" afterPath="$PROJECT_DIR$/public/images/social-image.jpg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/controllers/chat_controller.rb" afterPath="$PROJECT_DIR$/app/controllers/chat_controller.rb" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/helpers/chat_helper.rb" afterPath="$PROJECT_DIR$/app/helpers/chat_helper.rb" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/chat/index.html.erb" afterPath="$PROJECT_DIR$/app/views/chat/index.html.erb" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/layouts/_nav.html.erb" afterPath="$PROJECT_DIR$/app/views/layouts/_nav.html.erb" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bin/bundle" afterPath="$PROJECT_DIR$/bin/bundle" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bin/rails" afterPath="$PROJECT_DIR$/bin/rails" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bin/rake" afterPath="$PROJECT_DIR$/bin/rake" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bin/setup" afterPath="$PROJECT_DIR$/bin/setup" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bin/spring" afterPath="$PROJECT_DIR$/bin/spring" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bin/update" afterPath="$PROJECT_DIR$/bin/update" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/routes.rb" afterPath="$PROJECT_DIR$/config/routes.rb" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/fontawesome-webfont.svg" afterPath="$PROJECT_DIR$/public/font/fontawesome-webfont.svg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/glyphicons-halflings-regular.svg" afterPath="$PROJECT_DIR$/public/font/glyphicons-halflings-regular.svg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/font/se7en.svg" afterPath="$PROJECT_DIR$/public/font/se7en.svg" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/application.js" afterPath="$PROJECT_DIR$/public/javascripts/application.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/bootstrap-colorpicker.js" afterPath="$PROJECT_DIR$/public/javascripts/bootstrap-colorpicker.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/bootstrap-datepicker.js" afterPath="$PROJECT_DIR$/public/javascripts/bootstrap-datepicker.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/bootstrap-fileupload.js" afterPath="$PROJECT_DIR$/public/javascripts/bootstrap-fileupload.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/bootstrap-switch.min.js" afterPath="$PROJECT_DIR$/public/javascripts/bootstrap-switch.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/bootstrap-timepicker.js" afterPath="$PROJECT_DIR$/public/javascripts/bootstrap-timepicker.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/bootstrap.min.js" afterPath="$PROJECT_DIR$/public/javascripts/bootstrap.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/datatable-editable.js" afterPath="$PROJECT_DIR$/public/javascripts/datatable-editable.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/date.js" afterPath="$PROJECT_DIR$/public/javascripts/date.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/daterange-picker.js" afterPath="$PROJECT_DIR$/public/javascripts/daterange-picker.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/excanvas.min.js" afterPath="$PROJECT_DIR$/public/javascripts/excanvas.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/fitvids.js" afterPath="$PROJECT_DIR$/public/javascripts/fitvids.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/fullcalendar.min.js" afterPath="$PROJECT_DIR$/public/javascripts/fullcalendar.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/gcal.js" afterPath="$PROJECT_DIR$/public/javascripts/gcal.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/isotope_extras.js" afterPath="$PROJECT_DIR$/public/javascripts/isotope_extras.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.bootstrap.wizard.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.bootstrap.wizard.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.dataTables.min.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.dataTables.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.easy-pie-chart.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.easy-pie-chart.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.fancybox.pack.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.fancybox.pack.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.inputmask.min.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.inputmask.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.isotope.min.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.isotope.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.min.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.mousewheel.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.mousewheel.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.sparkline.min.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.sparkline.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.validate.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.validate.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.vmap.min.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.vmap.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.vmap.sampledata.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.vmap.sampledata.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/jquery.vmap.world.js" afterPath="$PROJECT_DIR$/public/javascripts/jquery.vmap.world.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/main.js" afterPath="$PROJECT_DIR$/public/javascripts/main.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/masonry.min.js" afterPath="$PROJECT_DIR$/public/javascripts/masonry.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/modernizr.custom.js" afterPath="$PROJECT_DIR$/public/javascripts/modernizr.custom.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/morris.min.js" afterPath="$PROJECT_DIR$/public/javascripts/morris.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/raphael.min.js" afterPath="$PROJECT_DIR$/public/javascripts/raphael.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/respond.js" afterPath="$PROJECT_DIR$/public/javascripts/respond.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/select2.js" afterPath="$PROJECT_DIR$/public/javascripts/select2.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/selectivizr-min.js" afterPath="$PROJECT_DIR$/public/javascripts/selectivizr-min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/skycons.js" afterPath="$PROJECT_DIR$/public/javascripts/skycons.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/styleswitcher.js" afterPath="$PROJECT_DIR$/public/javascripts/styleswitcher.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/summernote.min.js" afterPath="$PROJECT_DIR$/public/javascripts/summernote.min.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/typeahead.js" afterPath="$PROJECT_DIR$/public/javascripts/typeahead.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/javascripts/wysiwyg.js" afterPath="$PROJECT_DIR$/public/javascripts/wysiwyg.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/bootstrap-switch.css" afterPath="$PROJECT_DIR$/public/stylesheets/bootstrap-switch.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/bootstrap.min.css" afterPath="$PROJECT_DIR$/public/stylesheets/bootstrap.min.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/color/gray.css" afterPath="$PROJECT_DIR$/public/stylesheets/color/gray.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/color/green.css" afterPath="$PROJECT_DIR$/public/stylesheets/color/green.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/color/magenta.css" afterPath="$PROJECT_DIR$/public/stylesheets/color/magenta.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/color/orange.css" afterPath="$PROJECT_DIR$/public/stylesheets/color/orange.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/colorpicker.css" afterPath="$PROJECT_DIR$/public/stylesheets/colorpicker.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/datatables.css" afterPath="$PROJECT_DIR$/public/stylesheets/datatables.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/datepicker.css" afterPath="$PROJECT_DIR$/public/stylesheets/datepicker.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/daterange-picker.css" afterPath="$PROJECT_DIR$/public/stylesheets/daterange-picker.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/font-awesome.css" afterPath="$PROJECT_DIR$/public/stylesheets/font-awesome.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/fullcalendar.css" afterPath="$PROJECT_DIR$/public/stylesheets/fullcalendar.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/isotope.css" afterPath="$PROJECT_DIR$/public/stylesheets/isotope.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/jquery.fancybox.css" afterPath="$PROJECT_DIR$/public/stylesheets/jquery.fancybox.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/morris.css" afterPath="$PROJECT_DIR$/public/stylesheets/morris.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/pygments.css" afterPath="$PROJECT_DIR$/public/stylesheets/pygments.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/se7en-font.css" afterPath="$PROJECT_DIR$/public/stylesheets/se7en-font.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/select2.css" afterPath="$PROJECT_DIR$/public/stylesheets/select2.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/style.bak.css" afterPath="$PROJECT_DIR$/public/stylesheets/style.bak.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/summernote.css" afterPath="$PROJECT_DIR$/public/stylesheets/summernote.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/timepicker.css" afterPath="$PROJECT_DIR$/public/stylesheets/timepicker.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/typeahead.css" afterPath="$PROJECT_DIR$/public/stylesheets/typeahead.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/stylesheets/wizard.css" afterPath="$PROJECT_DIR$/public/stylesheets/wizard.css" />
</list>
<ignored path="guorenPro.iws" />
<ignored path=".idea/workspace.xml" />
@ -151,7 +20,7 @@
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="CoverageDataManager">
<SUITE FILE_PATH="coverage/guorenPro@Development__guorenPro.coverage" NAME="Development: guorenPro Coverage Results" MODIFIED="1480314893659" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="guorenPro" />
<SUITE FILE_PATH="coverage/guorenPro@Development__guorenPro.coverage" NAME="Development: guorenPro Coverage Results" MODIFIED="1480344291072" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="guorenPro" />
</component>
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
@ -162,11 +31,51 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="index.html.erb" pinned="false" current-in-tab="true">
<file leaf-file-name="chat_controller.rb" pinned="true" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/controllers/chat_controller.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="750">
<caret line="50" column="23" selection-start-line="50" selection-start-column="18" selection-end-line="50" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="chat_helper.rb" pinned="true" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/helpers/chat_helper.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1170">
<caret line="78" column="0" selection-start-line="78" selection-start-column="0" selection-end-line="78" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="_nav.html.erb" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/views/layouts/_nav.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1185">
<caret line="79" column="36" selection-start-line="79" selection-start-column="36" selection-end-line="79" selection-end-column="36" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="index.html.erb" pinned="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/app/views/chat/index.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="176" column="7" selection-start-line="176" selection-start-column="7" selection-end-line="176" selection-end-column="7" />
<state relative-caret-position="162">
<caret line="135" column="13" selection-start-line="135" selection-start-column="13" selection-end-line="135" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="routes.rb" pinned="true" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config/routes.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240">
<caret line="16" column="33" selection-start-line="16" selection-start-column="33" selection-end-line="16" selection-end-column="33" />
<folding />
</state>
</provider>
@ -221,12 +130,12 @@
<option value="$PROJECT_DIR$/back_code" />
<option value="$PROJECT_DIR$/app/views/main/main.html.erb" />
<option value="$PROJECT_DIR$/app/views/layouts/application.html.erb" />
<option value="$PROJECT_DIR$/app/views/layouts/_nav.html.erb" />
<option value="$PROJECT_DIR$/app/helpers/chat_helper.rb" />
<option value="$PROJECT_DIR$/app/views/index.html.erb" />
<option value="$PROJECT_DIR$/config/routes.rb" />
<option value="$PROJECT_DIR$/app/views/chat/index.html.erb" />
<option value="$PROJECT_DIR$/app/helpers/chat_helper.rb" />
<option value="$PROJECT_DIR$/app/controllers/chat_controller.rb" />
<option value="$PROJECT_DIR$/app/views/layouts/_nav.html.erb" />
<option value="$PROJECT_DIR$/app/views/chat/index.html.erb" />
</list>
</option>
</component>
@ -244,10 +153,9 @@
<option name="CUSTOM_FILTER" />
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-8" />
<option name="y" value="-8" />
<option name="width" value="1382" />
<option name="height" value="784" />
<option name="y" value="23" />
<option name="width" value="1440" />
<option name="height" value="808" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
@ -274,8 +182,6 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="RailsProjectView" />
<pane id="Scope" />
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
@ -511,12 +417,12 @@
</PATH>
</subPane>
</pane>
<pane id="RailsProjectView" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="js-jscs-nodeInterpreter" value="F:\nodejs\node.exe" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
@ -528,7 +434,7 @@
<recent name="$PROJECT_DIR$/app/views/user" />
</key>
</component>
<component name="RunManager" selected="Rails.Production: guorenPro">
<component name="RunManager" selected="Rails.Development: guorenPro">
<configuration default="true" type="CucumberRunConfigurationType" factoryName="Cucumber">
<predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
<module name="" />
@ -729,13 +635,13 @@
<updated>1480129957263</updated>
<workItem from="1480129958438" duration="22217000" />
<workItem from="1480220746662" duration="28946000" />
<workItem from="1480300633683" duration="8321000" />
<workItem from="1480321773563" duration="283000" />
<workItem from="1480300633683" duration="23887000" />
<workItem from="1480348233449" duration="67000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="59767000" />
<option name="totallyTimeSpent" value="75117000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
@ -747,27 +653,26 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1382" height="784" extended-state="6" />
<frame x="0" y="23" width="1440" height="808" extended-state="6" />
<editor active="false" />
<layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25549048" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26037195" sideWeight="0.48393574" order="0" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3293011" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32884097" sideWeight="0.5114449" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Inspection Results" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.13161659" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39892185" sideWeight="0.5028612" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32884097" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32884097" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.30615166" sideWeight="0.48855507" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32884097" sideWeight="0.48855507" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39892185" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32884097" sideWeight="0.48855507" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26037195" sideWeight="0.5160643" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.30727762" sideWeight="0.48855507" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32884097" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39892185" sideWeight="0.49713877" order="3" side_tool="false" content_ui="tabs" />
</layout>
<layout-to-restore>
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3293011" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
@ -805,68 +710,28 @@
<breakpoints>
<line-breakpoint enabled="true" type="ruby-line">
<url>file://$PROJECT_DIR$/app/controllers/chat_controller.rb</url>
<line>20</line>
<option name="timeStamp" value="12" />
</line-breakpoint>
<line-breakpoint enabled="true" type="ruby-line">
<url>file://$PROJECT_DIR$/app/controllers/chat_controller.rb</url>
<line>6</line>
<option name="timeStamp" value="13" />
</line-breakpoint>
<line-breakpoint enabled="true" type="ruby-line">
<url>file://$PROJECT_DIR$/app/controllers/chat_controller.rb</url>
<line>8</line>
<option name="timeStamp" value="15" />
</line-breakpoint>
<line-breakpoint enabled="true" type="ruby-line">
<url>file://$PROJECT_DIR$/app/views/chat/index.html.erb</url>
<line>16</line>
<option name="timeStamp" value="16" />
<line>9</line>
<option name="timeStamp" value="28" />
</line-breakpoint>
</breakpoints>
<breakpoints-dialog>
<breakpoints-dialog />
</breakpoints-dialog>
<option name="time" value="18" />
<option name="time" value="33" />
</breakpoint-manager>
<watches-manager>
<configuration name="RailsRunConfigurationType">
<watch expression="@current_chat_user.name" language="ruby" />
<watch expression="user.recieve_messages.where(readed: false)" language="ruby" />
<watch expression="@user.id" language="ruby" />
<watch expression="temp.instance_eval" language="ruby" />
<watch expression="@chat_with_users.keys" language="ruby" />
<watch expression="name" language="RHTML" />
<watch expression="@user.name" language="ruby" />
</configuration>
</watches-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/app/controllers/main_page_controller.rb" />
<entry file="file://$PROJECT_DIR$/app/controllers/main_pages_controller.rb" />
<entry file="file://$PROJECT_DIR$/db/migrate/20161126085423_create_users.rb" />
<entry file="file://$PROJECT_DIR$/app/models/application_record.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/models/message.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/helpers/user_helper.rb" />
<entry file="file://$PROJECT_DIR$/Gemfile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="161">
<caret line="18" column="0" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/puma.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
@ -878,6 +743,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="0" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -931,7 +797,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" column="17" selection-start-line="6" selection-start-column="17" selection-end-line="6" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
@ -939,7 +804,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="30" selection-start-line="11" selection-start-column="30" selection-end-line="11" selection-end-column="30" />
<folding />
</state>
</provider>
</entry>
@ -947,6 +811,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="8" column="18" selection-start-line="8" selection-start-column="18" selection-end-line="8" selection-end-column="18" />
<folding />
</state>
</provider>
</entry>
@ -964,15 +829,41 @@
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_controller/metal/rescue.rb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_controller/metal/basic_implicit_render.rb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionview-5.0.0.1/lib/action_view/rendering.rb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_controller/metal.rb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_dispatch/journey/router.rb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-2.0.1/lib/rack/etag.rb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/notifications/instrumenter.rb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/associations/builder/association.rb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_controller/metal/basic_implicit_render.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_controller/metal.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154">
<caret line="191" column="0" selection-start-line="191" selection-start-column="0" selection-end-line="191" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_dispatch/journey/router.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="244">
<caret line="47" column="0" selection-start-line="47" selection-start-column="0" selection-end-line="47" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-2.0.1/lib/rack/etag.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="229">
<caret line="32" column="0" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/associations/builder/association.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="110" column="0" selection-start-line="110" selection-start-column="0" selection-end-line="110" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/密码.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
@ -980,11 +871,10 @@
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/associations.rb" />
<entry file="file://$PROJECT_DIR$/app/views/login/init.html.erb">
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/associations.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="281">
<caret line="30" column="0" selection-start-line="30" selection-start-column="0" selection-end-line="33" selection-end-column="81" />
<state relative-caret-position="134">
<caret line="230" column="0" selection-start-line="230" selection-start-column="0" selection-end-line="230" selection-end-column="0" />
</state>
</provider>
</entry>
@ -992,7 +882,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="24" selection-start-line="7" selection-start-column="24" selection-end-line="7" selection-end-column="24" />
<folding />
</state>
</provider>
</entry>
@ -1011,7 +900,13 @@
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb" />
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/layouts/_footer.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
@ -1030,71 +925,157 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342">
<caret line="210" column="0" selection-start-line="210" selection-start-column="0" selection-end-line="210" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb" />
<entry file="file://$PROJECT_DIR$/app/views/users/new.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570">
<caret line="45" column="25" selection-start-line="45" selection-start-column="25" selection-end-line="45" selection-end-column="25" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/layouts/application.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="18" column="7" selection-start-line="18" selection-start-column="7" selection-end-line="18" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="126" column="0" selection-start-line="126" selection-start-column="0" selection-end-line="126" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/index.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="29" column="38" selection-start-line="29" selection-start-column="38" selection-end-line="29" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/login/init.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="465">
<caret line="31" column="12" selection-start-line="31" selection-start-column="12" selection-end-line="31" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/executor.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210">
<caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/debug_exceptions.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="149">
<caret line="58" column="0" selection-start-line="58" selection-start-column="0" selection-end-line="58" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-3.4.0/lib/web_console/middleware.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="29" column="0" selection-start-line="29" selection-start-column="0" selection-end-line="29" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionview-5.0.0.1/lib/action_view/rendering.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="31" column="0" selection-start-line="31" selection-start-column="0" selection-end-line="31" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/notifications/instrumenter.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/callbacks.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="321">
<caret line="41" column="0" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="690">
<caret line="46" column="7" selection-start-line="46" selection-start-column="7" selection-end-line="46" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-3.4.0/lib/web_console/evaluator.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="13" column="0" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action_controller/metal/rescue.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.0.0.1/lib/rails.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="60" column="0" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-3.4.0/lib/web_console/session.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="47" column="0" selection-start-line="47" selection-start-column="0" selection-end-line="47" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/routes.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240">
<caret line="16" column="33" selection-start-line="16" selection-start-column="33" selection-end-line="16" selection-end-column="33" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/controllers/chat_controller.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1007">
<caret line="53" column="22" selection-start-line="53" selection-start-column="22" selection-end-line="53" selection-end-column="22" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/layouts/application.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="323">
<caret line="17" column="7" selection-start-line="17" selection-start-column="7" selection-end-line="17" selection-end-column="7" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/layouts/_nav.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="281">
<caret line="72" column="38" selection-start-line="72" selection-start-column="38" selection-end-line="72" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/users/new.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="57">
<caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/routes.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="15" column="13" selection-start-line="15" selection-start-column="8" selection-end-line="15" selection-end-column="13" />
<state relative-caret-position="750">
<caret line="50" column="23" selection-start-line="50" selection-start-column="18" selection-end-line="50" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/helpers/chat_helper.rb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="21" column="28" selection-start-line="21" selection-start-column="28" selection-end-line="21" selection-end-column="28" />
<state relative-caret-position="1170">
<caret line="78" column="0" selection-start-line="78" selection-start-column="0" selection-end-line="78" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/layouts/_nav.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1185">
<caret line="79" column="36" selection-start-line="79" selection-start-column="36" selection-end-line="79" selection-end-column="36" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/chat/index.html.erb">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="176" column="7" selection-start-line="176" selection-start-column="7" selection-end-line="176" selection-end-column="7" />
<state relative-caret-position="162">
<caret line="135" column="13" selection-start-line="135" selection-start-column="13" selection-end-line="135" selection-end-column="13" />
<folding />
</state>
</provider>

View File

@ -9,11 +9,7 @@ class ChatController < ApplicationController
@chat_with_users = get_chat_with_users(@user)
if !@current_chat_user_name.nil?
@current_chat_user = User.find_by(name: @current_chat_user_name)
@current_chat_user_id = User.find_by(name: @current_chat_user_name).id
@current_messages = Message.where(send_user: [@user.id, @current_chat_user_id],
recieve_user: [@user.id, @current_chat_user_id]).order(create_time: :asc)
messages = process_messages(@current_messages, @user, @current_chat_user)
p @current_chat_user_id
messages = process_messages(@user, @current_chat_user)
render json: messages
# else
# if !@chat_with_users.empty?
@ -41,20 +37,40 @@ class ChatController < ApplicationController
def notify
@user = current_user
# unreaded_lists = unread_msg_users(@uesr)
render json: {unreaded: unread_msg_num(@user)}
end
def online
@user = current_user
results = unread_msg_users(@user)
if results.empty?
results = nil
end
render json: {users:results}
end
def query
@user = current_user
query_name = params[:username]
query_user = User.find_by(name:query_name)
if !query_user.nil?
query_name = query_user.name
ok = true
else
all_user_names = params[:all]
if all_user_names.include? query_name or query_name == @user.name
query_name = nil
ok = false
else
query_user = User.find_by(name: query_name)
if query_user.empty?
query_name = nil
ok = false
else
query_name = query_user.name
ok = true
end
end
render json: {username:query_name,ok:ok}
render json: {username: query_name, ok: ok}
end
end

View File

@ -4,13 +4,13 @@ module ChatHelper
def get_chat_with_users user
chat_with_users = {}
user.recieve_messages.where(readed:true).select(:send_user).distinct.each do |chat|
user.recieve_messages.where(readed: true).select(:send_user).distinct.each do |chat|
temp_user_id = chat.send_user
find_user = User.find(temp_user_id)
user_name_sym = find_user.name.to_sym
chat_with_users[user_name_sym] = true
end
user.send_messages.select(:recieve_user).distinct.each do |chat|
temp_user_id = chat.recieve_user
find_user = User.find(temp_user_id)
@ -18,7 +18,7 @@ module ChatHelper
chat_with_users[user_name_sym] = true
end
user.recieve_messages.where(readed:false).select(:send_user).distinct.each do |chat|
user.recieve_messages.where(readed: false).select(:send_user).distinct.each do |chat|
temp_user_id = chat.send_user
find_user = User.find(temp_user_id)
user_name_sym = find_user.name.to_sym
@ -29,16 +29,23 @@ module ChatHelper
end
def process_messages(messages, user, chat_with)
def process_messages(user, chat_with)
results = []
if !messages.nil?
messages.each do |message|
if message.send_user == user.id
x = {issend: true, send: user.name, recieve: chat_with.name, content: message.content, time: message.create_time}
else
x = {issend: false, send: chat_with.name, recieve: user.name, content: message.content, time: message.create_time}
Message.transaction do
messages = Message.lock.where(send_user: [user.id, chat_with.id],
recieve_user: [user.id, chat_with.id]).order(create_time: :asc)
if !messages.empty?
messages.each do |message|
if message.send_user == user.id
x = {issend: true, send: user.name, recieve: chat_with.name, content: message.content, time: message.create_time}
else
message.readed = true
message.save
x = {issend: false, send: chat_with.name, recieve: user.name, content: message.content, time: message.create_time}
end
results << x
end
results << x
end
end
results
@ -49,7 +56,23 @@ module ChatHelper
end
def unread_msg_users user
user.recieve_messages.where(readed: false).select(:send_user).distinct
# unreaded_lists = []
# unreaded_users = user.recieve_messages.where(readed: false).select(:send_user).distinct
# if !unreaded_users.empty?
# unreaded_users do |unreaded_id|
# unreaded_lists << User.find(unreaded_id).id
# end
# end
# unreaded_lists
return_user_msg = {}
results = user.recieve_messages.where(readed: false)
if results.count != 0
results.each do |result|
username = User.find(result.send_user).name
return_user_msg[username] = [];
return_user_msg[username] <<result.content;
end
end
return_user_msg
end
end

View File

@ -105,9 +105,8 @@
$("#chatList").append(from);
}
$('.user_entry').bind("click", function () {
name = $(".user_name").text();
// console.log(name);
function label_click() {
name = $(this).find("label").text();
$.ajax({
type: 'get',
dataType: 'json',
@ -124,14 +123,19 @@
insertRecieve(data[i]["send"], data[i]["content"], data[i]["time"]);
}
}
notify();
$("#msg").attr("disabled",false);
}
})
});
});
$(this).find("i").remove();
}
$("#msgSubmit").click(function () {
var text = $("#msg").val();
if ( text.length == 0 ){
return;
}
var chat_with_user = $("#chatwith").text();
console.log(chat_with_user);
$.ajax({
type: 'post',
data: {msg: text, chat_with: chat_with_user, authenticity_token: AUTH_TOKEN},
@ -141,16 +145,10 @@
insertSend(data["msg"], data["time"]);
}
});
$("#msg").val("");
return false;
});
// var tock = setInterval('$(".icon-plus").click()',1000);
// $(document).ready(function () {
//
// });
function append_user(name) {
var append_div = '<li class="user_entry">' +
'<a href="#">' +
@ -166,18 +164,28 @@
}
function query_user(name) {
$.ajax({
type: 'get',
data: {username: name},
dataType: 'json',
url: '/query',
success: function (data, textStatus, jqXHR) {
append_user(data["username"]);
}
var all_user_name = [];
$(".user_entry label").each(function () {
all_user_name.push($(this).text());
});
if (all_user_name.indexOf(name) < 0) {
console.log(all_user_name,name);
$.ajax({
type: 'get',
data: {username: name, all: all_user_name},
dataType: 'json',
url: '/query',
success: function (data, textStatus, jqXHR) {
if (data["ok"] == true) {
append_user(data["username"]);
$('.user_entry').bind("click", label_click);
}
}
});
}
return false;
}
;
$("#query_submit").click(function () {
$('#addUser').modal("hide");
@ -189,6 +197,45 @@
}
});
$(document).ready(function () {
$('.user_entry').bind("click", label_click);
});
function addOnlineLable(uniquename) {
var yuandian = '<i class="icon-circle text-success"></i>';
var results = $('.user_name:contains(' + uniquename + ')');
for (var i = 0; i < results.length; i++) {
if($(results[i]).text() === uniquename ) {
if($(results[i]).parent().find("i").length == 0 ){
$(results[i]).parent().append(yuandian);
}
}
}
}
function online() {
$.ajax({
type: 'get',
dataType: 'json',
url: '/online',
success: function (data, textStatus, jqXHR) {
if (data["users"] != null) {
for(var key in data["users"]){
console.log(key);
addOnlineLable(key);
}
}
}
});
return false;
}
setInterval('online()', 10000);
// clearInterval(notify_num_ticker);
</script>

View File

@ -49,38 +49,36 @@
</div>
<script>
// $("#msgNum").click(function () {
// $.ajax({
// type: 'get',
// dataType: 'json',
// url: '/msg',
// success: function (data, textStatus, jqXHR) {
// $("#msgNum"
// ).text(data["unreaded"])
// }
// });
// return false;
// });
function addNotifyLable(uniquename) {
var yuandian = '<i class="icon-circle text-success"></i>';
var results = $('.user_name:contains(' + uniquename + ')');
for (var i = 0; i < results.length; i++) {
if ($(results[i]).text() === uniquename) {
$(results[i]).parent().append(yuandian);
}
}
}
function notify() {
$.ajax({
type: 'get',
dataType: 'json',
url: '/msg',
url: '/notify',
success: function (data, textStatus, jqXHR) {
$("#msgNum"
).text(data["unreaded"]);
console.log(data["unreaded"]);
}
});
return false;
}
$(document).ready(function(){
var notify_num_ticker;
$(document).ready(function () {
notify();
setInterval('notify()', 3000);
notify_num_ticker = setInterval('notify()', 10000);
$("#msg").attr("disabled",true);
});
// setInterval('$("#msgNum").click()',3000);
setInterval('notify()', 3000);
</script>

View File

@ -12,8 +12,9 @@ Rails.application.routes.draw do
get '/chat', to: 'chat#index'
post '/newmsg', to: 'chat#new'
get '/msg', to: 'chat#notify'
get '/notify', to: 'chat#notify'
get '/query', to: 'chat#query'
get '/online',to: 'chat#online'
resource :users