diff --git a/app/assets/javascripts/bootstrap.js b/app/assets/javascripts/bootstrap.js index 5c158c64..4facdf35 100644 --- a/app/assets/javascripts/bootstrap.js +++ b/app/assets/javascripts/bootstrap.js @@ -1,1740 +1,2031 @@ -/* =================================================== - * bootstrap-transition.js v2.0.0 - * http://twitter.github.com/bootstrap/javascript.html#transitions - * =================================================== - * Copyright 2012 Twitter, Inc. - * - * Licensed 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( $ ) { - - $(function () { - - "use strict" - - /* CSS TRANSITION SUPPORT (https://gist.github.com/373874) - * ======================================================= */ - - $.support.transition = (function () { - var thisBody = document.body || document.documentElement - , thisStyle = thisBody.style - , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined - - return support && { - end: (function () { - var transitionEnd = "TransitionEnd" - if ( $.browser.webkit ) { - transitionEnd = "webkitTransitionEnd" - } else if ( $.browser.mozilla ) { - transitionEnd = "transitionend" - } else if ( $.browser.opera ) { - transitionEnd = "oTransitionEnd" - } - return transitionEnd - }()) - } - })() - - }) - -}( window.jQuery ) - -/* ========================================================= - * bootstrap-modal.js v2.0.0 - * http://twitter.github.com/bootstrap/javascript.html#modals - * ========================================================= - * Copyright 2012 Twitter, Inc. - * - * Licensed 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( $ ){ - - "use strict" - - /* MODAL CLASS DEFINITION - * ====================== */ - - var Modal = function ( content, options ) { - this.options = options - this.$element = $(content) - .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) - } - - Modal.prototype = { - - constructor: Modal - - , toggle: function () { - return this[!this.isShown ? 'show' : 'hide']() - } - - , show: function () { - var that = this - - if (this.isShown) return - - $('body').addClass('modal-open') - - this.isShown = true - this.$element.trigger('show') - - escape.call(this) - backdrop.call(this, function () { - var transition = $.support.transition && that.$element.hasClass('fade') - - !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position - - that.$element - .show() - - if (transition) { - that.$element[0].offsetWidth // force reflow - } - - that.$element.addClass('in') - - transition ? - that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : - that.$element.trigger('shown') - - }) - } - - , hide: function ( e ) { - e && e.preventDefault() - - if (!this.isShown) return - - var that = this - this.isShown = false - - $('body').removeClass('modal-open') - - escape.call(this) - - this.$element - .trigger('hide') - .removeClass('in') - - $.support.transition && this.$element.hasClass('fade') ? - hideWithTransition.call(this) : - hideModal.call(this) - } - - } - - /* MODAL PRIVATE METHODS - * ===================== */ - - function hideWithTransition() { - var that = this - , timeout = setTimeout(function () { - that.$element.off($.support.transition.end) - hideModal.call(that) - }, 500) - - this.$element.one($.support.transition.end, function () { - clearTimeout(timeout) - hideModal.call(that) - }) - } - - function hideModal( that ) { - this.$element - .hide() - .trigger('hidden') - - backdrop.call(this) - } - - function backdrop( callback ) { - var that = this - , animate = this.$element.hasClass('fade') ? 'fade' : '' - - if (this.isShown && this.options.backdrop) { - var doAnimate = $.support.transition && animate - - this.$backdrop = $('
diff --git a/app/views/layouts/_side_bar.html.erb b/app/views/layouts/_side_bar.html.erb index cc6daf73..545c5fbb 100644 --- a/app/views/layouts/_side_bar.html.erb +++ b/app/views/layouts/_side_bar.html.erb @@ -105,7 +105,7 @@ <% end -%> <% end -%> -<%= content_tag :li, :class => active_for_controllers('cals','calendar_categories') || active_for_app_auth("calendar") do -%> +<%= content_tag :li, :class => active_for_controllers('cals') || active_for_app_auth("calendar") do -%> <%= link_to content_tag(:i, nil, :class => 'icons-calendar') + content_tag(:span, t('admin.calendar')), panel_calendar_back_end_cals_path %> <%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('cals','calendar_categories') ) do -%> <%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %> @@ -116,6 +116,17 @@ <%#= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "gallery"}))), :class => active_for_app_auth('gallery') if (is_admin? rescue nil) %> <% end -%> <% end %> +<%= content_tag :li, :class => active_for_controllers('locations') || active_for_app_auth("gprs") do -%> + <%= link_to content_tag(:i, nil, :class => 'icons-link') + content_tag(:span, t('admin.gprs')), panel_gprs_back_end_locations_path %> + <%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('locations') ) do -%> + <%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %> + <%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %> + <%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %> + <%#= content_tag :li, link_to((t('calendar.calendars') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_calendar_back_end_cal_path), :class => active_for_action('cals','new') %> + <%#= content_tag :li, link_to(t('gallery.tags'), panel_gallery_back_end_tags_path), :class => active_for_action('/panel/gallery/back_end/tags', 'index') %> + <%#= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "gallery"}))), :class => active_for_app_auth('gallery') if (is_admin? rescue nil) %> + <% end -%> +<% end %> <%= content_tag :li, :class => (active_for_controllers('writing_journals', '/panel/personal_journal/back_end/tags', 'writing_journal_categorys', 'approvals') || active_for_app_auth('PersonalJournal') ) do -%> <%= link_to content_tag(:i, nil, :class => 'icons-personal_journal') + t('admin.personal_journal'), panel_personal_journal_back_end_writing_journals_path %> @@ -157,6 +168,41 @@ <% end -%> +<%= content_tag :li, :class => (active_for_controllers('researchs', '/panel/personal_research/back_end/tags', 'research_categorys', 'approvals') || active_for_app_auth('PersonalJournal') ) do -%> + <%= link_to content_tag(:i, nil, :class => 'icons-personal_research') + t('admin.personal_research'), panel_personal_research_back_end_researchs_path %> + <%= content_tag :ul, :class => ("nav nav-list " + (visible_for_controllers('researchs', '/panel/personal_research/back_end/tags', 'research_categorys', 'approvals'))) do -%> + <%= content_tag :li, link_to(t('personal_research.all_articles'), panel_personal_research_back_end_researchs_path), :class => active_for_action('researchs', 'index') %> + <%#= content_tag :li, link_to(t('personal_research.setting'), panel_personal_research_back_end_research_setting_path), :class => active_for_action('research_setting', 'index') %> + <%= content_tag :li, link_to(t('personal_research.tags'), panel_personal_research_back_end_tags_path), :class => active_for_action('/panel/personal_research/back_end/tags', 'index') %> + + <% end -%> + +<% end -%> + +<%= content_tag :li, :class => (active_for_controllers('projects', '/panel/personal_project/back_end/tags', 'project_categorys', 'approvals') || active_for_app_auth('PersonalJournal') ) do -%> + <%= link_to content_tag(:i, nil, :class => 'icons-personal_project') + t('admin.personal_project'), panel_personal_project_back_end_projects_path %> + <%= content_tag :ul, :class => ("nav nav-list " + (visible_for_controllers('projects', '/panel/personal_project/back_end/tags', 'project_categorys', 'approvals'))) do -%> + <%= content_tag :li, link_to(t('personal_project.all_articles'), panel_personal_project_back_end_projects_path), :class => active_for_action('projects', 'index') %> + <%= content_tag :li, link_to(t('personal_project.setting'), panel_personal_project_back_end_project_setting_path), :class => active_for_action('project_setting', 'index') %> + <%= content_tag :li, link_to(t('personal_project.project_category'), panel_personal_project_back_end_project_categorys_path), :class => active_for_action('project_categorys', 'index') %> + <%= content_tag :li, link_to(t('personal_project.tags'), panel_personal_project_back_end_tags_path), :class => active_for_action('/panel/personal_project/back_end/tags', 'index') %> + + <% end -%> + +<% end -%> + +<%= content_tag :li, :class => (active_for_controllers('writing_patents', '/panel/personal_patent/back_end/tags', 'writing_patent_categorys', 'approvals') || active_for_app_auth('PersonalJournal') ) do -%> + <%= link_to content_tag(:i, nil, :class => 'icons-personal_patent') + t('admin.personal_patent'), panel_personal_patent_back_end_writing_patents_path %> + <%= content_tag :ul, :class => ("nav nav-list " + (visible_for_controllers('writing_patents', '/panel/personal_patent/back_end/tags', 'writing_patent_categorys', 'approvals'))) do -%> + <%= content_tag :li, link_to(t('personal_patent.all_articles'), panel_personal_patent_back_end_writing_patents_path), :class => active_for_action('writing_patents', 'index') %> + <%= content_tag :li, link_to(t('personal_patent.setting'), panel_personal_patent_back_end_writing_patent_setting_path), :class => active_for_action('writing_patent_setting', 'index') %> + <%#= content_tag :li, link_to(t('personal_patent.writing_patent_category'), panel_personal_patent_back_end_writing_patent_categorys_path), :class => active_for_action('writing_patent_categorys', 'index') %> + <%= content_tag :li, link_to(t('personal_patent.tags'), panel_personal_patent_back_end_tags_path), :class => active_for_action('/panel/personal_patent/back_end/tags', 'index') %> + + <% end -%> + +<% end -%> +
<% flash.each do |key, msg| %> <%= content_tag :span, msg, :class => [key, "notice label label-warning"] %> diff --git a/config/application.rb b/config/application.rb index f5e0a078..ccc4a65e 100644 --- a/config/application.rb +++ b/config/application.rb @@ -34,6 +34,9 @@ module Orbit config.autoload_paths += %W(#{config.root}/app/models/purchase) config.autoload_paths += %W(#{config.root}/app/models/user) + # Include all helpers + # 'helper :all' must be removed in ApplicationController + config.action_controller.include_all_helpers = false # Only load the plugins named here, in the order given (default is alphabetical). # :all can be used as a placeholder for all plugins not explicitly named. diff --git a/config/locales/en.yml b/config/locales/en.yml index efe8612a..b638ccb1 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -130,6 +130,7 @@ en: attributes: Attributes author: Author calendar: Calendar + gprs: GPRS cant_delete_self: You can not delete yourself. cant_revoke_self_admin: You can not revoke your admin role yourself. category: Category diff --git a/lib/orbit_app.rb b/lib/orbit_app.rb new file mode 100644 index 00000000..b0e5a735 --- /dev/null +++ b/lib/orbit_app.rb @@ -0,0 +1,12 @@ +require "orbit_app/summary" +require "orbit_app/dsl" +require "orbit_app/module/backend_side_bar" +require "orbit_app/plugin/summary" +require "orbit_app/plugin/registration" +require "orbit_app/module/summary" +require "orbit_app/module/registration" + +module OrbitApp + extend DSL + +end diff --git a/lib/orbit_app/dsl.rb b/lib/orbit_app/dsl.rb new file mode 100644 index 00000000..95bc7cce --- /dev/null +++ b/lib/orbit_app/dsl.rb @@ -0,0 +1,26 @@ +module OrbitApp + module DSL + def registration(name,type ={:type=> "ModuleApp"} ,&block) + if type[:type] == "ModuleApp" + Module::Registration.new(name,&block) + elsif type[:type] == "PersonalPlugin" + Plugin::Registration.new(name,&block) + end + + end + + + # def backend_side_bar(name,&block) + # Module::BackendSideBar.new(name,&block) + # end + + # def plugin_summary(name,&block) + # # Plugin::PluginSummary.new(name,&block) + # end + + # def module_summary(name,&block) + # Module::Summary.new(name,&block) + # end + + end +end \ No newline at end of file diff --git a/lib/orbit_app/module/backend_side_bar.rb b/lib/orbit_app/module/backend_side_bar.rb new file mode 100644 index 00000000..de0ef750 --- /dev/null +++ b/lib/orbit_app/module/backend_side_bar.rb @@ -0,0 +1,17 @@ +module OrbitApp + module Module + class BackendSideBar + attr_reader :name + + def initialize(name, &block) + @name = name + block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given? + end + + # def personal_plugin(*args) + # binding.pry + # end + + end + end +end \ No newline at end of file diff --git a/lib/orbit_app/module/registration.rb b/lib/orbit_app/module/registration.rb new file mode 100644 index 00000000..2f98592d --- /dev/null +++ b/lib/orbit_app/module/registration.rb @@ -0,0 +1,54 @@ +module OrbitApp + module Module + module Registration + Version = "0.1" + + module ClassMethods + @@registrations = [] + + def new( name ,&block) + @@registrations << DataSheet.new(name,&block) + end + + def find_by_key(key) + @@registrations.each{|t| + return t if t.name == key + } + return nil + end + + def all + return @@registrations + end + end + + extend ClassMethods + def self.included( other ) + other.extend( ClassMethods ) + end + + class DataSheet + attr_reader :name + attr_reader :base_path + + def initialize(name, &block) + @name = name + block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given? + end + + def plugin + + end + + def personal_plugin(params) + # TODO 這裡要看是一些檔案是不是都有 + Plugin::Registration.new_from_module_app(@name,@base_path,params) + end + + def base_url(var) + @base_path = var + end + end + end + end +end \ No newline at end of file diff --git a/lib/orbit_app/module/summary.rb b/lib/orbit_app/module/summary.rb new file mode 100644 index 00000000..c3098cb1 --- /dev/null +++ b/lib/orbit_app/module/summary.rb @@ -0,0 +1,20 @@ +#encoding: utf-8 +require "orbit_app/summary" + +module OrbitApp + module Module + module Summary + include OrbitApp::Summary + + class Item + def initialize() + @top = {:label => "全部內容有",:value=> "2071"} + @items = [{:label => "新聞",:value=> "20"}] + end + + + end + + end + end +end \ No newline at end of file diff --git a/lib/orbit_app/plugin/registration.rb b/lib/orbit_app/plugin/registration.rb new file mode 100644 index 00000000..f996fc6d --- /dev/null +++ b/lib/orbit_app/plugin/registration.rb @@ -0,0 +1,58 @@ +module OrbitApp + module Plugin + module Registration + Version = "0.1" + + module ClassMethods + @@registrations = [] + + def new( name ,&block) + @@registrations << DataSheet.new(name,&block) + end + + def new_from_module_app(name,base_path,arg) + @@registrations << DataSheet.new(name,arg,:base_path=>base_path) + end + + def find_by_key(key) + @@registrations.each{|t| + return t if t.name == key + } + return nil + end + + def all + return @@registrations + end + end + + extend ClassMethods + def self.included( other ) + other.extend( ClassMethods ) + end + + class DataSheet + attr_reader :name + attr_reader :base_path + + + def initialize(name,partial=nil,*args ,&block) + @base_path = args[0][:base_path] + @name = name + @partial_path = '' + + unless partial.nil? + @partial_path = partial[:path] + end + + block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given? + end + + def profile_partial_path + return @partial_path + end + + end + end + end +end \ No newline at end of file diff --git a/lib/orbit_app/plugin/summary.rb b/lib/orbit_app/plugin/summary.rb new file mode 100644 index 00000000..ee0c6982 --- /dev/null +++ b/lib/orbit_app/plugin/summary.rb @@ -0,0 +1,11 @@ +require "orbit_app/summary" + +module OrbitApp + module Plugin + module Summary + # include OrbitApp::Summary + include OrbitApp::Summary + + end + end +end \ No newline at end of file diff --git a/lib/orbit_app/summary.rb b/lib/orbit_app/summary.rb new file mode 100644 index 00000000..05c22f89 --- /dev/null +++ b/lib/orbit_app/summary.rb @@ -0,0 +1,46 @@ +module OrbitApp + module Summary + Version = "0.1" + + module ClassMethods + @@summaries = [] + + def new( name ,&block) + @@summaries << Item.new(name,&block) + binding.pry + end + + def all + return @@summaries + end + end + + extend ClassMethods + def self.included( other ) + other.extend( ClassMethods ) + end + + + + + + # def initialize( k ) + # @@summaries += 1 + # binding.pry + # end + + + class Item + @name ="" + def initialize(name = "test",&block) + @name = name + block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given? + end + + def get_name + return @name + end + end + + end +end \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_filter.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_filter.html.erb index b81c0e31..cf08e8ed 100644 --- a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_filter.html.erb +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_filter.html.erb @@ -1,33 +1,35 @@ diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_form.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_form.html.erb index aafea48d..f1483c4b 100644 --- a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_form.html.erb +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_form.html.erb @@ -106,7 +106,7 @@ diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/plugin/_profile.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/plugin/_profile.html.erb new file mode 100644 index 00000000..54b2428e --- /dev/null +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/plugin/_profile.html.erb @@ -0,0 +1 @@ +Hello~ I am your plugin profile \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/init.rb b/vendor/built_in_modules/announcement/init.rb new file mode 100644 index 00000000..9a2c0d43 --- /dev/null +++ b/vendor/built_in_modules/announcement/init.rb @@ -0,0 +1,25 @@ +module Announcement + OrbitApp.registration "Announcement",:type=> 'ModuleApp' do + + base_url File.expand_path File.dirname(__FILE__) + personal_plugin :enable => true,:path=>"panel/announcement/plugin/profile" + + + end + +end + + +# OrbitApp.backend_side_bar 'News' do + +# block :available_for => [:admin,:guest,:manager,:sub_manager], +# :active_for_controllers=> ['news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals'], +# :active_for_ob_auths_object => ['NewsBulletinCategory'], +# :head_link => panel_news_back_end_news_bulletins_path , +# :head_label=> I18n.t('admin.news') + +# context_link :link=>new_panel_news_back_end_news_bulletin_path , +# :priority=>1,:label=>I18n.t('announcement.add_new'), +# :active_for_action=>{:news_bulletins=>:new} + +# end \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/lib/announcement.rb b/vendor/built_in_modules/announcement/lib/announcement.rb deleted file mode 100644 index 1feec47d..00000000 --- a/vendor/built_in_modules/announcement/lib/announcement.rb +++ /dev/null @@ -1,4 +0,0 @@ -require "announcement/engine" - -module Announcement -end diff --git a/vendor/built_in_modules/calendar/app/assets/javascripts/calendarAPI.js.erb b/vendor/built_in_modules/calendar/app/assets/javascripts/calendarAPI.js.erb index 2b8b2b02..64eb8f8a 100644 --- a/vendor/built_in_modules/calendar/app/assets/javascripts/calendarAPI.js.erb +++ b/vendor/built_in_modules/calendar/app/assets/javascripts/calendarAPI.js.erb @@ -1,21 +1,52 @@ //created on sep 14 2012 +Date.prototype.getWeek = function (dowOffset) { +/*getWeek() was developed by Nick Baicoianu at MeanFreePath: http://www.epoch-calendar.com */ + + dowOffset = typeof(dowOffset) == 'int' ? dowOffset : 0; //default dowOffset to zero + var newYear = new Date(this.getFullYear(),0,1); + var day = newYear.getDay() - dowOffset; //the day of week the year begins on + day = (day >= 0 ? day : day + 7); + var daynum = Math.floor((this.getTime() - newYear.getTime() - + (this.getTimezoneOffset()-newYear.getTimezoneOffset())*60000)/86400000) + 1; + var weeknum; + //if the year starts before the middle of a week + if(day < 4) { + weeknum = Math.floor((daynum+day-1)/7) + 1; + if(weeknum > 52) { + nYear = new Date(this.getFullYear() + 1,0,1); + nday = nYear.getDay() - dowOffset; + nday = nday >= 0 ? nday : nday + 7; + /*if the next year starts before the middle of + the week, it is week #1 of that year*/ + weeknum = nday < 4 ? 1 : 53; + } + } + else { + weeknum = Math.floor((daynum+day-1)/7); + } + return weeknum; +}; + var calendarAPI = function(){ c = this; this.event_create_div = $("#event_create"); this.event_quick_view_div = $("#event_quick_view"); - this.cur_month = null; - this.cur_year = null; this.today = new Date(); + this.cur_month = c.today.getMonth()+1; + this.cur_year = c.today.getFullYear(); + this.cur_week = c.today.getWeek(); + this.view = null; this.monthlist = ["","January","February","March","April","May","June","July","August","September","October","November","December"]; this.initialize = function(){ $(window).load(function(){ - c.loadMonthView(); + // c.loadMonthView(c.cur_month,c.cur_year); + c.loadWeekView(c.cur_week,c.cur_year); bindHandlers(); }) var bindHandlers = function(){ $(".event").live("click",function(){ - c.displayEvent(); + c.displayEvent($(this)); }) $("#create_event_btn").click(function(){ @@ -39,7 +70,7 @@ var calendarAPI = function(){ c.loadMonthView(c.cur_month,c.cur_year); break; case 'week': - c.loadWeekView(); + c.loadWeekView(c.cur_week,c.cur_year); break; case 'day': c.loadDayView(); @@ -50,26 +81,58 @@ var calendarAPI = function(){ } }) $("button#prev_month_btn").click(function(){ - var m,y; - if(c.cur_month == 1){ - m = 12; - y = c.cur_year-1; - }else{ - m = c.cur_month-1; - y = c.cur_year; + switch (c.view){ + case "month": + var m,y; + if(c.cur_month == 1){ + m = 12; + y = c.cur_year-1; + }else{ + m = c.cur_month-1; + y = c.cur_year; + } + c.loadMonthView(m,y); + break; + case "week": + var w,y; + if(c.cur_week == 1){ + w = 52; + y = c.cur_year - 1; + }else{ + w = c.cur_week - 1; + y = c.cur_year; + } + c.loadWeekView(w,y); + break; } - c.loadMonthView(m,y); + }) $("button#next_month_btn").click(function(){ - var m,y; - if(c.cur_month == 12){ - m = 1; - y = c.cur_year+1; - }else{ - m = c.cur_month+1; - y = c.cur_year; + switch (c.view){ + case "month": + var m,y; + if(c.cur_month == 12){ + m = 1; + y = c.cur_year+1; + }else{ + m = c.cur_month+1; + y = c.cur_year; + } + c.loadMonthView(m,y); + break; + case "week": + var w,y; + + if(c.cur_week == 52){ + w = 1; + y = c.cur_year + 1; + }else{ + w = c.cur_week + 1; + y = c.cur_year; + } + c.loadWeekView(w,y); + break; } - c.loadMonthView(m,y); }) $("button#today_btn").click(function(){ c.loadMonthView(); @@ -77,17 +140,18 @@ var calendarAPI = function(){ } } this.loadMonthView = function(month,year){ + c.view = "month"; if(!month){ var dt = new Date(); month = dt.getMonth()+1; year = dt.getFullYear(); } - // month = 2; + // month = 10; // year = 2008; c.cur_month = month; c.cur_year = year; $('#view_holder').load("cals/month_view?month="+month+"&year="+year, function() { - getEvents(month,year); + c.getEventsForMonth(month,year); $('.current_day_title').text(c.monthlist[c.cur_month]+" "+c.cur_year); if($('#calendar_month').length > 0){ var $c_table = $('#calendar_month'); @@ -111,49 +175,129 @@ var calendarAPI = function(){ }); } }) - var getEvents = function(month,year){ - $.getJSON("cals/getEvents",{"type":"monthview","month":month,"year":year},function(events){ - var $eventrow = $(""); - var nos = new Array(); - nos.push(0); - $.each(events,function(i,evnt){ - var daydom = $("#calendar_month td[date="+evnt.start_date+"]"); - var curparent = daydom.parent().parent().parent(); - var thisrow = curparent.attr("row"); - var pos = daydom.attr("position"); - var thisno = daydom.attr("no"); - - var index = "new"; - for(x in nos){ - if(thisno < nos[x]){ - $eventrow = null; - $eventrow = $(""); - index = x; - break; - } - } - if(index!="new"){ - nos[index] = (thisno + evnt.total_days) - 1; - }else{ - nos.push((thisno + evnt.total_days) - 1); - } - if(pos == 1){ - $eventrow.html('
'+evnt.title+'
'); - }else{ - if($eventrow.html()==""){ - $eventrow.append(''); - } - $eventrow.append('
'+evnt.title+'
'); - } + + } + + + this.getEventsForMonth = function(month,year){ + $.getJSON("cals/getMonthEvents",{"month":month,"year":year},function(events){ + makerow(events); + }) + var doneEventArray = new Array(); + var makerow = function(events){ + var $eventrow =null; + var currow = 0; + var curdate = 0; + var allow = false; + var curparent = null; + var lastno = 0; + var indexcount = events.length; + $.each(events,function(i,evnt){ + indexcount++; + if($.inArray(evnt.index,doneEventArray) == -1){ - curparent.append($eventrow); - }) + var daydom = $("#calendar_month td[date="+evnt.start_date+"]"); + var thisparent = daydom.parent().parent().parent(); + var thisrow = thisparent.attr("row"); + var pos = parseInt(daydom.attr("position")); + var thisno = daydom.attr("no"); + if(thisrow != currow){ + if(curparent){ + curparent.append($eventrow); + } + $eventrow = null; + $eventrow = $(""); + allow = true; + }else if(evnt.start_date > curdate){ + allow = true; + + } + var recordcurdate = true; + + if(allow){ + if(pos == 1){ + var colspan = 0; + if(evnt.total_days>7){ + colspan = 7; + var totaldays = parseInt(evnt.total_days) - colspan; + var stardate = parseInt(evnt.start_date) + colspan; + var index = i + 1; + var tempArray = {"index":indexcount,"id":evnt.id,"start_date":stardate,"total_days":totaldays,"title":evnt.title,"color":evnt.color,"show_link":evnt.show_link}; + events.splice(index,0,tempArray); + //recordcurdate = false; + }else{ + colspan = evnt.total_days; + } + $eventrow.html('
'+evnt.title+'
'); + }else{ + if($eventrow.html()==""){ + $eventrow.append(''); + }else{ + if((lastno+1)!=thisno){ + var inposition = parseInt($eventrow.find("td.main_td:last").attr("pos")); + var curcolspan = $eventrow.find("td.main_td:last").attr("colspan"); + var colspan = pos - (inposition+parseInt(curcolspan)); + $eventrow.append(''); + } + } + var colspan = 0; + if((pos + parseInt(evnt.total_days))-1 > 7){ + colspan = 7-(pos-1); + var totaldays = parseInt(evnt.total_days) - colspan; + var stardate = parseInt(evnt.start_date) + colspan; + + var index = i + 1; + var tempArray = {"index":indexcount,"id":evnt.id,"start_date":stardate,"total_days":totaldays,"title":evnt.title,"color":evnt.color,"show_link":evnt.show_link}; + events.splice(index,0,tempArray); + // recordcurdate = false; + + }else{ + colspan = evnt.total_days; + } + // if(evnt.title == "Again") + // console.log(colspan); + $eventrow.append('
'+evnt.title+'
'); + } + lastno = (parseInt(thisno) + parseInt(evnt.total_days)) - 1; + currow = thisrow; + curdate =(evnt.start_date + evnt.total_days) - 1; + allow = false; + curparent = thisparent; + if(recordcurdate) + doneEventArray.push(evnt.index); + + } + } + }) + if(curparent){ + curparent.append($eventrow); + } + if(events.length != doneEventArray.length){ + makerow(events); + } } } - this.loadWeekView = function(){ - $('#view_holder').load("cals/week_view", function() { - $('.current_day_title').text('September 2 - 8, 2012'); + + this.loadWeekView = function(week,year){ + c.view = "week"; + if(!week){ + var dt = new Date(); + week = dt.getWeek(); + year = dt.getFullYear(); + } + + c.cur_week = week; + c.cur_year = year; + + $('#view_holder').load("cals/week_view?week="+week+"&year="+year, function() { + $('.current_day_title').text($("#week_range").text()); + c.getEventsForWeek(week,year); + }) + } + this.getEventsForWeek = function(week,year){ + $.getJSON("cals/getWeekEvents",{"week":week,"year":year},function(events){ + }) } this.loadDayView = function(){ @@ -195,10 +339,16 @@ var calendarAPI = function(){ $("tr[for="+domfor+"]").remove(); }) } - this.displayEvent = function(){ - - c.event_quick_view_div.show() + this.displayEvent = function(dom){ + var url = dom.attr("link"); + c.event_quick_view_div.load(url,function(){ + c.event_quick_view_div.show() + c.event_quick_view_div.find(".event-close-btn").click(function(){ + c.event_quick_view_div.empty().hide(); + }) + }) } + c.initialize(); } diff --git a/vendor/built_in_modules/calendar/app/assets/stylesheets/calendar.css b/vendor/built_in_modules/calendar/app/assets/stylesheets/calendar.css index 421f8334..85b0390f 100644 --- a/vendor/built_in_modules/calendar/app/assets/stylesheets/calendar.css +++ b/vendor/built_in_modules/calendar/app/assets/stylesheets/calendar.css @@ -265,7 +265,7 @@ /* Event Controller */ .event_controller { - width: 300px; + width: 350px; } .event_controller .row-fluid { margin-bottom: 6px; diff --git a/vendor/built_in_modules/calendar/app/controllers/panel/calendar/back_end/cals_controller.rb b/vendor/built_in_modules/calendar/app/controllers/panel/calendar/back_end/cals_controller.rb index 4c42e0d4..2c171895 100644 --- a/vendor/built_in_modules/calendar/app/controllers/panel/calendar/back_end/cals_controller.rb +++ b/vendor/built_in_modules/calendar/app/controllers/panel/calendar/back_end/cals_controller.rb @@ -30,6 +30,10 @@ class Panel::Calendar::BackEnd::CalsController < OrbitBackendController end def week_view + week = params[:week] + year = params[:year] + @dates = week_dates(week,year) + @range = week_range(week,year) render :layout => false end @@ -47,7 +51,6 @@ class Panel::Calendar::BackEnd::CalsController < OrbitBackendController cur_month_days = getMonthDays(year) @post_disabled_days = @pre_disabled_days + cur_month_days[month] @dateset = getDateSet(month,year) - render :layout => false end @@ -55,22 +58,68 @@ class Panel::Calendar::BackEnd::CalsController < OrbitBackendController render :layout => false end - def get_events + def get_month_events month = params[:month] year = params[:year] - events = Event.where(:start_month => month).and(:start_year => year) + month = month.to_i + year = year.to_i + events = Event.where(:start_month.lt => month).and(:start_year => year).and(:end_month.gte => month).asc(:start_date).desc(:total_days) @events = Array.new - events.each do |event| + no_of_days_in_month = getMonthDays(year) + events.each_with_index do |event,i| + no_of_days = event.total_days + + if event.end_month > month + no_of_days = no_of_days_in_month[month] + elsif event.end_month == month + no_of_days = event.end_date + end + + no_of_days = no_of_days.to_i + + color = Cal.find(event.cal_id).color + @events << {"id"=>event.id,"index"=>i,"start_date"=>"1", "total_days" => no_of_days, "title" => event.title,"color"=>color,"show_link"=>panel_calendar_back_end_event_path(event)} + end + events = Event.where(:start_month => month).and(:start_year => year).asc(:start_date).desc(:total_days) + events.each_with_index do |event,i| # @temp = Array.new - no_of_days = Date.new(event.end_year,event.end_month,event.end_date) - Date.new(event.start_year,event.start_month,event.start_date) + no_of_days = event.total_days + if event.end_month > month + no_of_days = no_of_days_in_month[month] - event.start_date + end no_of_days = no_of_days.to_i no_of_days += 1 color = Cal.find(event.cal_id).color - @events << {"start_date"=>event.start_date, "total_days" => no_of_days, "title" => event.title,"color"=>color} + @events << {"id"=>event.id,"index"=>i,"start_date"=>event.start_date, "total_days" => no_of_days, "title" => event.title,"color"=>color,"show_link"=>panel_calendar_back_end_event_path(event)} end + render :json => @events.to_json end + def get_week_events + week = params[:week] + year = params[:year] + events = Event.where(:start_week => week).and(:start_year => year) + render :json => events.to_json + end + + def week_number_test + events = Event.all + + events.each do |event| + dt = Date.new(event.start_year,event.start_month,event.start_date) + sweeknumber = dt.strftime("%U") + dt = Date.new(event.end_year,event.end_month,event.end_date) + eweeknumber = dt.strftime("%U") + event.start_week = sweeknumber + event.end_week = eweeknumber + event.save! + end + + dt = Date.new(2012,10,4) + @week = dt.strftime("%U") + render :text => @week.to_s + end end diff --git a/vendor/built_in_modules/calendar/app/controllers/panel/calendar/back_end/events_controller.rb b/vendor/built_in_modules/calendar/app/controllers/panel/calendar/back_end/events_controller.rb index 0dca026f..519d84f4 100644 --- a/vendor/built_in_modules/calendar/app/controllers/panel/calendar/back_end/events_controller.rb +++ b/vendor/built_in_modules/calendar/app/controllers/panel/calendar/back_end/events_controller.rb @@ -1,5 +1,5 @@ class Panel::Calendar::BackEnd::EventsController < OrbitBackendController - + include Panel::Calendar::BackEnd::CalsHelper def new @calendars = Cal.all @event = Event.new @@ -23,8 +23,9 @@ class Panel::Calendar::BackEnd::EventsController < OrbitBackendController temp = $start.split("/") start_date = temp[0] start_month = temp[1] - star_year = temp[2] - + start_year = temp[2] + @m = start_month + @y = start_year temp = $end.split("/") end_date = temp[0] end_month = temp[1] @@ -35,10 +36,22 @@ class Panel::Calendar::BackEnd::EventsController < OrbitBackendController cal_id = params[:event][:cal_id] + # if start_am_pm == "PM" + # temp_start_time = $starttime + 12 + # end + # if end_am_pm == "PM" + # temp_end_time = $endtime + 12 + # end + + final_start_time = Date.new(start_year.to_i,start_month.to_i,start_date.to_i) + final_end_time = Date.new(end_year.to_i,end_month.to_i,end_date.to_i) + start_week = final_start_time.strftime("%U") + end_week = final_end_time.strftime("%U") + total_days = final_end_time - final_start_time @event = Event.new @event.title = title @event.note = note - @event.start_year = star_year + @event.start_year = start_year @event.end_year = end_year @event.start_month = start_month @event.end_month = end_month @@ -49,10 +62,25 @@ class Panel::Calendar::BackEnd::EventsController < OrbitBackendController @event.end_time = $endtime @event.end_am_pm = end_am_pm @event.cal_id = cal_id + @event.final_start_time = final_start_time + @event.final_end_time = final_end_time + @event.total_days = total_days + @event.start_week = start_week + @event.end_week = end_week @event.save! respond_to do |h| h.js end end -end \ No newline at end of file + def show + @event = Event.find(params[:id]) + @start_month_name = Date::ABBR_MONTHNAMES[@event.start_month] + @end_month_name = Date::ABBR_MONTHNAMES[@event.end_month] + @start_day_name = getDayName(@event.start_date,@event.start_month,@event.start_year) + @end_day_name = getDayName(@event.end_date,@event.end_month,@event.end_year) + render :layout=>false + end +end + + diff --git a/vendor/built_in_modules/calendar/app/helpers/panel/calendar/back_end/cals_helper.rb b/vendor/built_in_modules/calendar/app/helpers/panel/calendar/back_end/cals_helper.rb index 60a14ffa..8b4d61d8 100644 --- a/vendor/built_in_modules/calendar/app/helpers/panel/calendar/back_end/cals_helper.rb +++ b/vendor/built_in_modules/calendar/app/helpers/panel/calendar/back_end/cals_helper.rb @@ -62,4 +62,78 @@ module Panel::Calendar::BackEnd::CalsHelper return monthsdays end -end \ No newline at end of file + def getDayName(date,month,year) + date = date.to_i + month = month.to_i + year = year.to_i + dt = Date.new(year,month,date) + name = Date::ABBR_DAYNAMES[dt.wday] + return name + end + + def week_dates(week_num,year) + year = year.to_i + week_num = week_num.to_i + dates = Array.new + + if week_num == 1 + weekstartday = monthStartDay(1,year) + d = 31 + x = 0 + for i in d - (weekstartday - 2)..d + dates << Date::ABBR_DAYNAMES[x] + " 12/" + i.to_s + x = x + 1 + end + for i in 1..8 - weekstartday + dates << Date::ABBR_DAYNAMES[x] + " 1/" + i.to_s + x = x + 1 + end + else + week_start = Date.commercial(year, week_num-1, 7) + month = week_start.strftime("%m") + month_days = getMonthDays(year) + date = week_start.strftime("%d") + x = date.to_i + for i in 0..6 + d = x + i + if d > month_days[month.to_i] + d = d - month_days[month.to_i] + end + dates << Date::ABBR_DAYNAMES[i] + " " + month + "/" + d.to_s + end + end + dates + end + + def week_range(week_num,year) + year = year.to_i + week_num = week_num.to_i + if week_num == 1 + weekstartday = monthStartDay(1,year) + start_date = 31 - (weekstartday - 2) + start_year = year - 1 + end_date = 8 - weekstartday + range = "Dec " + start_date.to_s + ", " + start_year.to_s + " - " + "Jan " + end_date.to_s + ", " + year.to_s + else + week_start = Date.commercial(year, week_num-1, 7) + week_end = Date.commercial(year, week_num, 7) + week_end = week_end - 1 + start_date = week_start.strftime("%d") + end_date = week_end.strftime("%d") + start_month = week_start.strftime("%m") + end_month = week_end.strftime("%m") + + if end_month == start_month + range = Date::ABBR_MONTHNAMES[start_month.to_i] + " " + start_date.to_s + " - " + end_date.to_s + ", " + week_start.strftime("%Y").to_s + else + range = Date::ABBR_MONTHNAMES[start_month.to_i] + " " + start_date.to_s + " - " + Date::ABBR_MONTHNAMES[end_month.to_i] + " " + end_date.to_s + ", " + week_start.strftime("%Y").to_s + end + end + range + end +end + + + + + diff --git a/vendor/built_in_modules/calendar/app/models/event.rb b/vendor/built_in_modules/calendar/app/models/event.rb index 55f37e52..cff01fcc 100644 --- a/vendor/built_in_modules/calendar/app/models/event.rb +++ b/vendor/built_in_modules/calendar/app/models/event.rb @@ -14,6 +14,11 @@ class Event field :start_am_pm field :end_time, type: Float field :end_am_pm + field :start_week, type: Integer + field :end_week, type: Integer + field :final_start_time, type: Date + field :final_end_time, type: Date + field :total_days, type: Integer belongs_to :cal diff --git a/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/cals/index.html.erb b/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/cals/index.html.erb index 98a237af..96701aaf 100644 --- a/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/cals/index.html.erb +++ b/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/cals/index.html.erb @@ -62,7 +62,7 @@
- + diff --git a/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/cals/week_view.html.erb b/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/cals/week_view.html.erb index a2d6dfbe..dc27b736 100644 --- a/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/cals/week_view.html.erb +++ b/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/cals/week_view.html.erb @@ -1,35 +1,32 @@ +
- - - - - - - + <% @dates.each do |day| %> + + <% end %> diff --git a/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/events/create.js.erb b/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/events/create.js.erb index 42efb25c..98703270 100644 --- a/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/events/create.js.erb +++ b/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/events/create.js.erb @@ -1,2 +1,4 @@ $("#event_create").empty().hide(); -$("#create_event_btn").removeClass("active"); \ No newline at end of file +$("#create_event_btn").removeClass("active"); +$("#calendar_month tr.event_row").remove(); +calendar.getEventsForMonth(<%= @m %>,<%= @y %>); \ No newline at end of file diff --git a/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/events/show.html.erb b/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/events/show.html.erb index 0791c7bd..c65a2fa6 100644 --- a/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/events/show.html.erb +++ b/vendor/built_in_modules/calendar/app/views/panel/calendar/back_end/events/show.html.erb @@ -1,10 +1,15 @@ - \ No newline at end of file diff --git a/vendor/built_in_modules/personal_book/app/views/panel/personal_book/back_end/writing_books/_list_paper_type.html.erb b/vendor/built_in_modules/personal_book/app/views/panel/personal_book/back_end/writing_books/_list_paper_type.html.erb index 744a6bcd..cf46e61a 100644 --- a/vendor/built_in_modules/personal_book/app/views/panel/personal_book/back_end/writing_books/_list_paper_type.html.erb +++ b/vendor/built_in_modules/personal_book/app/views/panel/personal_book/back_end/writing_books/_list_paper_type.html.erb @@ -2,10 +2,10 @@ - \ No newline at end of file diff --git a/vendor/built_in_modules/personal_book/app/views/panel/personal_book/back_end/writing_books/_paper_type_qe.html.erb b/vendor/built_in_modules/personal_book/app/views/panel/personal_book/back_end/writing_books/_paper_type_qe.html.erb index b73dc906..8b1d7498 100644 --- a/vendor/built_in_modules/personal_book/app/views/panel/personal_book/back_end/writing_books/_paper_type_qe.html.erb +++ b/vendor/built_in_modules/personal_book/app/views/panel/personal_book/back_end/writing_books/_paper_type_qe.html.erb @@ -4,7 +4,7 @@
Sun 9/11Mon 9/12Tue 9/13Wed 9/14Thu 9/15Fri 9/16Sat 9/17<%= day %>
-
+
-
+
<%= list_author_type.title %> + - 編輯 + <%= t('edit')%> <%= link_to show_toggle_archive_btn(list_author_type), - polymorphic_path([:panel, :personal_book, :back_end, list_author_type]), :confirm => t('announcement.sure?'), :method => :delete, :remote => true,:class=>"archive_toggle" %> + polymorphic_path([:panel, :personal_book, :back_end, list_author_type]), :confirm => t('announcement.sure?'), :method => :delete, :remote => true,:class=>"archive_toggle action" %>
<%= list_paper_type.title %> + - 編輯 + <%= t('edit')%> <%= link_to show_toggle_archive_btn(list_paper_type), - polymorphic_path([:panel, :personal_book, :back_end, list_paper_type]), :confirm => t('announcement.sure?'), :method => :delete, :remote => true,:class=>"archive_toggle" %> + polymorphic_path([:panel, :personal_book, :back_end, list_paper_type]), :confirm => t('announcement.sure?'), :method => :delete, :remote => true,:class=>"archive_toggle action" %>
+ + + + + + + + + + <% @writing_books.each do |writing_book| %> + + + + + + + <% end %> + + + +
<%= t('writing_book.year') %><%= t('writing_book.title') %>
<%= writing_book.year %> + <%= link_to writing_book.create_link, panel_personal_book_front_end_writing_book_path(writing_book) %> +
+ +
+ <%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('announcement.add_new'), new_panel_personal_book_plugin_writing_book_path, :class => 'btn btn-primary pull-right' %> +
+ <%= paginate @writing_books, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %> +
+
diff --git a/vendor/built_in_modules/personal_book/init.rb b/vendor/built_in_modules/personal_book/init.rb new file mode 100644 index 00000000..ed14ab87 --- /dev/null +++ b/vendor/built_in_modules/personal_book/init.rb @@ -0,0 +1,25 @@ +module PersonalBook + OrbitApp.registration "Book",:type=> 'ModuleApp' do + + base_url File.expand_path File.dirname(__FILE__) + personal_plugin :enable => true,:path=>"panel/personal_book/plugin/profile" + + + end + +end + + +# OrbitApp.backend_side_bar 'News' do + +# block :available_for => [:admin,:guest,:manager,:sub_manager], +# :active_for_controllers=> ['news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals'], +# :active_for_ob_auths_object => ['NewsBulletinCategory'], +# :head_link => panel_news_back_end_news_bulletins_path , +# :head_label=> I18n.t('admin.news') + +# context_link :link=>new_panel_news_back_end_news_bulletin_path , +# :priority=>1,:label=>I18n.t('announcement.add_new'), +# :active_for_action=>{:news_bulletins=>:new} + +# end \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/.gitignore b/vendor/built_in_modules/personal_diploma/.gitignore new file mode 100644 index 00000000..1463de6d --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/.gitignore @@ -0,0 +1,6 @@ +.bundle/ +log/*.log +pkg/ +test/dummy/db/*.sqlite3 +test/dummy/log/*.log +test/dummy/tmp/ \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/Gemfile b/vendor/built_in_modules/personal_diploma/Gemfile new file mode 100644 index 00000000..2a09354a --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/Gemfile @@ -0,0 +1,17 @@ +source "http://rubygems.org" + +# Declare your gem's dependencies in personal_diploma.gemspec. +# Bundler will treat runtime dependencies like base dependencies, and +# development dependencies will be added by default to the :development group. +gemspec + +# jquery-rails is used by the dummy application +gem "jquery-rails" + +# Declare any dependencies that are still in development here instead of in +# your gemspec. These might include edge Rails or gems from your path or +# Git. Remember to move these dependencies to your gemspec before releasing +# your gem to rubygems.org. + +# To use debugger +# gem 'ruby-debug19', :require => 'ruby-debug' diff --git a/vendor/built_in_modules/personal_diploma/MIT-LICENSE b/vendor/built_in_modules/personal_diploma/MIT-LICENSE new file mode 100644 index 00000000..406f17b7 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/MIT-LICENSE @@ -0,0 +1,20 @@ +Copyright 2012 YOURNAME + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/built_in_modules/personal_diploma/README.rdoc b/vendor/built_in_modules/personal_diploma/README.rdoc new file mode 100644 index 00000000..6132a8ba --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/README.rdoc @@ -0,0 +1,3 @@ += PersonalDiploma + +This project rocks and uses MIT-LICENSE. \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/Rakefile b/vendor/built_in_modules/personal_diploma/Rakefile new file mode 100644 index 00000000..92af1658 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/Rakefile @@ -0,0 +1,39 @@ +#!/usr/bin/env rake +begin + require 'bundler/setup' +rescue LoadError + puts 'You must `gem install bundler` and `bundle install` to run rake tasks' +end +begin + require 'rdoc/task' +rescue LoadError + require 'rdoc/rdoc' + require 'rake/rdoctask' + RDoc::Task = Rake::RDocTask +end + +RDoc::Task.new(:rdoc) do |rdoc| + rdoc.rdoc_dir = 'rdoc' + rdoc.title = 'PersonalDiploma' + rdoc.options << '--line-numbers' + rdoc.rdoc_files.include('README.rdoc') + rdoc.rdoc_files.include('lib/**/*.rb') +end + +APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__) +load 'rails/tasks/engine.rake' + + +Bundler::GemHelper.install_tasks + +require 'rake/testtask' + +Rake::TestTask.new(:test) do |t| + t.libs << 'lib' + t.libs << 'test' + t.pattern = 'test/**/*_test.rb' + t.verbose = false +end + + +task :default => :test diff --git a/vendor/built_in_modules/personal_diploma/app/assets/images/personal_diploma/.gitkeep b/vendor/built_in_modules/personal_diploma/app/assets/images/personal_diploma/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/assets/javascripts/personal_diploma/.gitkeep b/vendor/built_in_modules/personal_diploma/app/assets/javascripts/personal_diploma/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/assets/stylesheets/personal_diploma/.gitkeep b/vendor/built_in_modules/personal_diploma/app/assets/stylesheets/personal_diploma/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/controllers/.gitkeep b/vendor/built_in_modules/personal_diploma/app/controllers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/controllers/application_controller.rb b/vendor/built_in_modules/personal_diploma/app/controllers/application_controller.rb new file mode 100644 index 00000000..307a4acd --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/controllers/application_controller.rb @@ -0,0 +1,23 @@ +class ApplicationController < ActionController::Base + protect_from_forgery + before_filter :set_locale + + # Set I18n.locale + def set_locale + # update session if passed + session[:locale] = params[:locale] if params[:locale] + + # set locale based on session or default + begin + # check if locale is valid for non site pages + if !VALID_LOCALES.include?(session[:locale]) + I18n.locale = I18n.default_locale + else + I18n.locale = session[:locale] + end + rescue + I18n.locale = I18n.default_locale + end + end + +end diff --git a/vendor/built_in_modules/personal_diploma/app/controllers/panel/personal_diploma/back_end/diplomas_controller.rb b/vendor/built_in_modules/personal_diploma/app/controllers/panel/personal_diploma/back_end/diplomas_controller.rb new file mode 100644 index 00000000..6105e594 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/controllers/panel/personal_diploma/back_end/diplomas_controller.rb @@ -0,0 +1,174 @@ +class Panel::PersonalDiploma::BackEnd::DiplomasController < OrbitBackendController + include AdminHelper + include OrbitControllerLib::DivisionForDisable + + before_filter :authenticate_user! + before_filter :force_order_for_visitor,:only=>[:index,:show] + before_filter :force_order_for_user,:except => [:index,:show] + # before_filter :for_app_manager,:except => [:index,:show] + + def index + + @filter = params[:filter] + new_filter = params[:new_filter] + + if @filter && params[:clear] + @filter.delete(params[:type]) + elsif @filter && new_filter + if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s) + @filter[new_filter[:type]].delete(new_filter[:id].to_s) + elsif @filter.has_key?(new_filter[:type]) + @filter[new_filter[:type]] << new_filter[:id].to_s + else + @filter.merge!({new_filter[:type] => [new_filter[:id].to_s]}) + end + elsif new_filter + @filter = {new_filter[:type] => [new_filter[:id].to_s]} + end + + + @diplomas = (params[:sort] || @filter) ? get_sorted_and_filtered("diploma") : get_viewable("diploma") + + get_tags + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @diplomas } + format.js + end + end + + def diploma_setting + + get_tags + + end + + # GET /diplomas/1 + # GET /diplomas/1.xml + def show + @diploma = Diploma.find(params[:id]) + respond_to do |format| + format.html # show.html.erb + format.xml { render :xml => @diploma } + end + end + + # GET /diplomas/new + # GET /diplomas/new.xml + def new + + @diploma = Diploma.new + + get_tags + + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @diploma } + end + end + + # GET /diplomas/1/edit + def edit + @diploma = Diploma.find(params[:id]) + + get_tags + end + + # POST /diplomas + # POST /diplomas.xml + def create + + get_tags + + @diploma = Diploma.new(params[:diploma]) + + @diploma.create_user_id = current_user.id + @diploma.update_user_id = current_user.id + + respond_to do |format| + if @diploma.save + format.html { redirect_to(panel_personal_diploma_back_end_diplomas_url) } + format.xml { render :xml => @diploma, :status => :created, :location => @diploma } + else + format.html { render :action => "new" } + format.xml { render :xml => @diploma.errors, :status => :unprocessable_entity } + end + end + end + + # PUT /diplomas/1 + # PUT /diplomas/1.xml + def update + + @diploma = Diploma.find(params[:id]) + + @diploma.update_user_id = current_user.id + + params[:diploma][:tag_ids] ||=[] + + respond_to do |format| + if @diploma.update_attributes(params[:diploma]) + format.html { redirect_to(panel_personal_diploma_back_end_diplomas_url) } + # format.js { render 'toggle_enable' } + format.xml { head :ok } + else + format.html { render :action => "edit" } + format.xml { render :xml => @diploma.errors, :status => :unprocessable_entity } + end + end + end + + # DELETE /diplomas/1 + # DELETE /diplomas/1.xml + def destroy + @diploma = Diploma.find(params[:id]) + @diploma.destroy + + respond_to do |format| + format.html { redirect_to(panel_personal_diploma_back_end_diplomas_url) } + # format.xml { head :ok } + format.js + end + end + + def delete + if params[:ids] + diplomas = Diploma.any_in(:_id => params[:ids]).delete_all + end + redirect_to panel_personal_diploma_back_end_diplomas_url(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]) + end + + protected + + + # def get_index_categories(id = nil) + # @bulletin_categorys = [] + # if(is_manager? || is_admin?) + # @bulletin_categorys = (id ? BulletinCategory.admin_manager_all.find(id).to_a : BulletinCategory.admin_manager_all) + # elsif is_sub_manager? + # @bulletin_categorys = BulletinCategory.all + # end + # @bulletin_categorys + # end + + + # def get_categorys(id = nil) + # @diploma_categorys = [] + # if(is_manager? || is_admin?) + # @diploma_categorys = (id ? DiplomaCategory.admin_manager_all.find(id).to_a : DiplomaCategory.admin_manager_all)) + # elsif is_sub_manager? + # @diploma_categorys = DiplomaCategory.all.authed_for_user(current_user,'edit') + # end + # if @diploma_categorys.empty? && params[:action] != "index" + # flash[:alert] = t("announcement.error.no_avilb_cate_for_posting") + # redirect_to :action => :index + # end + # end + + def get_tags + module_app = ModuleApp.first(:conditions => {:key => 'personal_diploma'}) + @tags = Tag.all(:conditions => {:module_app_id => module_app.id}) + end + +end diff --git a/vendor/built_in_modules/personal_diploma/app/controllers/panel/personal_diploma/back_end/tags_controller.rb b/vendor/built_in_modules/personal_diploma/app/controllers/panel/personal_diploma/back_end/tags_controller.rb new file mode 100644 index 00000000..1a092339 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/controllers/panel/personal_diploma/back_end/tags_controller.rb @@ -0,0 +1,8 @@ +class Panel::PersonalDiploma::BackEnd::TagsController < Admin::TagsController + + def initialize + super + @app_title = 'personal_diploma' + end + +end diff --git a/vendor/built_in_modules/personal_diploma/app/controllers/panel/personal_diploma/plugin/diplomas_controller.rb b/vendor/built_in_modules/personal_diploma/app/controllers/panel/personal_diploma/plugin/diplomas_controller.rb new file mode 100644 index 00000000..47b85603 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/controllers/panel/personal_diploma/plugin/diplomas_controller.rb @@ -0,0 +1,172 @@ +class Panel::PersonalDiploma::Plugin::DiplomasController < OrbitBackendController + include AdminHelper + include OrbitControllerLib::DivisionForDisable + + before_filter :authenticate_user! + before_filter :force_order_for_visitor,:only=>[:index,:show] + before_filter :force_order_for_user,:except => [:index,:show] + # before_filter :for_app_manager,:except => [:index,:show] + + def index + + @filter = params[:filter] + new_filter = params[:new_filter] + + if @filter && params[:clear] + @filter.delete(params[:type]) + elsif @filter && new_filter + if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s) + @filter[new_filter[:type]].delete(new_filter[:id].to_s) + elsif @filter.has_key?(new_filter[:type]) + @filter[new_filter[:type]] << new_filter[:id].to_s + else + @filter.merge!({new_filter[:type] => [new_filter[:id].to_s]}) + end + elsif new_filter + @filter = {new_filter[:type] => [new_filter[:id].to_s]} + end + + @diplomas = (params[:sort] || @filter) ? get_sorted_and_filtered("diploma",:create_user_id => current_user.id) : get_viewable("diploma", :create_user_id => current_user.id) + get_tags + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @diplomas } + format.js + end + end + + def diploma_setting + + get_tags + + end + + # GET /diplomas/1 + # GET /diplomas/1.xml + def show + @diploma = Diploma.find(params[:id]) + respond_to do |format| + format.html # show.html.erb + format.xml { render :xml => @diploma } + end + end + + # GET /diplomas/new + # GET /diplomas/new.xml + def new + + @diploma = Diploma.new + + get_tags + + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @diploma } + end + end + + # GET /diplomas/1/edit + def edit + @diploma = Diploma.find(params[:id]) + + get_tags + end + + # POST /diplomas + # POST /diplomas.xml + def create + + get_tags + + @diploma = Diploma.new(params[:diploma]) + + @diploma.create_user_id = current_user.id + @diploma.update_user_id = current_user.id + + respond_to do |format| + if @diploma.save + format.html { redirect_to(panel_personal_diploma_plugin_diplomas_url) } + format.xml { render :xml => @diploma, :status => :created, :location => @diploma } + else + format.html { render :action => "new" } + format.xml { render :xml => @diploma.errors, :status => :unprocessable_entity } + end + end + end + + # PUT /diplomas/1 + # PUT /diplomas/1.xml + def update + + @diploma = Diploma.find(params[:id]) + + @diploma.update_user_id = current_user.id + + params[:diploma][:tag_ids] ||=[] + + respond_to do |format| + if @diploma.update_attributes(params[:diploma]) + format.html { redirect_to(panel_personal_diploma_plugin_diplomas_url) } + # format.js { render 'toggle_enable' } + format.xml { head :ok } + else + format.html { render :action => "edit" } + format.xml { render :xml => @diploma.errors, :status => :unprocessable_entity } + end + end + end + + # DELETE /diplomas/1 + # DELETE /diplomas/1.xml + def destroy + @diploma = Diploma.find(params[:id]) + @diploma.destroy + + respond_to do |format| + format.html { redirect_to(panel_personal_diploma_plugin_diplomas_url) } + # format.xml { head :ok } + format.js + end + end + + def delete + if params[:ids] + diplomas = Diploma.any_in(:_id => params[:ids]).delete_all + end + redirect_to panel_personal_diploma_plugin_diplomas_url(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]) + end + + protected + + + # def get_index_categories(id = nil) + # @bulletin_categorys = [] + # if(is_manager? || is_admin?) + # @bulletin_categorys = (id ? BulletinCategory.admin_manager_all.find(id).to_a : BulletinCategory.admin_manager_all) + # elsif is_sub_manager? + # @bulletin_categorys = BulletinCategory.all + # end + # @bulletin_categorys + # end + + + # def get_categorys(id = nil) + # @diploma_categorys = [] + # if(is_manager? || is_admin?) + # @diploma_categorys = (id ? DiplomaCategory.admin_manager_all.find(id).to_a : DiplomaCategory.admin_manager_all)) + # elsif is_sub_manager? + # @diploma_categorys = DiplomaCategory.all.authed_for_user(current_user,'edit') + # end + # if @diploma_categorys.empty? && params[:action] != "index" + # flash[:alert] = t("announcement.error.no_avilb_cate_for_posting") + # redirect_to :action => :index + # end + # end + + def get_tags + module_app = ModuleApp.first(:conditions => {:key => 'personal_diploma'}) + @tags = Tag.all(:conditions => {:module_app_id => module_app.id}) + end + +end diff --git a/vendor/built_in_modules/personal_diploma/app/helpers/.gitkeep b/vendor/built_in_modules/personal_diploma/app/helpers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/mailers/.gitkeep b/vendor/built_in_modules/personal_diploma/app/mailers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/models/.gitkeep b/vendor/built_in_modules/personal_diploma/app/models/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/models/diploma.rb b/vendor/built_in_modules/personal_diploma/app/models/diploma.rb new file mode 100644 index 00000000..7897e1da --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/models/diploma.rb @@ -0,0 +1,80 @@ +# encoding: utf-8 + +class Diploma + include Mongoid::Document + include Mongoid::Timestamps + include Mongoid::MultiParameterAttributes + + # scope :available_for_lang, ->(locale){ where("available_for_#{locale}".to_sym => true) } + + LANGUAGE_TYPES = [ "English", "Chinese" ] + + + field :school_name, localize: true + field :country, localize: true + field :department, localize: true + field :degree, localize: true + + has_and_belongs_to_many :tags, :class_name => "PersonalDiplomaTag" + + field :year + field :language + field :keywords + field :start_date , :type => Date + field :end_date , :type => Date + field :url + field :note + field :create_user_id + field :update_user_id + + # field :is_top, :type => Boolean, :default => false + # field :is_hot, :type => Boolean, :default => false + # field :is_hidden, :type => Boolean, :default => false + + + # before_save :update_avliable_language, :clean_checkboxs + + validates :school_name, :at_least_one => true + + before_validation :add_http + + validates :url, :format => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix, :unless => Proc.new{self.url.blank?} + + + def self.widget_datas + + where( :is_hidden => false ).desc(:is_top, :created_at) + + end + + def is_top? + self.is_top + end + + def sorted_tags + tags.order_by(I18n.locale, :asc) + end + + def update_avliable_language + VALID_LOCALES.each do |locale| + if (title_translations[locale].blank? rescue true) + self["available_for_#{locale}".to_sym] = false + else + self["available_for_#{locale}".to_sym] = true + end + end + end + + protected + + def add_http + unless self.url.blank? || self.url[/^http:\/\//] || self.url[/^https:\/\//] + self.url = 'http://' + self.url + end + end + + def clean_checkboxs + self.tag_ids.delete('') + end + +end \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/models/personal_diploma_tag.rb b/vendor/built_in_modules/personal_diploma/app/models/personal_diploma_tag.rb new file mode 100644 index 00000000..35f6c17f --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/models/personal_diploma_tag.rb @@ -0,0 +1,9 @@ +class PersonalDiplomaTag < Tag + + has_and_belongs_to_many :diplomas + + def get_visible_links(sort = :title) + self.diplomas.where(:is_hidden => false).desc(:is_top, sort) + end + +end \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/.gitkeep b/vendor/built_in_modules/personal_diploma/app/views/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_diploma.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_diploma.html.erb new file mode 100644 index 00000000..0b5d2c6f --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_diploma.html.erb @@ -0,0 +1,21 @@ + + + <% if (diploma.create_user_id == current_user.id) || is_manager? %> + <%= check_box_tag 'to_delete[]', diploma.id, false, :class => "checkbox_in_list" %> + <% end -%> + + <%= diploma.start_date.strftime("%Y.%m") %> ~ <%= diploma.end_date.strftime("%Y.%m") %> + + <%= link_to diploma.school_name, panel_personal_diploma_front_end_diploma_path(diploma) %> +
+ +
+ + <%= User.from_id(diploma.create_user_id).name rescue ''%> + + diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_filter.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_filter.html.erb new file mode 100644 index 00000000..63882b8f --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_filter.html.erb @@ -0,0 +1,11 @@ + + +<% content_for :page_specific_javascript do %> + <%= javascript_include_tag "sort_header" %> +<% end %> \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_form.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_form.html.erb new file mode 100644 index 00000000..58c10c28 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_form.html.erb @@ -0,0 +1,126 @@ +<% # encoding: utf-8 %> + + <%= f.error_messages %> + + + +
+ +
+
+ +
+

Tags

+
+ <% @tags.each do |tag| %> + <%= content_tag :label,:class => "checkbox inline" do -%> + <%= check_box_tag 'diploma[tag_ids][]', tag.id, @diploma.tag_ids.include?(tag.id)%> + <%= tag[I18n.locale] %> + <%= hidden_field_tag 'diploma[tag_ids][]', '' %> + <% end %> + <% end %> +
+
+ +
+ + + + + +
+
+ +
+ <%= f.label :start_date ,t("personal_diploma.start_date")%> + <%= f.date_select :start_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1890, :order => [:year, :month], :discard_day => true }, {:class => 'span1'} %> +
+ +
+ <%= f.label :end_date ,t("personal_diploma.end_date")%> + <%= f.date_select :end_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1890, :order => [:year, :month], :discard_day => true }, {:class => 'span1'} %> +
+ + + +
+ + <% @site_valid_locales.each_with_index do |locale, i| %> + +
"> + +
+ <%= f.label :school_name ,t("personal_diploma.school_name")%> + <%= f.fields_for :school_name_translations do |f| %> + <%= I18nVariable.from_locale(locale) %> + <%= f.text_field locale, :class=>'post-title', :value => (@diploma.school_name_translations[locale] rescue nil) %> + <% end %> +
+ +
+ <%= f.label :country ,t("personal_diploma.country")%> + <%= f.fields_for :country_translations do |f| %> + <%= I18nVariable.from_locale(locale) %> + <%= f.text_field locale, :class=>'post-title', :value => (@diploma.country_translations[locale] rescue nil) %> + <% end %> +
+ +
+ <%= f.label :department ,t("personal_diploma.department")%> + <%= f.fields_for :department_translations do |f| %> + <%= I18nVariable.from_locale(locale) %> + <%= f.text_field locale, :class=>'post-title', :value => (@diploma.department_translations[locale] rescue nil) %> + <% end %> +
+ +
+ <%= f.label :degree ,t("personal_diploma.degree")%> + <%= f.fields_for :degree_translations do |f| %> + <%= I18nVariable.from_locale(locale) %> + <%= f.text_field locale, :class=>'post-title', :value => (@diploma.degree_translations[locale] rescue nil) %> + <% end %> +
+ +
+ + <% end %> + +
+ +
+ <%= f.label :url, t("personal_diploma.url") %> + <%= f.text_field :url %> +
+ +
+ <%= f.label :keywords, t("personal_diploma.keywords") %> + <%= f.text_field :keywords %> +
+ +
+ <%= f.label :language, t("personal_diploma.language") %> + <%= f.radio_button :language, "Chinese" %> <%= t("personal_diploma.Chinese") %> + <%= f.radio_button :language, "English" %> <%= t("personal_diploma.English") %> +
+ +
+ <%= f.label :note, t("personal_diploma.note") %> + <%= f.text_area :note, :size => "60x3" %> +
+ +
+ + +
+ + + + +
+ <%= f.submit t('submit'), :class=>'btn btn-primary' %> + <%= link_to t('cancel'), get_go_back, :class=>"btn" %> +
\ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_sort_headers.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_sort_headers.html.erb new file mode 100644 index 00000000..06abaaa7 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/_sort_headers.html.erb @@ -0,0 +1,4 @@ +<%= render_sort_bar(true, delete_panel_personal_diploma_back_end_diplomas_path(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]), + ['date', 'date', 'span1', 'diploma.date'], + ['school_name', 'school_name', 'span3', 'diploma.school_name'], + ['create_modified', 'create_user_id','span1-3', 'diploma.create_modified']).html_safe %> \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/create_diploma_setting.js.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/create_diploma_setting.js.erb new file mode 100644 index 00000000..9152ee46 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/create_diploma_setting.js.erb @@ -0,0 +1,5 @@ + +<% if !@diploma_category.blank? %> +$("#myModal1").modal('hide'); +$('<%= j render :partial => 'list_patent_type', :collection => [@diploma_category] %>').appendTo('#diploma_categorys').hide().fadeIn(); +<% end %> diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/destroy.js.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/destroy.js.erb new file mode 100644 index 00000000..0b81fea3 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/destroy.js.erb @@ -0,0 +1 @@ +$("#<%= dom_id @diploma %>").remove(); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/diploma_setting.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/diploma_setting.html.erb new file mode 100644 index 00000000..0125d3f2 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/diploma_setting.html.erb @@ -0,0 +1,81 @@ +<% # encoding: utf-8 %> + + +
+ +
+
+

+ + 領域 +

+ +
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + +
Corresponding Author編輯 刪除
First Author, Co- Authors編輯 刪除
+
+
+
+
+
+
+
+ 匯出  + 匯入  + 新增  + 設定  +
+ + + + + + +<% content_for :page_specific_css do %> + <%= stylesheet_link_tag "item" %> +<% end %> \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/edit.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/edit.html.erb new file mode 100644 index 00000000..f844fcae --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/edit.html.erb @@ -0,0 +1,5 @@ +

<%= t('personal_diploma.editing_personal_diploma') %>

+ +<%= form_for @diploma, :url => panel_personal_diploma_back_end_diploma_path(@diploma), :html => {:class => 'clear'} do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/index.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/index.html.erb new file mode 100644 index 00000000..63940e91 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/index.html.erb @@ -0,0 +1,22 @@ +<%= render 'filter' %> + + + + + + + + + + + + <%= render :partial => 'diploma', :collection => @diplomas %> + +
+ +
+ <%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('announcement.add_new'), new_panel_personal_diploma_back_end_diploma_path, :class => 'btn btn-primary pull-right' %> +
+ <%= paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %> +
+
diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/index.js.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/index.js.erb new file mode 100644 index 00000000..b6c9aa57 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/index.js.erb @@ -0,0 +1,3 @@ +$("#sort_headers").html("<%= j render 'sort_headers' %>"); +$("#tbody_diplomas").html("<%= j render :partial => 'diploma', :collection => @diplomas %>"); +$("#diploma_pagination").html("<%= j paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>"); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/new.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/new.html.erb new file mode 100644 index 00000000..7da80dda --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/new.html.erb @@ -0,0 +1,10 @@ + +<%= flash_messages %> +
+

<%= t('diploma.new_personal_diploma') %>

+<%= form_for @diploma, :url => panel_personal_diploma_back_end_diplomas_path, :html => {:class => 'clear'} do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> +
+<%#= link_back %> + diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/show.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/show.html.erb new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/toggle_enable.js.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/toggle_enable.js.erb new file mode 100644 index 00000000..b00cfa07 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/toggle_enable.js.erb @@ -0,0 +1,3 @@ +$("#enable_<%= @bulletin.id %>").toggle(); +$("#disable_<%= @bulletin.id %>").toggle(); +$("#bulletin_<%= @bulletin.id %>").toggleClass('disable'); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/update_diploma_setting.js.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/update_diploma_setting.js.erb new file mode 100644 index 00000000..f2a6035d --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/back_end/diplomas/update_diploma_setting.js.erb @@ -0,0 +1,6 @@ + +<% if !@diploma_category.blank? %> +$("#myModal1").modal('hide'); +$("#<%= dom_id @diploma_category %>").replaceWith("<%= j render :partial => 'list_patent_type', :collection => [@diploma_category] %>"); +<% end %> + diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/_profile.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/_profile.html.erb new file mode 100644 index 00000000..16c9e339 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/_profile.html.erb @@ -0,0 +1,55 @@ +<% + @filter = params[:filter] + new_filter = params[:new_filter] + + if @filter && params[:clear] + @filter.delete(params[:type]) + elsif @filter && new_filter + if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s) + @filter[new_filter[:type]].delete(new_filter[:id].to_s) + elsif @filter.has_key?(new_filter[:type]) + @filter[new_filter[:type]] << new_filter[:id].to_s + else + @filter.merge!({new_filter[:type] => [new_filter[:id].to_s]}) + end + elsif new_filter + @filter = {new_filter[:type] => [new_filter[:id].to_s]} + end + + + @diplomas = Diploma.where(:create_user_id => @user.id).page(params[:page]).per(10) + + +%> + + + + + + + + + + + + <% @diplomas.each do |diploma| %> + + + + + + + <% end %> + + + +
<%= t('diploma.date') %><%= t('diploma.school_name') %>
<%= diploma.start_date.strftime("%Y.%m") %> ~ <%= diploma.end_date.strftime("%Y.%m") %> + <%= link_to diploma.school_name, panel_personal_diploma_front_end_diploma_path(diploma) %> +
+ +
+ <%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('announcement.add_new'), new_panel_personal_diploma_plugin_diploma_path, :class => 'btn btn-primary pull-right' %> +
+ <%= paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %> +
+
diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_diploma.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_diploma.html.erb new file mode 100644 index 00000000..431274e8 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_diploma.html.erb @@ -0,0 +1,20 @@ + + + <% if (diploma.create_user_id == current_user.id) || is_manager? %> + <%= check_box_tag 'to_delete[]', diploma.id, false, :class => "checkbox_in_list" %> + <% end -%> + + <%= diploma.start_date.strftime("%Y.%m") %> ~ <%= diploma.end_date.strftime("%Y.%m") %> + + <%= link_to diploma.school_name, panel_personal_diploma_front_end_diploma_path(diploma) %> +
+ +
+ + + diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_filter.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_filter.html.erb new file mode 100644 index 00000000..63882b8f --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_filter.html.erb @@ -0,0 +1,11 @@ + + +<% content_for :page_specific_javascript do %> + <%= javascript_include_tag "sort_header" %> +<% end %> \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_form.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_form.html.erb new file mode 100644 index 00000000..58c10c28 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_form.html.erb @@ -0,0 +1,126 @@ +<% # encoding: utf-8 %> + + <%= f.error_messages %> + + + +
+ +
+
+ +
+

Tags

+
+ <% @tags.each do |tag| %> + <%= content_tag :label,:class => "checkbox inline" do -%> + <%= check_box_tag 'diploma[tag_ids][]', tag.id, @diploma.tag_ids.include?(tag.id)%> + <%= tag[I18n.locale] %> + <%= hidden_field_tag 'diploma[tag_ids][]', '' %> + <% end %> + <% end %> +
+
+ +
+ + + + + +
+
+ +
+ <%= f.label :start_date ,t("personal_diploma.start_date")%> + <%= f.date_select :start_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1890, :order => [:year, :month], :discard_day => true }, {:class => 'span1'} %> +
+ +
+ <%= f.label :end_date ,t("personal_diploma.end_date")%> + <%= f.date_select :end_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1890, :order => [:year, :month], :discard_day => true }, {:class => 'span1'} %> +
+ + + +
+ + <% @site_valid_locales.each_with_index do |locale, i| %> + +
"> + +
+ <%= f.label :school_name ,t("personal_diploma.school_name")%> + <%= f.fields_for :school_name_translations do |f| %> + <%= I18nVariable.from_locale(locale) %> + <%= f.text_field locale, :class=>'post-title', :value => (@diploma.school_name_translations[locale] rescue nil) %> + <% end %> +
+ +
+ <%= f.label :country ,t("personal_diploma.country")%> + <%= f.fields_for :country_translations do |f| %> + <%= I18nVariable.from_locale(locale) %> + <%= f.text_field locale, :class=>'post-title', :value => (@diploma.country_translations[locale] rescue nil) %> + <% end %> +
+ +
+ <%= f.label :department ,t("personal_diploma.department")%> + <%= f.fields_for :department_translations do |f| %> + <%= I18nVariable.from_locale(locale) %> + <%= f.text_field locale, :class=>'post-title', :value => (@diploma.department_translations[locale] rescue nil) %> + <% end %> +
+ +
+ <%= f.label :degree ,t("personal_diploma.degree")%> + <%= f.fields_for :degree_translations do |f| %> + <%= I18nVariable.from_locale(locale) %> + <%= f.text_field locale, :class=>'post-title', :value => (@diploma.degree_translations[locale] rescue nil) %> + <% end %> +
+ +
+ + <% end %> + +
+ +
+ <%= f.label :url, t("personal_diploma.url") %> + <%= f.text_field :url %> +
+ +
+ <%= f.label :keywords, t("personal_diploma.keywords") %> + <%= f.text_field :keywords %> +
+ +
+ <%= f.label :language, t("personal_diploma.language") %> + <%= f.radio_button :language, "Chinese" %> <%= t("personal_diploma.Chinese") %> + <%= f.radio_button :language, "English" %> <%= t("personal_diploma.English") %> +
+ +
+ <%= f.label :note, t("personal_diploma.note") %> + <%= f.text_area :note, :size => "60x3" %> +
+ +
+ + +
+ + + + +
+ <%= f.submit t('submit'), :class=>'btn btn-primary' %> + <%= link_to t('cancel'), get_go_back, :class=>"btn" %> +
\ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_sort_headers.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_sort_headers.html.erb new file mode 100644 index 00000000..4a56b537 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/_sort_headers.html.erb @@ -0,0 +1,3 @@ +<%= render_sort_bar(true, delete_panel_personal_diploma_back_end_diplomas_path(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]), + ['date', 'date', 'span1', 'diploma.date'], + ['school_name', 'school_name', 'span3', 'diploma.school_name']).html_safe %> \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/destroy.js.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/destroy.js.erb new file mode 100644 index 00000000..0b81fea3 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/destroy.js.erb @@ -0,0 +1 @@ +$("#<%= dom_id @diploma %>").remove(); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/edit.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/edit.html.erb new file mode 100644 index 00000000..5d8c5acf --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/edit.html.erb @@ -0,0 +1,5 @@ +

<%= t('personal_diploma.editing_personal_diploma') %>

+ +<%= form_for @diploma, :url => panel_personal_diploma_plugin_diploma_path(@diploma), :html => {:class => 'clear'} do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/index.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/index.html.erb new file mode 100644 index 00000000..d55da776 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/index.html.erb @@ -0,0 +1,22 @@ +<%= render 'filter' %> + + + + + + + + + + + + <%= render :partial => 'diploma', :collection => @diplomas %> + +
+ +
+ <%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('announcement.add_new'), new_panel_personal_diploma_plugin_diploma_path, :class => 'btn btn-primary pull-right' %> +
+ <%= paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %> +
+
diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/index.js.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/index.js.erb new file mode 100644 index 00000000..b6c9aa57 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/index.js.erb @@ -0,0 +1,3 @@ +$("#sort_headers").html("<%= j render 'sort_headers' %>"); +$("#tbody_diplomas").html("<%= j render :partial => 'diploma', :collection => @diplomas %>"); +$("#diploma_pagination").html("<%= j paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>"); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/new.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/new.html.erb new file mode 100644 index 00000000..aee478e9 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/new.html.erb @@ -0,0 +1,10 @@ + +<%= flash_messages %> +
+

<%= t('diploma.new_personal_diploma') %>

+<%= form_for @diploma, :url => panel_personal_diploma_plugin_diplomas_path, :html => {:class => 'clear'} do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> +
+<%#= link_back %> + diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/show.html.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/show.html.erb new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/toggle_enable.js.erb b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/toggle_enable.js.erb new file mode 100644 index 00000000..b00cfa07 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/app/views/panel/personal_diploma/plugin/diplomas/toggle_enable.js.erb @@ -0,0 +1,3 @@ +$("#enable_<%= @bulletin.id %>").toggle(); +$("#disable_<%= @bulletin.id %>").toggle(); +$("#bulletin_<%= @bulletin.id %>").toggleClass('disable'); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/config/locales/en.yml b/vendor/built_in_modules/personal_diploma/config/locales/en.yml new file mode 100644 index 00000000..83dbd328 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/config/locales/en.yml @@ -0,0 +1,135 @@ +# Sample localization file for English. Add more files in this directory for other locales. +# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. + +en: + + _locale: English + + add: Add + back: Back + create: Create + delete: Delete + disable: Disable + downloaded: Downloaded + download: Download + edit: Edit + enable: Enable + hide: Hide + homepage: Homepage + no_: "No" + nothing: Nothing + show: Show + sure?: Are you sure? + update: Update + yes_: "Yes" + + announcement: + sure?: Sure? + + + web_resource: + list_lower: list + list_link: Links list + + + # admin: + # action: Action + # add_language: Add language + # admin: Admin + # action: Action + # announcement: Announcement + # asset: Asset + # attributes: Attributes + # cant_delete_self: You can not delete yourself. + # cant_revoke_self_admin: You can not revoke your admin role yourself. + # class: Class + # content: Content + # create_error_link: Error when creating link. + # create_error_page: Error when creating page. + # create_success_home: Homepage was successfully created. + # create_success_layout: Layout was successfully created. + # create_success_link: Link was successfully created. + # create_success_page: Page was successfully created. + # create_success_snippet: Snippet was successfully created. + # create_success_user: User was successfully created. + # data: Data + # delete_language: Delete language + # description: Description + # design: Design + # disable_language: Disable language + # editing_home: Editing homepage + # editing_layout: Editing layout + # editing_link: Editing link + # editing_page: Editing page + # editing_snippet: Editing snippet + # editing_user_info: Editing user information + # editing_user_role: Editing user role + # email: Email + # enable_language: Enable language + # file_name: Filename + # file_size: File size + # format: Format + # home: Home + # id: ID + # info: Information + # is_published: Is published + # item: Item + # key: Key + # language: Language + # layout: Layout + # layout_name: Layout name + # list_assets: Assets list + # list_designs: Designs list + # list_items: Items list + # list_puchases: Purchases list + # list_snippets: Snippets list + # list_users: Users list + # list_user_infos: User information list + # list_user_roles: User roles list + # member: Member + # move_down: Move down + # move_up: Move up + # multilingual: Multilingual + # my_avatar: My Avatar + # no_home_page: You don't have a homepage + # no_layout: You don't have a layout + # name: Name + # new_asset: New asset + # new_component: New component + # new_home: New homepage + # new_layout: New layout + # new_link: New link + # new_page: New page + # new_snippet: New snippet + # new_user: New user + # new_user_info: New user information + # new_user_role: New user role + # non_multilingual: Non multilingual + # options: Options + # orig_upload_file: Original filename + # position: Position + # published?: Published? + # purchase: Purchase + # registered: Registered + # role: Role + # roles: Roles + # title: Title + # translation: Translation + # type: Type + # up_to_date: Up-to-date + # update_error_link: Error when updating link. + # update_error_page: Error when updating page. + # update_success_content: Content was successfully updated. + # update_success_home: Homepage was successfully updated. + # update_success_layout: Layout was successfully updated. + # update_success_link: Link was successfully updated. + # update_success_page: Page was successfully updated. + # update_success_snippet: Snippet was successfully updated. + # update_success_user: User was successfully updated. + # url: URL + # user: User + # user_info: User information + # user_panel: User panel + # user_role: User role + + panel: diff --git a/vendor/built_in_modules/personal_diploma/config/locales/zh_tw.yml b/vendor/built_in_modules/personal_diploma/config/locales/zh_tw.yml new file mode 100644 index 00000000..a0104cbd --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/config/locales/zh_tw.yml @@ -0,0 +1,243 @@ +zh_tw: + + _locale: 中文 + + add: 新增 + back: 回去 + create: 創造 + delete: 刪除 + disable: 禁用 + edit: 編輯 + enable: 啟用 + hide: 隱藏 + homepage: 首頁 + no_: "No" + nothing: 無 + show: 顯示 + sure?: 您肯定嗎? + update: 更新 + yes_: "Yes" + + web_resource: + list_lower: 列表 + list_link: 鏈接列表 + category: 分類 + name: 名稱 + describe: 描述 + url: 路徑 + edit: 編輯 + delete: 刪除 + cate_auth: 分類授權 + + +# Chinese (Taiwan) translations for Ruby on Rails +# by tsechingho (http://github.com/tsechingho) + date: + formats: + default: "%Y-%m-%d" + short: "%b%d日" + long: "%Y年%b%d日" + day_names: [星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六] + abbr_day_names: [日, 一, 二, 三, 四, 五, 六] + month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月] + abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月] + order: [ :year, :month, :day ] + + time: + formats: + default: "%Y年%b%d日 %A %H:%M:%S %Z" + short: "%b%d日 %H:%M" + long: "%Y年%b%d日 %H:%M" + am: "上午" + pm: "下午" + + datetime: + distance_in_words: + half_a_minute: "半分鐘" + less_than_x_seconds: + one: "不到一秒" + other: "不到 %{count} 秒" + x_seconds: + one: "一秒" + other: "%{count} 秒" + less_than_x_minutes: + one: "不到一分鐘" + other: "不到 %{count} 分鐘" + x_minutes: + one: "一分鐘" + other: "%{count} 分鐘" + about_x_hours: + one: "大約一小時" + other: "大約 %{count} 小時" + x_days: + one: "一天" + other: "%{count} 天" + about_x_months: + one: "大約一個月" + other: "大約 %{count} 個月" + x_months: + one: "一個月" + other: "%{count} 個月" + about_x_years: + one: "大約一年" + other: "大約 %{count} 年" + over_x_years: + one: "一年多" + other: "%{count} 年多" + almost_x_years: + one: "接近一年" + other: "接近 %{count} 年" + prompts: + year: "年" + month: "月" + day: "日" + hour: "時" + minute: "分" + second: "秒" + + number: + format: + separator: "." + delimiter: "," + precision: 3 + significant: false + strip_insignificant_zeros: false + currency: + format: + format: "%u %n" + unit: "NT$" + separator: "." + delimiter: "," + precision: 2 + significant: false + strip_insignificant_zeros: false + percentage: + format: + delimiter: "" + precision: + format: + delimiter: "" + human: + format: + delimiter: "" + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: "Byte" + other: "Bytes" + kb: "KB" + mb: "MB" + gb: "GB" + tb: "TB" + decimal_units: + format: "%n %u" + units: + # 10^-21 zepto, 10^-24 yocto + atto: "渺" # 10^-18 + femto: "飛" # 10^-15 毫微微 + pico: "漠" # 10^-12 微微 + nano: "奈" # 10^-9 毫微 + micro: "微" # 10^-6 + mili: "毫" # 10^-3 milli + centi: "厘" # 10^-2 + deci: "分" # 10^-1 + unit: "" + ten: + one: "十" + other: "十" # 10^1 + hundred: "百" # 10^2 + thousand: "千" # 10^3 kilo + million: "百萬" # 10^6 mega + billion: "十億" # 10^9 giga + trillion: "兆" # 10^12 tera + quadrillion: "千兆" # 10^15 peta + # 10^18 exa, 10^21 zetta, 10^24 yotta + + support: + array: + words_connector: ", " + two_words_connector: " 和 " + last_word_connector: ", 和 " + select: + prompt: "請選擇" + + activerecord: + errors: + template: # ~ 2.3.5 backward compatible + header: + one: "有 1 個錯誤發生使得「%{model}」無法被儲存。" + other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。" + body: "以下欄位發生問題:" + full_messages: + format: "%{attribute} %{message}" + messages: + inclusion: "沒有包含在列表中" + exclusion: "是被保留的關鍵字" + invalid: "是無效的" + confirmation: "不符合確認值" + accepted: "必須是可被接受的" + empty: "不能留空" + blank: "不能是空白字元" + too_long: "過長(最長是 %{count} 個字)" + too_short: "過短(最短是 %{count} 個字)" + wrong_length: "字數錯誤(必須是 %{count} 個字)" + not_a_number: "不是數字" + not_an_integer: "必須是整數" + greater_than: "必須大於 %{count}" + greater_than_or_equal_to: "必須大於或等於 %{count}" + equal_to: "必須等於 %{count}" + less_than: "必須小於 %{count}" + less_than_or_equal_to: "必須小於或等於 %{count}" + odd: "必須是奇數" + even: "必須是偶數" + taken: "已經被使用" + record_invalid: "校驗失敗: %{errors}" + + activemodel: + errors: + template: + header: + one: "有 1 個錯誤發生使得「%{model}」無法被儲存。" + other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。" + body: "以下欄位發生問題:" + + errors: + format: "%{attribute} %{message}" + messages: + inclusion: "沒有包含在列表中" + exclusion: "是被保留的關鍵字" + invalid: "是無效的" + confirmation: "不符合確認值" + accepted: "必須是可被接受的" + empty: "不能留空" + blank: "不能是空白字元" + too_long: "過長(最長是 %{count} 個字)" + too_short: "過短(最短是 %{count} 個字)" + wrong_length: "字數錯誤(必須是 %{count} 個字)" + not_a_number: "不是數字" + not_an_integer: "必須是整數" + greater_than: "必須大於 %{count}" + greater_than_or_equal_to: "必須大於或等於 %{count}" + equal_to: "必須等於 %{count}" + less_than: "必須小於 %{count}" + less_than_or_equal_to: "必須小於或等於 %{count}" + odd: "必須是奇數" + even: "必須是偶數" + template: + header: + one: "有 1 個錯誤發生使得「%{model}」無法被儲存。" + other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。" + body: "以下欄位發生問題:" + + helpers: + select: + prompt: "請選擇" + submit: + create: "新增%{model}" + update: "更新%{model}" + submit: "儲存%{model}" + diff --git a/vendor/built_in_modules/personal_diploma/config/routes.rb b/vendor/built_in_modules/personal_diploma/config/routes.rb new file mode 100644 index 00000000..c514e5f7 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/config/routes.rb @@ -0,0 +1,32 @@ +Rails.application.routes.draw do + + namespace :panel do + namespace :personal_diploma do + namespace :back_end do + + match 'diploma_setting' => "diplomas#diploma_setting" ,:as => :diploma_setting + + resources :diplomas do + collection do + get 'delete' + end + end + + resources :tags + end + namespace :front_end do + resources :diplomas + end + namespace :plugin do + resources :diplomas + end + namespace :widget do + match "diplomas" => "diplomas#index" + match "home_list" => "diplomas#home_list" + match "reload_diplomas" => "diplomas#reload_diplomas" + end + end + end + match "/appfront/*path" => redirect("/panel/*path") + +end diff --git a/vendor/built_in_modules/personal_diploma/init.rb b/vendor/built_in_modules/personal_diploma/init.rb new file mode 100644 index 00000000..9d1b4232 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/init.rb @@ -0,0 +1,25 @@ +module PersonalDiploma + OrbitApp.registration "Diploma",:type=> 'ModuleApp' do + + base_url File.expand_path File.dirname(__FILE__) + personal_plugin :enable => true,:path=>"panel/personal_diploma/plugin/profile" + + + end + +end + + +# OrbitApp.backend_side_bar 'News' do + +# block :available_for => [:admin,:guest,:manager,:sub_manager], +# :active_for_controllers=> ['news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals'], +# :active_for_ob_auths_object => ['NewsBulletinCategory'], +# :head_link => panel_news_back_end_news_bulletins_path , +# :head_label=> I18n.t('admin.news') + +# context_link :link=>new_panel_news_back_end_news_bulletin_path , +# :priority=>1,:label=>I18n.t('announcement.add_new'), +# :active_for_action=>{:news_bulletins=>:new} + +# end \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/lib/personal_diploma.rb b/vendor/built_in_modules/personal_diploma/lib/personal_diploma.rb new file mode 100644 index 00000000..e8cb5493 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/lib/personal_diploma.rb @@ -0,0 +1,4 @@ +require "personal_diploma/engine" + +module PersonalDiploma +end diff --git a/vendor/built_in_modules/personal_diploma/lib/personal_diploma/engine.rb b/vendor/built_in_modules/personal_diploma/lib/personal_diploma/engine.rb new file mode 100644 index 00000000..cfe52ee6 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/lib/personal_diploma/engine.rb @@ -0,0 +1,4 @@ +module PersonalDiploma + class Engine < Rails::Engine + end +end diff --git a/vendor/built_in_modules/personal_diploma/lib/personal_diploma/version.rb b/vendor/built_in_modules/personal_diploma/lib/personal_diploma/version.rb new file mode 100644 index 00000000..c8d86b86 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/lib/personal_diploma/version.rb @@ -0,0 +1,3 @@ +module PersonalDiploma + VERSION = "0.0.1" +end diff --git a/vendor/built_in_modules/personal_diploma/lib/tasks/personal_diploma_tasks.rake b/vendor/built_in_modules/personal_diploma/lib/tasks/personal_diploma_tasks.rake new file mode 100644 index 00000000..7909dc81 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/lib/tasks/personal_diploma_tasks.rake @@ -0,0 +1,4 @@ +# desc "Explaining what the task does" +# task :personal_diploma do +# # Task goes here +# end diff --git a/vendor/built_in_modules/personal_diploma/personal_diploma.gemspec b/vendor/built_in_modules/personal_diploma/personal_diploma.gemspec new file mode 100644 index 00000000..c9e462c9 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/personal_diploma.gemspec @@ -0,0 +1,23 @@ +$:.push File.expand_path("../lib", __FILE__) + +# Maintain your gem's version: +require "personal_diploma/version" + +# Describe your gem and declare its dependencies: +Gem::Specification.new do |s| + s.name = "personal_diploma" + s.version = PersonalDiploma::VERSION + s.authors = ["TODO: Your name"] + s.email = ["TODO: Your email"] + s.homepage = "TODO" + s.summary = "TODO: Summary of PersonalDiploma." + s.description = "TODO: Description of PersonalDiploma." + + s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"] + s.test_files = Dir["test/**/*"] + + s.add_dependency "rails", "~> 3.1.8" + # s.add_dependency "jquery-rails" + + s.add_development_dependency "sqlite3" +end diff --git a/vendor/built_in_modules/personal_diploma/personal_diploma.json b/vendor/built_in_modules/personal_diploma/personal_diploma.json new file mode 100644 index 00000000..b2099425 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/personal_diploma.json @@ -0,0 +1,12 @@ +{ + "title": "personal_diploma", + "object": "diploma", + "version": "0.1", + "organization": "Rulingcom", + "author": "RD dep", + "intro": "A simple blog……", + "update_info": "Some info", + "create_date": "09-08-2012", + "enable_frontend": true, + "has_plugin": true +} diff --git a/vendor/built_in_modules/personal_diploma/script/rails b/vendor/built_in_modules/personal_diploma/script/rails new file mode 100644 index 00000000..23bd81fa --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/script/rails @@ -0,0 +1,6 @@ +#!/usr/bin/env ruby.exe +#!/usr/bin/env ruby +# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. + +ENGINE_PATH = File.expand_path('../..', __FILE__) +load File.expand_path('../../test/dummy/script/rails', __FILE__) diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/Rakefile b/vendor/built_in_modules/personal_diploma/test/dummy/Rakefile new file mode 100644 index 00000000..36458522 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/Rakefile @@ -0,0 +1,7 @@ +#!/usr/bin/env rake +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require File.expand_path('../config/application', __FILE__) + +Dummy::Application.load_tasks diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/app/assets/javascripts/application.js b/vendor/built_in_modules/personal_diploma/test/dummy/app/assets/javascripts/application.js new file mode 100644 index 00000000..37c7bfcd --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/app/assets/javascripts/application.js @@ -0,0 +1,9 @@ +// This is a manifest file that'll be compiled into including all the files listed below. +// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically +// be included in the compiled file accessible from http://example.com/assets/application.js +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// the compiled file. +// +//= require jquery +//= require jquery_ujs +//= require_tree . diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/app/assets/stylesheets/application.css b/vendor/built_in_modules/personal_diploma/test/dummy/app/assets/stylesheets/application.css new file mode 100644 index 00000000..fc25b572 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/app/assets/stylesheets/application.css @@ -0,0 +1,7 @@ +/* + * This is a manifest file that'll automatically include all the stylesheets available in this directory + * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at + * the top of the compiled file, but it's generally better to create a new file per style scope. + *= require_self + *= require_tree . +*/ \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/app/controllers/application_controller.rb b/vendor/built_in_modules/personal_diploma/test/dummy/app/controllers/application_controller.rb new file mode 100644 index 00000000..e8065d95 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/app/controllers/application_controller.rb @@ -0,0 +1,3 @@ +class ApplicationController < ActionController::Base + protect_from_forgery +end diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/app/helpers/application_helper.rb b/vendor/built_in_modules/personal_diploma/test/dummy/app/helpers/application_helper.rb new file mode 100644 index 00000000..de6be794 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/app/mailers/.gitkeep b/vendor/built_in_modules/personal_diploma/test/dummy/app/mailers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/app/models/.gitkeep b/vendor/built_in_modules/personal_diploma/test/dummy/app/models/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/app/views/layouts/application.html.erb b/vendor/built_in_modules/personal_diploma/test/dummy/app/views/layouts/application.html.erb new file mode 100644 index 00000000..9a8a761b --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/app/views/layouts/application.html.erb @@ -0,0 +1,14 @@ + + + + Dummy + <%= stylesheet_link_tag "application" %> + <%= javascript_include_tag "application" %> + <%= csrf_meta_tags %> + + + +<%= yield %> + + + diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config.ru b/vendor/built_in_modules/personal_diploma/test/dummy/config.ru new file mode 100644 index 00000000..1989ed8d --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config.ru @@ -0,0 +1,4 @@ +# This file is used by Rack-based servers to start the application. + +require ::File.expand_path('../config/environment', __FILE__) +run Dummy::Application diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/application.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/application.rb new file mode 100644 index 00000000..6c9a6cbd --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/application.rb @@ -0,0 +1,45 @@ +require File.expand_path('../boot', __FILE__) + +require 'rails/all' + +Bundler.require +require "personal_diploma" + +module Dummy + class Application < Rails::Application + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + + # Custom directories with classes and modules you want to be autoloadable. + # config.autoload_paths += %W(#{config.root}/extras) + + # Only load the plugins named here, in the order given (default is alphabetical). + # :all can be used as a placeholder for all plugins not explicitly named. + # config.plugins = [ :exception_notification, :ssl_requirement, :all ] + + # Activate observers that should always be running. + # config.active_record.observers = :cacher, :garbage_collector, :forum_observer + + # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. + # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. + # config.time_zone = 'Central Time (US & Canada)' + + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. + # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] + # config.i18n.default_locale = :de + + # Configure the default encoding used in templates for Ruby 1.9. + config.encoding = "utf-8" + + # Configure sensitive parameters which will be filtered from the log file. + config.filter_parameters += [:password] + + # Enable the asset pipeline + config.assets.enabled = true + + # Version of your assets, change this if you want to expire all your assets + config.assets.version = '1.0' + end +end + diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/boot.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/boot.rb new file mode 100644 index 00000000..eba06813 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/boot.rb @@ -0,0 +1,10 @@ +require 'rubygems' +gemfile = File.expand_path('../../../../Gemfile', __FILE__) + +if File.exist?(gemfile) + ENV['BUNDLE_GEMFILE'] = gemfile + require 'bundler' + Bundler.setup +end + +$:.unshift File.expand_path('../../../../lib', __FILE__) \ No newline at end of file diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/database.yml b/vendor/built_in_modules/personal_diploma/test/dummy/config/database.yml new file mode 100644 index 00000000..51a4dd45 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/database.yml @@ -0,0 +1,25 @@ +# SQLite version 3.x +# gem install sqlite3 +# +# Ensure the SQLite 3 gem is defined in your Gemfile +# gem 'sqlite3' +development: + adapter: sqlite3 + database: db/development.sqlite3 + pool: 5 + timeout: 5000 + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + adapter: sqlite3 + database: db/test.sqlite3 + pool: 5 + timeout: 5000 + +production: + adapter: sqlite3 + database: db/production.sqlite3 + pool: 5 + timeout: 5000 diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/environment.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/environment.rb new file mode 100644 index 00000000..3da5eb91 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/environment.rb @@ -0,0 +1,5 @@ +# Load the rails application +require File.expand_path('../application', __FILE__) + +# Initialize the rails application +Dummy::Application.initialize! diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/environments/development.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/environments/development.rb new file mode 100644 index 00000000..95a50b91 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/environments/development.rb @@ -0,0 +1,30 @@ +Dummy::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Log error messages when you accidentally call methods on nil. + config.whiny_nils = true + + # Show full error reports and disable caching + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Don't care if the mailer can't send + config.action_mailer.raise_delivery_errors = false + + # Print deprecation notices to the Rails logger + config.active_support.deprecation = :log + + # Only use best-standards-support built into browsers + config.action_dispatch.best_standards_support = :builtin + + # Do not compress assets + config.assets.compress = false + + # Expands the lines which load the assets + config.assets.debug = true +end diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/environments/production.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/environments/production.rb new file mode 100644 index 00000000..ca2c5888 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/environments/production.rb @@ -0,0 +1,60 @@ +Dummy::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # Code is not reloaded between requests + config.cache_classes = true + + # Full error reports are disabled and caching is turned on + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Disable Rails's static asset server (Apache or nginx will already do this) + config.serve_static_assets = false + + # Compress JavaScripts and CSS + config.assets.compress = true + + # Don't fallback to assets pipeline if a precompiled asset is missed + config.assets.compile = false + + # Generate digests for assets URLs + config.assets.digest = true + + # Defaults to Rails.root.join("public/assets") + # config.assets.manifest = YOUR_PATH + + # Specifies the header that your server uses for sending files + # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # See everything in the log (default is :info) + # config.log_level = :debug + + # Use a different logger for distributed setups + # config.logger = SyslogLogger.new + + # Use a different cache store in production + # config.cache_store = :mem_cache_store + + # Enable serving of images, stylesheets, and JavaScripts from an asset server + # config.action_controller.asset_host = "http://assets.example.com" + + # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) + # config.assets.precompile += %w( search.js ) + + # Disable delivery errors, bad email addresses will be ignored + # config.action_mailer.raise_delivery_errors = false + + # Enable threaded mode + # config.threadsafe! + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation can not be found) + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners + config.active_support.deprecation = :notify +end diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/environments/test.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/environments/test.rb new file mode 100644 index 00000000..6810c914 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/environments/test.rb @@ -0,0 +1,39 @@ +Dummy::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Configure static asset server for tests with Cache-Control for performance + config.serve_static_assets = true + config.static_cache_control = "public, max-age=3600" + + # Log error messages when you accidentally call methods on nil + config.whiny_nils = true + + # Show full error reports and disable caching + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment + config.action_controller.allow_forgery_protection = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Use SQL instead of Active Record's schema dumper when creating the test database. + # This is necessary if your schema can't be completely dumped by the schema dumper, + # like if you have constraints or database-specific column types + # config.active_record.schema_format = :sql + + # Print deprecation notices to the stderr + config.active_support.deprecation = :stderr +end diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/backtrace_silencers.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/backtrace_silencers.rb new file mode 100644 index 00000000..59385cdf --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/inflections.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/inflections.rb new file mode 100644 index 00000000..9e8b0131 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/inflections.rb @@ -0,0 +1,10 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format +# (all these examples are active by default): +# ActiveSupport::Inflector.inflections do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/mime_types.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/mime_types.rb new file mode 100644 index 00000000..72aca7e4 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/mime_types.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf +# Mime::Type.register_alias "text/html", :iphone diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/secret_token.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/secret_token.rb new file mode 100644 index 00000000..85b82bae --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/secret_token.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +Dummy::Application.config.secret_token = '0d28ef022526f9ee2f67ce40acaea04041141e051d4f344fb516738e64bb8ab6efe5f73e223b787fd8f0fbb8b20414c59a493f50619949df35fb397bdd316ac2' diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/session_store.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/session_store.rb new file mode 100644 index 00000000..952473ff --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/session_store.rb @@ -0,0 +1,8 @@ +# Be sure to restart your server when you modify this file. + +Dummy::Application.config.session_store :cookie_store, key: '_dummy_session' + +# Use the database for sessions instead of the cookie-based default, +# which shouldn't be used to store highly confidential information +# (create the session table with "rails generate session_migration") +# Dummy::Application.config.session_store :active_record_store diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/wrap_parameters.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/wrap_parameters.rb new file mode 100644 index 00000000..999df201 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# Disable root element in JSON by default. +ActiveSupport.on_load(:active_record) do + self.include_root_in_json = false +end diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/locales/en.yml b/vendor/built_in_modules/personal_diploma/test/dummy/config/locales/en.yml new file mode 100644 index 00000000..179c14ca --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/locales/en.yml @@ -0,0 +1,5 @@ +# Sample localization file for English. Add more files in this directory for other locales. +# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. + +en: + hello: "Hello world" diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/config/routes.rb b/vendor/built_in_modules/personal_diploma/test/dummy/config/routes.rb new file mode 100644 index 00000000..bb509f27 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/config/routes.rb @@ -0,0 +1,58 @@ +Dummy::Application.routes.draw do + # The priority is based upon order of creation: + # first created -> highest priority. + + # Sample of regular route: + # match 'products/:id' => 'catalog#view' + # Keep in mind you can assign values other than :controller and :action + + # Sample of named route: + # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase + # This route can be invoked with purchase_url(:id => product.id) + + # Sample resource route (maps HTTP verbs to controller actions automatically): + # resources :products + + # Sample resource route with options: + # resources :products do + # member do + # get 'short' + # post 'toggle' + # end + # + # collection do + # get 'sold' + # end + # end + + # Sample resource route with sub-resources: + # resources :products do + # resources :comments, :sales + # resource :seller + # end + + # Sample resource route with more complex sub-resources + # resources :products do + # resources :comments + # resources :sales do + # get 'recent', :on => :collection + # end + # end + + # Sample resource route within a namespace: + # namespace :admin do + # # Directs /admin/products/* to Admin::ProductsController + # # (app/controllers/admin/products_controller.rb) + # resources :products + # end + + # You can have the root of your site routed with "root" + # just remember to delete public/index.html. + # root :to => 'welcome#index' + + # See how all your routes lay out with "rake routes" + + # This is a legacy wild controller route that's not recommended for RESTful applications. + # Note: This route will make all actions in every controller accessible via GET requests. + # match ':controller(/:action(/:id(.:format)))' +end diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/lib/assets/.gitkeep b/vendor/built_in_modules/personal_diploma/test/dummy/lib/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/log/.gitkeep b/vendor/built_in_modules/personal_diploma/test/dummy/log/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/public/404.html b/vendor/built_in_modules/personal_diploma/test/dummy/public/404.html new file mode 100644 index 00000000..9a48320a --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/public/404.html @@ -0,0 +1,26 @@ + + + + The page you were looking for doesn't exist (404) + + + + + +
+

The page you were looking for doesn't exist.

+

You may have mistyped the address or the page may have moved.

+
+ + diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/public/422.html b/vendor/built_in_modules/personal_diploma/test/dummy/public/422.html new file mode 100644 index 00000000..83660ab1 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/public/422.html @@ -0,0 +1,26 @@ + + + + The change you wanted was rejected (422) + + + + + +
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+ + diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/public/500.html b/vendor/built_in_modules/personal_diploma/test/dummy/public/500.html new file mode 100644 index 00000000..b80307fc --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/public/500.html @@ -0,0 +1,26 @@ + + + + We're sorry, but something went wrong (500) + + + + + +
+

We're sorry, but something went wrong.

+

We've been notified about this issue and we'll take a look at it shortly.

+
+ + diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/public/favicon.ico b/vendor/built_in_modules/personal_diploma/test/dummy/public/favicon.ico new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_diploma/test/dummy/script/rails b/vendor/built_in_modules/personal_diploma/test/dummy/script/rails new file mode 100644 index 00000000..81eab02f --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/dummy/script/rails @@ -0,0 +1,6 @@ +#!/usr/bin/env ruby.exe +# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. + +APP_PATH = File.expand_path('../../config/application', __FILE__) +require File.expand_path('../../config/boot', __FILE__) +require 'rails/commands' diff --git a/vendor/built_in_modules/personal_diploma/test/integration/navigation_test.rb b/vendor/built_in_modules/personal_diploma/test/integration/navigation_test.rb new file mode 100644 index 00000000..97a94c9b --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/integration/navigation_test.rb @@ -0,0 +1,10 @@ +require 'test_helper' + +class NavigationTest < ActionDispatch::IntegrationTest + fixtures :all + + # test "the truth" do + # assert true + # end +end + diff --git a/vendor/built_in_modules/personal_diploma/test/personal_diploma_test.rb b/vendor/built_in_modules/personal_diploma/test/personal_diploma_test.rb new file mode 100644 index 00000000..886434b5 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/personal_diploma_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class PersonalDiplomaTest < ActiveSupport::TestCase + test "truth" do + assert_kind_of Module, PersonalDiploma + end +end diff --git a/vendor/built_in_modules/personal_diploma/test/test_helper.rb b/vendor/built_in_modules/personal_diploma/test/test_helper.rb new file mode 100644 index 00000000..dcd3b276 --- /dev/null +++ b/vendor/built_in_modules/personal_diploma/test/test_helper.rb @@ -0,0 +1,10 @@ +# Configure Rails Environment +ENV["RAILS_ENV"] = "test" + +require File.expand_path("../dummy/config/environment.rb", __FILE__) +require "rails/test_help" + +Rails.backtrace_cleaner.remove_silencers! + +# Load support files +Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f } diff --git a/vendor/built_in_modules/personal_experience/.gitignore b/vendor/built_in_modules/personal_experience/.gitignore new file mode 100644 index 00000000..1463de6d --- /dev/null +++ b/vendor/built_in_modules/personal_experience/.gitignore @@ -0,0 +1,6 @@ +.bundle/ +log/*.log +pkg/ +test/dummy/db/*.sqlite3 +test/dummy/log/*.log +test/dummy/tmp/ \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/Gemfile b/vendor/built_in_modules/personal_experience/Gemfile new file mode 100644 index 00000000..2cb3b436 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/Gemfile @@ -0,0 +1,17 @@ +source "http://rubygems.org" + +# Declare your gem's dependencies in personal_experience.gemspec. +# Bundler will treat runtime dependencies like base dependencies, and +# development dependencies will be added by default to the :development group. +gemspec + +# jquery-rails is used by the dummy application +gem "jquery-rails" + +# Declare any dependencies that are still in development here instead of in +# your gemspec. These might include edge Rails or gems from your path or +# Git. Remember to move these dependencies to your gemspec before releasing +# your gem to rubygems.org. + +# To use debugger +# gem 'ruby-debug19', :require => 'ruby-debug' diff --git a/vendor/built_in_modules/personal_experience/MIT-LICENSE b/vendor/built_in_modules/personal_experience/MIT-LICENSE new file mode 100644 index 00000000..406f17b7 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/MIT-LICENSE @@ -0,0 +1,20 @@ +Copyright 2012 YOURNAME + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/built_in_modules/personal_experience/README.rdoc b/vendor/built_in_modules/personal_experience/README.rdoc new file mode 100644 index 00000000..9eae23f7 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/README.rdoc @@ -0,0 +1,3 @@ += PersonalExperience + +This project rocks and uses MIT-LICENSE. \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/Rakefile b/vendor/built_in_modules/personal_experience/Rakefile new file mode 100644 index 00000000..46b02d90 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/Rakefile @@ -0,0 +1,39 @@ +#!/usr/bin/env rake +begin + require 'bundler/setup' +rescue LoadError + puts 'You must `gem install bundler` and `bundle install` to run rake tasks' +end +begin + require 'rdoc/task' +rescue LoadError + require 'rdoc/rdoc' + require 'rake/rdoctask' + RDoc::Task = Rake::RDocTask +end + +RDoc::Task.new(:rdoc) do |rdoc| + rdoc.rdoc_dir = 'rdoc' + rdoc.title = 'PersonalExperience' + rdoc.options << '--line-numbers' + rdoc.rdoc_files.include('README.rdoc') + rdoc.rdoc_files.include('lib/**/*.rb') +end + +APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__) +load 'rails/tasks/engine.rake' + + +Bundler::GemHelper.install_tasks + +require 'rake/testtask' + +Rake::TestTask.new(:test) do |t| + t.libs << 'lib' + t.libs << 'test' + t.pattern = 'test/**/*_test.rb' + t.verbose = false +end + + +task :default => :test diff --git a/vendor/built_in_modules/personal_experience/app/assets/images/personal_experience/.gitkeep b/vendor/built_in_modules/personal_experience/app/assets/images/personal_experience/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_experience/app/assets/javascripts/personal_experience/.gitkeep b/vendor/built_in_modules/personal_experience/app/assets/javascripts/personal_experience/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_experience/app/assets/stylesheets/personal_experience/.gitkeep b/vendor/built_in_modules/personal_experience/app/assets/stylesheets/personal_experience/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_experience/app/controllers/.gitkeep b/vendor/built_in_modules/personal_experience/app/controllers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_experience/app/controllers/application_controller.rb b/vendor/built_in_modules/personal_experience/app/controllers/application_controller.rb new file mode 100644 index 00000000..307a4acd --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/controllers/application_controller.rb @@ -0,0 +1,23 @@ +class ApplicationController < ActionController::Base + protect_from_forgery + before_filter :set_locale + + # Set I18n.locale + def set_locale + # update session if passed + session[:locale] = params[:locale] if params[:locale] + + # set locale based on session or default + begin + # check if locale is valid for non site pages + if !VALID_LOCALES.include?(session[:locale]) + I18n.locale = I18n.default_locale + else + I18n.locale = session[:locale] + end + rescue + I18n.locale = I18n.default_locale + end + end + +end diff --git a/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/back_end/experience_categorys_controller.rb b/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/back_end/experience_categorys_controller.rb new file mode 100644 index 00000000..19740010 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/back_end/experience_categorys_controller.rb @@ -0,0 +1,123 @@ +class Panel::PersonalExperience::BackEnd::ExperienceCategorysController < OrbitBackendController + include OrbitControllerLib::DivisionForDisable + + before_filter :force_order_for_visitor,:only=>[:index,:show] + before_filter :force_order_for_user,:except => [:index,:show] + before_filter :for_app_manager,:except => [:index] + + def index + + @experience_categorys = get_categories_for_index("ExperienceCategory") + @experience_category = ExperienceCategory.new(:display => 'List') + + @url = panel_personal_experience_back_end_experience_categorys_path + + respond_to do |format| + format.html # index.html.erb + format.js + end + end + + # GET /experiences/1 + # GET /experiences/1.xml + def show + + @experience_category = ExperienceCategory.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.js + end + end + + # GET /experiences/new + # GET /experiences/new.xml + def new + + @experience_category = ExperienceCategory.new(:display => 'List') + + @verb = :post + + respond_to do |format| + format.html # new.html.erb + format.js + end + end + + # GET /experiences/1/edit + def edit + + @experience_category = ExperienceCategory.find(params[:id]) + + # @url = panel_personal_experience_back_end_experience_category_path(@experience_category) + # @url = eval("panel_personal_experience_back_end_#{@app_type}_path(@experience_category)") + @url = polymorphic_path([:panel, :personal_experience, :back_end, @experience_category]) + + @verb = :put + + respond_to do |format| + format.html + format.js + end + end + + # POST /experiences + # POST /experiences.xml + def create + + @experience_category = ExperienceCategory.new(params[:experience_category]) + + respond_to do |format| + if @experience_category.save + format.html { redirect_to(panel_personal_experience_back_end_experience_categorys_url, :notice => t('experience_category.create_experience_category_success')) } + format.js + else + format.html { render :action => "new" } + format.js { render action: "new" } + end + end + end + + # PUT /experiences/1 + # PUT /experiences/1.xml + def update + + @experience_category = ExperienceCategory.find(params[:id]) + # debugger + # @url = panel_personal_experience_back_end_experience_category_path(@experience_category) + # @url = eval("panel_personal_experience_back_end_#{@app_type}_path(#{@experience_category})") + @url = polymorphic_path([:panel, :personal_experience, :back_end, @experience_category]) + + respond_to do |format| + if @experience_category.update_attributes(params[:experience_category]) + format.html { redirect_to(panel_personal_experience_back_end_experience_categorys_url, :notice => t('experience_category.update_experience_category_success')) } + # format.xml { head :ok } + format.js + else + format.html { render :action => "edit" } + format.js { render :action => "edit" } + end + end + end + + # DELETE /experiences/1 + # DELETE /experiences/1.xml + def destroy + + @experience_category = ExperienceCategory.find(params[:id]) + @experience_category.disable = @experience_category.disable ? false : true + + if @experience_category.save! + respond_to do |format| + format.html { redirect_to(panel_personal_experience_back_end_experience_categorys_url) } + # format.xml { head :ok } + format.js + end + else + flash[:error] = t("experience_category.update_failed") + format.html { render :action => "index" } + end + + end + +end diff --git a/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/back_end/experiences_controller.rb b/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/back_end/experiences_controller.rb new file mode 100644 index 00000000..d9f1e3e0 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/back_end/experiences_controller.rb @@ -0,0 +1,242 @@ +class Panel::PersonalExperience::BackEnd::ExperiencesController < OrbitBackendController + include AdminHelper + include OrbitControllerLib::DivisionForDisable + + before_filter :authenticate_user! + before_filter :force_order_for_visitor,:only=>[:index,:show] + before_filter :force_order_for_user,:except => [:index,:show] + # before_filter :for_app_manager,:except => [:index,:show] + before_filter :only => [ :new,:edit,:update] do |controller| + controller.get_categorys('ExperienceCategory') + end + + def index + + get_categorys("ExperienceCategory",params[:experience_category_ids]) + @filter = params[:filter] + new_filter = params[:new_filter] + + if @filter && params[:clear] + @filter.delete(params[:type]) + elsif @filter && new_filter + if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s) + @filter[new_filter[:type]].delete(new_filter[:id].to_s) + elsif @filter.has_key?(new_filter[:type]) + @filter[new_filter[:type]] << new_filter[:id].to_s + else + @filter.merge!({new_filter[:type] => [new_filter[:id].to_s]}) + end + elsif new_filter + @filter = {new_filter[:type] => [new_filter[:id].to_s]} + end + + @experience_categorys = get_categories_for_index("ExperienceCategory") + @experience_category_ids = @experience_categorys.collect{|t| t.id.to_s} + [nil] + + + @experiences = (params[:sort] || @filter) ? get_sorted_and_filtered("experience",:experience_category_id.in => @experience_category_ids) : get_viewable("experience",:experience_category_id.in => @experience_category_ids) + + get_tags + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @experiences } + format.js + end + end + + def experience_setting + + @experience_types = ExperienceCategory.all + + get_tags + + @set_experience_type = ExperienceCategory.new(:display => 'List') + @experience_type_url = panel_personal_experience_back_end_experiences_path + + + end + + def experience_category_quick_add + @set_experience_type = ExperienceCategory.new(:display => 'List') + @experience_type_url = panel_personal_experience_back_end_experiences_path + @set_experience_type.id = params[:id] + + respond_to do |format| + format.js + end + + end + + def experience_category_quick_edit + + @set_experience_type = ExperienceCategory.find(params[:experience_id]) + @experience_type_url = panel_personal_experience_back_end_experience_path(@set_experience_type) + + respond_to do |format| + format.js + end + end + + # GET /experiences/1 + # GET /experiences/1.xml + def show + @experience = Experience.find(params[:id]) + respond_to do |format| + format.html # show.html.erb + format.xml { render :xml => @experience } + end + end + + # GET /experiences/new + # GET /experiences/new.xml + def new + + @experience = Experience.new + @experience_categorys = ExperienceCategory.all + + get_tags + + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @experience } + end + end + + # GET /experiences/1/edit + def edit + @experience = Experience.find(params[:id]) + + @experience_types = ExperienceCategory.all + + get_tags + end + + # POST /experiences + # POST /experiences.xml + def create + + if params[:experience_category] + + @experience_category = ExperienceCategory.new(params[:experience_category]) + + respond_to do |format| + if @experience_category.save + format.js { render 'create_experience_setting' } + end + end + + else + + @experience_types = ExperienceCategory.all + get_tags + + @experience = Experience.new(params[:experience]) + + @experience.create_user_id = current_user.id + @experience.update_user_id = current_user.id + + respond_to do |format| + if @experience.save + format.html { redirect_to(panel_personal_experience_back_end_experiences_url) } + format.xml { render :xml => @experience, :status => :created, :location => @experience } + else + format.html { render :action => "new" } + format.xml { render :xml => @experience.errors, :status => :unprocessable_entity } + end + end + end + + end + + # PUT /experiences/1 + # PUT /experiences/1.xml + def update + + if params[:experience_category] + + @experience_category = ExperienceCategory.find(params[:id]) + + respond_to do |format| + + if @experience_category.update_attributes(params[:experience_category]) + # format.html { redirect_to(panel_announcement_back_end_bulletins_url) } + format.js { render 'update_experience_setting' } + end + end + + else + + @experience = Experience.find(params[:id]) + + @experience.update_user_id = current_user.id + + params[:experience][:tag_ids] ||=[] + + respond_to do |format| + if @experience.update_attributes(params[:experience]) + format.html { redirect_to(panel_personal_experience_back_end_experiences_url) } + # format.js { render 'toggle_enable' } + format.xml { head :ok } + else + format.html { render :action => "edit" } + format.xml { render :xml => @experience.errors, :status => :unprocessable_entity } + end + end + end + + end + + # DELETE /experiences/1 + # DELETE /experiences/1.xml + def destroy + @experience = Experience.find(params[:id]) + @experience.destroy + + respond_to do |format| + format.html { redirect_to(panel_personal_experience_back_end_experiences_url) } + # format.xml { head :ok } + format.js + end + end + + def delete + if params[:ids] + experiences = Experience.any_in(:_id => params[:ids]).delete_all + end + redirect_to panel_personal_experience_back_end_experiences_url(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]) + end + + protected + + + # def get_index_categories(id = nil) + # @bulletin_categorys = [] + # if(is_manager? || is_admin?) + # @bulletin_categorys = (id ? BulletinCategory.admin_manager_all.find(id).to_a : BulletinCategory.admin_manager_all) + # elsif is_sub_manager? + # @bulletin_categorys = BulletinCategory.all + # end + # @bulletin_categorys + # end + + + # def get_categorys(id = nil) + # @experience_categorys = [] + # if(is_manager? || is_admin?) + # @experience_categorys = (id ? ExperienceCategory.admin_manager_all.find(id).to_a : ExperienceCategory.admin_manager_all)) + # elsif is_sub_manager? + # @experience_categorys = ExperienceCategory.all.authed_for_user(current_user,'edit') + # end + # if @experience_categorys.empty? && params[:action] != "index" + # flash[:alert] = t("announcement.error.no_avilb_cate_for_posting") + # redirect_to :action => :index + # end + # end + + def get_tags + module_app = ModuleApp.first(:conditions => {:key => 'personal_experience'}) + @tags = Tag.all(:conditions => {:module_app_id => module_app.id}) + end + +end diff --git a/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/back_end/tags_controller.rb b/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/back_end/tags_controller.rb new file mode 100644 index 00000000..9e58b3d4 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/back_end/tags_controller.rb @@ -0,0 +1,8 @@ +class Panel::PersonalExperience::BackEnd::TagsController < Admin::TagsController + + def initialize + super + @app_title = 'personal_experience' + end + +end diff --git a/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/plugin/experiences_controller.rb b/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/plugin/experiences_controller.rb new file mode 100644 index 00000000..5d6c5c9a --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/controllers/panel/personal_experience/plugin/experiences_controller.rb @@ -0,0 +1,241 @@ +class Panel::PersonalExperience::Plugin::ExperiencesController < OrbitBackendController + include AdminHelper + include OrbitControllerLib::DivisionForDisable + + before_filter :authenticate_user! + before_filter :force_order_for_visitor,:only=>[:index,:show] + before_filter :force_order_for_user,:except => [:index,:show] + # before_filter :for_app_manager,:except => [:index,:show] + before_filter :only => [ :new,:edit,:update] do |controller| + controller.get_categorys('ExperienceCategory') + end + + def index + + get_categorys("ExperienceCategory",params[:experience_category_ids]) + @filter = params[:filter] + new_filter = params[:new_filter] + + if @filter && params[:clear] + @filter.delete(params[:type]) + elsif @filter && new_filter + if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s) + @filter[new_filter[:type]].delete(new_filter[:id].to_s) + elsif @filter.has_key?(new_filter[:type]) + @filter[new_filter[:type]] << new_filter[:id].to_s + else + @filter.merge!({new_filter[:type] => [new_filter[:id].to_s]}) + end + elsif new_filter + @filter = {new_filter[:type] => [new_filter[:id].to_s]} + end + + @experience_categorys = get_categories_for_index("ExperienceCategory") + @experience_category_ids = @experience_categorys.collect{|t| t.id.to_s} + [nil] + + @experiences = (params[:sort] || @filter) ? get_sorted_and_filtered("experience",:create_user_id => current_user.id) : get_viewable("experience", :create_user_id => current_user.id) + + get_tags + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @experiences } + format.js + end + end + + def experience_setting + + @experience_types = ExperienceCategory.all + + get_tags + + @set_experience_type = ExperienceCategory.new(:display => 'List') + @experience_type_url = panel_personal_experience_plugin_experiences_path + + + end + + def experience_category_quick_add + @set_experience_type = ExperienceCategory.new(:display => 'List') + @experience_type_url = panel_personal_experience_plugin_experiences_path + @set_experience_type.id = params[:id] + + respond_to do |format| + format.js + end + + end + + def experience_category_quick_edit + + @set_experience_type = ExperienceCategory.find(params[:experience_id]) + @experience_type_url = panel_personal_experience_plugin_experience_path(@set_experience_type) + + respond_to do |format| + format.js + end + end + + # GET /experiences/1 + # GET /experiences/1.xml + def show + @experience = Experience.find(params[:id]) + respond_to do |format| + format.html # show.html.erb + format.xml { render :xml => @experience } + end + end + + # GET /experiences/new + # GET /experiences/new.xml + def new + + @experience = Experience.new + @experience_categorys = ExperienceCategory.all + + get_tags + + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @experience } + end + end + + # GET /experiences/1/edit + def edit + @experience = Experience.find(params[:id]) + + @experience_types = ExperienceCategory.all + + get_tags + end + + # POST /experiences + # POST /experiences.xml + def create + + if params[:experience_category] + + @experience_category = ExperienceCategory.new(params[:experience_category]) + + respond_to do |format| + if @experience_category.save + format.js { render 'create_experience_setting' } + end + end + + else + + @experience_types = ExperienceCategory.all + get_tags + + @experience = Experience.new(params[:experience]) + + @experience.create_user_id = current_user.id + @experience.update_user_id = current_user.id + + respond_to do |format| + if @experience.save + format.html { redirect_to(panel_personal_experience_plugin_experiences_url) } + format.xml { render :xml => @experience, :status => :created, :location => @experience } + else + format.html { render :action => "new" } + format.xml { render :xml => @experience.errors, :status => :unprocessable_entity } + end + end + end + + end + + # PUT /experiences/1 + # PUT /experiences/1.xml + def update + + if params[:experience_category] + + @experience_category = ExperienceCategory.find(params[:id]) + + respond_to do |format| + + if @experience_category.update_attributes(params[:experience_category]) + # format.html { redirect_to(panel_announcement_plugin_bulletins_url) } + format.js { render 'update_experience_setting' } + end + end + + else + + @experience = Experience.find(params[:id]) + + @experience.update_user_id = current_user.id + + params[:experience][:tag_ids] ||=[] + + respond_to do |format| + if @experience.update_attributes(params[:experience]) + format.html { redirect_to(panel_personal_experience_plugin_experiences_url) } + # format.js { render 'toggle_enable' } + format.xml { head :ok } + else + format.html { render :action => "edit" } + format.xml { render :xml => @experience.errors, :status => :unprocessable_entity } + end + end + end + + end + + # DELETE /experiences/1 + # DELETE /experiences/1.xml + def destroy + @experience = Experience.find(params[:id]) + @experience.destroy + + respond_to do |format| + format.html { redirect_to(panel_personal_experience_plugin_experiences_url) } + # format.xml { head :ok } + format.js + end + end + + def delete + if params[:ids] + experiences = Experience.any_in(:_id => params[:ids]).delete_all + end + redirect_to panel_personal_experience_plugin_experiences_url(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]) + end + + protected + + + # def get_index_categories(id = nil) + # @bulletin_categorys = [] + # if(is_manager? || is_admin?) + # @bulletin_categorys = (id ? BulletinCategory.admin_manager_all.find(id).to_a : BulletinCategory.admin_manager_all) + # elsif is_sub_manager? + # @bulletin_categorys = BulletinCategory.all + # end + # @bulletin_categorys + # end + + + # def get_categorys(id = nil) + # @experience_categorys = [] + # if(is_manager? || is_admin?) + # @experience_categorys = (id ? ExperienceCategory.admin_manager_all.find(id).to_a : ExperienceCategory.admin_manager_all)) + # elsif is_sub_manager? + # @experience_categorys = ExperienceCategory.all.authed_for_user(current_user,'edit') + # end + # if @experience_categorys.empty? && params[:action] != "index" + # flash[:alert] = t("announcement.error.no_avilb_cate_for_posting") + # redirect_to :action => :index + # end + # end + + def get_tags + module_app = ModuleApp.first(:conditions => {:key => 'personal_experience'}) + @tags = Tag.all(:conditions => {:module_app_id => module_app.id}) + end + +end diff --git a/vendor/built_in_modules/personal_experience/app/helpers/.gitkeep b/vendor/built_in_modules/personal_experience/app/helpers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_experience/app/mailers/.gitkeep b/vendor/built_in_modules/personal_experience/app/mailers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_experience/app/models/.gitkeep b/vendor/built_in_modules/personal_experience/app/models/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_experience/app/models/experience.rb b/vendor/built_in_modules/personal_experience/app/models/experience.rb new file mode 100644 index 00000000..1e3acfc3 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/models/experience.rb @@ -0,0 +1,94 @@ +# encoding: utf-8 + +class Experience + include Mongoid::Document + include Mongoid::Timestamps + include Mongoid::MultiParameterAttributes + + # scope :available_for_lang, ->(locale){ where("available_for_#{locale}".to_sym => true) } + + LANGUAGE_TYPES = [ "English", "Chinese" ] + + + field :organizationt_title, localize: true + field :department, localize: true + field :job_title, localize: true + + has_and_belongs_to_many :tags, :class_name => "PersonalExperienceTag" + + belongs_to :experience_category + + field :language + field :start_date , :type => Date + field :end_date , :type => Date + field :keywords + field :url + field :note + field :create_user_id + field :update_user_id + + # field :is_top, :type => Boolean, :default => false + # field :is_hot, :type => Boolean, :default => false + # field :is_hidden, :type => Boolean, :default => false + + + # before_save :update_avliable_language, :clean_checkboxs + + validates :organizationt_title, :at_least_one => true + + before_validation :add_http + + validates :url, :format => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix, :unless => Proc.new{self.url.blank?} + + def self.search( category_id = nil ) + + if category_id.to_s.size > 0 + + find(:all, :conditions => {experience_category_id: category_id}).desc( :is_top, :title ) + + else + + find(:all).desc( :is_top, :title) + + end + + end + + + def self.widget_datas + + where( :is_hidden => false ).desc(:is_top, :created_at) + + end + + def is_top? + self.is_top + end + + def sorted_tags + tags.order_by(I18n.locale, :asc) + end + + def update_avliable_language + VALID_LOCALES.each do |locale| + if (title_translations[locale].blank? rescue true) + self["available_for_#{locale}".to_sym] = false + else + self["available_for_#{locale}".to_sym] = true + end + end + end + + protected + + def add_http + unless self.url.blank? || self.url[/^http:\/\//] || self.url[/^https:\/\//] + self.url = 'http://' + self.url + end + end + + def clean_checkboxs + self.tag_ids.delete('') + end + +end \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/app/models/experience_category.rb b/vendor/built_in_modules/personal_experience/app/models/experience_category.rb new file mode 100644 index 00000000..da7b318f --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/models/experience_category.rb @@ -0,0 +1,24 @@ +# encoding: utf-8 + +class ExperienceCategory + include Mongoid::Document + include Mongoid::Timestamps + include OrbitCoreLib::ObjectAuthable + include OrbitCoreLib::ObjectDisable + # include Mongoid::MultiParameterAttributes + AfterObjectAuthUrl = '/panel/personal_experience/back_end/experience_categorys' + APP_NAME = 'experience' + # ObjectAuthTitlesOptions = %W{edit} + ObjectAuthTitlesOptions = %W{submit_new fact_check} + + field :key + + field :title, localize: true + + has_many :experiences + + def pp_object + title + end + +end \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/app/models/personal_experience_tag.rb b/vendor/built_in_modules/personal_experience/app/models/personal_experience_tag.rb new file mode 100644 index 00000000..815a0a58 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/models/personal_experience_tag.rb @@ -0,0 +1,9 @@ +class PersonalExperienceTag < Tag + + has_and_belongs_to_many :experiences + + def get_visible_links(sort = :title) + self.experiences.where(:is_hidden => false).desc(:is_top, sort) + end + +end \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/app/views/.gitkeep b/vendor/built_in_modules/personal_experience/app/views/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/_experience_category.html.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/_experience_category.html.erb new file mode 100644 index 00000000..9ccb7222 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/_experience_category.html.erb @@ -0,0 +1,22 @@ + + + + <%= writing_book_category.key %> +
+ +
+ + <% if @types.is_localized?(:title) %> + <% @site_valid_locales.each do |locale| %> + <%= writing_book_category.title_translations[locale] rescue nil %> + <% end %> + <% else %> + <%= writing_book_category.title %> + <% end %> + diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/_form.html.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/_form.html.erb new file mode 100644 index 00000000..7394aff7 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/_form.html.erb @@ -0,0 +1,44 @@ +<% # encoding: utf-8 %> + +<%= form_for(:writing_book_category, :remote => true, :url => @url, :method => @verb, :html => { :id => 'form_writing_book_category' } ) do |f| %> + +

<%= (@writing_book_category.new_record? ? 'Add' : 'Edit') %>

+ +
+ <%= f.label :key %> + <%= f.text_field :key %> +
+ +
+ <% if @types.is_localized?(:title) %> + <%= f.fields_for :title_translations do |f| %> + <% @site_valid_locales.each do |locale| %> +
+ <%= label_tag "name-#{locale}", "Name-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %> +
+ <%= f.text_field locale, :class => 'input-xxlarge', :value => (@writing_book_category.title_translations[locale] rescue nil) %> +
+
+ <% end %> + <% end %> + <% else %> +
+ <%= f.label :title %> + <%= f.text_field :title %> +
+ <% end %> +
+ +
+ <%#= f.label :display %> + <%#= f.radio_button :display, "List" List%> + <%#= f.radio_button :display, "Picture" Picture%> + <%#
顯示方式是設定在前台頁面時,資訊所呈現的樣式 %> +
+ +
+ <%= f.submit t('submit'), :class=>'btn btn-primary' %> +
+ +<% end %> + \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/_quick_edit_qe.html.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/_quick_edit_qe.html.erb new file mode 100644 index 00000000..005ae64e --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/_quick_edit_qe.html.erb @@ -0,0 +1,28 @@ +<% # encoding: utf-8 %> + +
+ +
+ <%= f.label :key %> + <%= f.text_field :key %> +
+
+ <%= f.fields_for :title_translations do |f| %> + <% @site_valid_locales.each do |locale| %> +
+ <%= label_tag "title-#{locale}", "Title-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %> +
+ <%= f.text_field locale, :class => 'input-xxlarge', :value => (news_bulletin_category.title_translations[locale] rescue nil) %> +
+
+ <% end %> + <% end %> +
+ +
+ <%= f.label :display %> + <%= f.radio_button :display, "List" %>List + <%= f.radio_button :display, "Picture" %>Picture +
顯示方式是設定在前台頁面時,資訊所呈現的樣式 +
+
diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/create.js.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/create.js.erb new file mode 100644 index 00000000..f4d09b48 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/create.js.erb @@ -0,0 +1,2 @@ +$('<%= j render :partial => 'writing_book_category', :collection => [@writing_book_category] %>').appendTo('#writing_book_categorys').hide().fadeIn(); +$("#form_writing_book_category")[0].reset(); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/destroy.js.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/destroy.js.erb new file mode 100644 index 00000000..f68fdd4a --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/destroy.js.erb @@ -0,0 +1 @@ +$("#<%= dom_id @writing_book_category %>").find(".archive_toggle").text("<%= show_toggle_archive_btn(@writing_book_category) %> "); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/edit.html.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/edit.html.erb new file mode 100644 index 00000000..3d28ceda --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/edit.html.erb @@ -0,0 +1,7 @@ +

<%= t('personal_book.editing_personal_book_class') %>

+ +<%= form_for @writing_book_category, :url => panel_personal_book_back_end_writing_book_category_path(@writing_book_category) do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> + +<%= link_back %> diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/edit.js.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/edit.js.erb new file mode 100644 index 00000000..eaff01fa --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/edit.js.erb @@ -0,0 +1 @@ +$("#form > form").replaceWith("<%= j render "form" %>"); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/index.html.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/index.html.erb new file mode 100644 index 00000000..92208be8 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/index.html.erb @@ -0,0 +1,29 @@ + +<%= flash_messages %> + +<%= @types %> + + + + + + <% if @types.is_localized?(:title) %> + <% @site_valid_locales.each do |locale| %> + + <% end %> + <% else %> + + <% end %> + + + + + <%= render :partial => 'writing_book_category', :collection => @writing_book_categorys %> + + +
<%= t('writing_book_category.key') %><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %><%= t('writing_book_category.title') %>
+ +
<%= render :partial => "form" if is_manager? %>
+ + + diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/new.html.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/new.html.erb new file mode 100644 index 00000000..46d036bb --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/new.html.erb @@ -0,0 +1,19 @@ +<% content_for :secondary do %> +<%= render :partial => '/panel/personal_book/back_end/personal_book_secondary' %> +<% end -%> + +<%= flash_messages %> + +
+
+
+
+
+ +

<%= t('writing_book_category.new_personal_book_class') %>

+<%= form_for @writing_book_category, :url => panel_personal_book_back_end_writing_book_categorys_path do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> + +<%= link_back %> + diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/new.js.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/new.js.erb new file mode 100644 index 00000000..40061b9f --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/new.js.erb @@ -0,0 +1 @@ +$("#form > form").replaceWith("<%= j render "form" %>"); diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/update.js.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/update.js.erb new file mode 100644 index 00000000..eeb31070 --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experience_categorys/update.js.erb @@ -0,0 +1,4 @@ +$("#<%= dom_id @writing_book_category %>").replaceWith("<%= j render :partial => 'writing_book_category', :collection => [@writing_book_category] %>"); +<% @writing_book_category = @types.new(:display => 'List') # reset for new form %> +$("#form_writing_book_category").replaceWith("<%= j render "form" %>") +$("#form_writing_book_category")[0].reset(); \ No newline at end of file diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experiences/_experience.html.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experiences/_experience.html.erb new file mode 100644 index 00000000..9ae44ddb --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experiences/_experience.html.erb @@ -0,0 +1,23 @@ + + + <% if (experience.create_user_id == current_user.id) || is_manager? %> + <%= check_box_tag 'to_delete[]', experience.id, false, :class => "checkbox_in_list" %> + <% end -%> + + <%= experience.start_date.strftime("%Y.%m") %> ~ <%= experience.end_date.strftime("%Y.%m") %> + + <%= link_to experience.organizationt_title, panel_personal_experience_front_end_experience_path(experience) %> +
+ +
+ + <%= experience.department %> + <%= experience.job_title %> + <%= User.from_id(experience.create_user_id).name rescue ''%> + + diff --git a/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experiences/_experience_type_qe.html.erb b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experiences/_experience_type_qe.html.erb new file mode 100644 index 00000000..afacfd8f --- /dev/null +++ b/vendor/built_in_modules/personal_experience/app/views/panel/personal_experience/back_end/experiences/_experience_type_qe.html.erb @@ -0,0 +1,34 @@ +<% # encoding: utf-8 %> + +<%= form_for(@set_experience_type, :remote => true, :url => @experience_type_url ) do |f| %> + + +