lesli_calendar 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/lesli_calendar/application.js +1 -4658
- data/app/assets/stylesheets/lesli_calendar/application.css +1 -604
- data/app/controllers/lesli_calendar/agendas_controller.rb +60 -0
- data/app/controllers/lesli_calendar/calendars_controller.rb +1 -1
- data/app/helpers/lesli_calendar/agendas_helper.rb +4 -0
- data/app/models/lesli_calendar/agenda.rb +5 -0
- data/app/models/lesli_calendar/calendar.rb +1 -0
- data/app/models/lesli_calendar/event.rb +3 -2
- data/app/services/lesli_calendar/calendar_service.rb +14 -2
- data/app/services/lesli_calendar/event_service.rb +57 -0
- data/app/views/lesli_calendar/agendas/edit.html.erb +10 -0
- data/app/views/lesli_calendar/agendas/index.html.erb +14 -0
- data/app/views/lesli_calendar/agendas/new.html.erb +9 -0
- data/app/views/lesli_calendar/agendas/show.html.erb +1 -0
- data/app/views/lesli_calendar/partials/_engine-navigation.html.erb +3 -2
- data/config/locales/translations.en.yml +2 -0
- data/config/locales/translations.es.yml +2 -0
- data/config/locales/translations.fr.yml +2 -0
- data/config/locales/translations.it.yml +2 -0
- data/config/locales/translations.pt.yml +2 -0
- data/config/routes.rb +3 -0
- data/db/migrate/v1.0/0301110110_create_lesli_calendar_events.rb +3 -3
- data/db/seed/development.rb +58 -9
- data/db/seed/seeds.json +83 -0
- data/db/seeds.rb +1 -1
- data/lib/lesli_calendar/version.rb +2 -2
- data/lib/scss/agenda.scss +101 -0
- data/lib/scss/application.scss +11 -0
- data/lib/scss/calendar.scss +9 -55
- data/lib/scss/dashboard.scss +31 -0
- data/lib/vue/application.js +9 -1
- data/lib/vue/apps/agendas/show.vue +71 -0
- data/lib/vue/apps/calendars/show.vue +26 -20
- data/lib/vue/apps/dashboards/show.vue +102 -0
- data/lib/vue/components/agenda.vue +75 -54
- data/lib/vue/components/calendar.vue +38 -5
- data/lib/vue/stores/calendar.js +3 -19
- data/lib/vue/stores/translations.json +10 -0
- metadata +15 -4
- data/app/views/lesli_calendar/calendars/_calendar.html.erb +0 -2
- data/app/views/lesli_calendar/calendars/_form.html.erb +0 -17
@@ -0,0 +1,60 @@
|
|
1
|
+
module LesliCalendar
|
2
|
+
class AgendasController < ApplicationController
|
3
|
+
before_action :set_agenda, only: %i[ show edit update destroy ]
|
4
|
+
|
5
|
+
# GET /agendas
|
6
|
+
def index
|
7
|
+
@agendas = Agenda.all
|
8
|
+
end
|
9
|
+
|
10
|
+
# GET /agendas/1
|
11
|
+
def show
|
12
|
+
end
|
13
|
+
|
14
|
+
# GET /agendas/new
|
15
|
+
def new
|
16
|
+
@agenda = Agenda.new
|
17
|
+
end
|
18
|
+
|
19
|
+
# GET /agendas/1/edit
|
20
|
+
def edit
|
21
|
+
end
|
22
|
+
|
23
|
+
# POST /agendas
|
24
|
+
def create
|
25
|
+
@agenda = Agenda.new(agenda_params)
|
26
|
+
|
27
|
+
if @agenda.save
|
28
|
+
redirect_to @agenda, notice: "Agenda was successfully created."
|
29
|
+
else
|
30
|
+
render :new, status: :unprocessable_entity
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
# PATCH/PUT /agendas/1
|
35
|
+
def update
|
36
|
+
if @agenda.update(agenda_params)
|
37
|
+
redirect_to @agenda, notice: "Agenda was successfully updated.", status: :see_other
|
38
|
+
else
|
39
|
+
render :edit, status: :unprocessable_entity
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# DELETE /agendas/1
|
44
|
+
def destroy
|
45
|
+
@agenda.destroy
|
46
|
+
redirect_to agendas_url, notice: "Agenda was successfully destroyed.", status: :see_other
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
# Use callbacks to share common setup or constraints between actions.
|
51
|
+
def set_agenda
|
52
|
+
#@agenda = Agenda.find(params[:id])
|
53
|
+
end
|
54
|
+
|
55
|
+
# Only allow a list of trusted parameters through.
|
56
|
+
def agenda_params
|
57
|
+
params.fetch(:agenda, {})
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -55,7 +55,7 @@ module LesliCalendar
|
|
55
55
|
def set_calendar
|
56
56
|
|
57
57
|
if params[:id].blank? || params[:id] == "default"
|
58
|
-
@calendar = CalendarService.new(current_user).find_default
|
58
|
+
@calendar = CalendarService.new(current_user,query).find_default
|
59
59
|
elsif params[:id]
|
60
60
|
@calendar = CalendarService.new(current_user).find(params[:id])
|
61
61
|
end
|
@@ -43,13 +43,25 @@ module LesliCalendar
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def show()
|
46
|
+
|
46
47
|
# Calendar data
|
47
48
|
calendar_data = {
|
48
49
|
id: self.resource.id,
|
49
50
|
name: self.resource.name,
|
50
51
|
user_id: self.resource.user_id,
|
51
|
-
events:
|
52
|
-
events_support: LesliSupport::TicketService.new(current_user)
|
52
|
+
events: EventService.new(current_user, query).index(),
|
53
|
+
events_support: ::LesliSupport::TicketService.new(current_user, query)
|
54
|
+
.index_with_deadline.map do |ticket|
|
55
|
+
{
|
56
|
+
id: ticket.id,
|
57
|
+
title: ticket.subject,
|
58
|
+
deadline: ticket.deadline,
|
59
|
+
description: ticket.description,
|
60
|
+
date: ticket.deadline,
|
61
|
+
start: ticket.deadline,
|
62
|
+
classNames: 'lesli-support'
|
63
|
+
}
|
64
|
+
end
|
53
65
|
}
|
54
66
|
end
|
55
67
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
Lesli
|
4
|
+
|
5
|
+
Copyright (c) 2023, Lesli Technologies, S. A.
|
6
|
+
|
7
|
+
This program is free software: you can redistribute it and/or modify
|
8
|
+
it under the terms of the GNU General Public License as published by
|
9
|
+
the Free Software Foundation, either version 3 of the License, or
|
10
|
+
(at your option) any later version.
|
11
|
+
|
12
|
+
This program is distributed in the hope that it will be useful,
|
13
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
+
GNU General Public License for more details.
|
16
|
+
|
17
|
+
You should have received a copy of the GNU General Public License
|
18
|
+
along with this program. If not, see http://www.gnu.org/licenses/.
|
19
|
+
|
20
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
21
|
+
|
22
|
+
Made with ♥ by https://www.lesli.tech
|
23
|
+
Building a better future, one line of code at a time.
|
24
|
+
|
25
|
+
@contact hello@lesli.tech
|
26
|
+
@website https://www.lesli.tech
|
27
|
+
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
28
|
+
|
29
|
+
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
30
|
+
// ·
|
31
|
+
=end
|
32
|
+
|
33
|
+
module LesliCalendar
|
34
|
+
class EventService < Lesli::ApplicationLesliService
|
35
|
+
|
36
|
+
def find calendar_id
|
37
|
+
#super(current_user.account.calendar.calendar.find_by(id: calendar_id))
|
38
|
+
super(current_user.account.calendar.calendars.first)
|
39
|
+
end
|
40
|
+
|
41
|
+
def index()
|
42
|
+
events = current_user.account.calendar.calendars.first.events
|
43
|
+
.select(
|
44
|
+
:id,
|
45
|
+
:title,
|
46
|
+
:description,
|
47
|
+
:date,
|
48
|
+
:start,
|
49
|
+
:end,
|
50
|
+
:url,
|
51
|
+
:location,
|
52
|
+
:status,
|
53
|
+
"'lesli-calendar' as classNames"
|
54
|
+
)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<p style="color: green"><%= notice %></p>
|
2
|
+
|
3
|
+
<h1>Agendas</h1>
|
4
|
+
|
5
|
+
<div id="agendas">
|
6
|
+
<% @agendas.each do |agenda| %>
|
7
|
+
<%= render agenda %>
|
8
|
+
<p>
|
9
|
+
<%= link_to "Show this agenda", agenda %>
|
10
|
+
</p>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<%= link_to "New agenda", new_agenda_path %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<router-view></router-view>
|
@@ -32,6 +32,7 @@ Building a better future, one line of code at a time.
|
|
32
32
|
=end
|
33
33
|
%>
|
34
34
|
|
35
|
-
|
36
|
-
<%= navigation_item(lesli_calendar.
|
35
|
+
<%= navigation_item(lesli_calendar.root_path, "Dashboard", "ri-dashboard-3-line"); %>
|
36
|
+
<%= navigation_item(lesli_calendar.calendar_path, "Calendar", "ri-calendar-2-fill") %>
|
37
|
+
<%= navigation_item(lesli_calendar.agenda_path, "Agenda", "ri-calendar-todo-fill") %>
|
37
38
|
<%= navigation_item(lesli_calendar.events_path, "Events", "ri-map-pin-2-line") %>
|
@@ -16,6 +16,8 @@
|
|
16
16
|
button_settings: Settings
|
17
17
|
button_show: Show
|
18
18
|
toolbar_search: Search...
|
19
|
+
message_operation_success: Operation completed successfully
|
20
|
+
message_operation_error: Operation failed. Please try again.
|
19
21
|
application:
|
20
22
|
navigation_logout: Logout
|
21
23
|
navigation_my_profile: My profile
|
@@ -16,6 +16,8 @@
|
|
16
16
|
button_settings: Configuración
|
17
17
|
button_show: Ver
|
18
18
|
toolbar_search: Buscar...
|
19
|
+
message_operation_success: Operacion realizada satisfactoriamente
|
20
|
+
message_operation_error: Operación fallida. Por favor, inténtelo de nuevo.
|
19
21
|
application:
|
20
22
|
navigation_logout: Cerrar sesión
|
21
23
|
navigation_my_profile: Mi perfil
|
@@ -16,6 +16,8 @@
|
|
16
16
|
button_settings: ":lesli.shared.button_settings:"
|
17
17
|
button_show: ":lesli.shared.button_show:"
|
18
18
|
toolbar_search: ":lesli.shared.toolbar_search:"
|
19
|
+
message_operation_success: ":lesli.shared.message_operation_success:"
|
20
|
+
message_operation_error: ":lesli.shared.message_operation_error:"
|
19
21
|
application:
|
20
22
|
navigation_logout: ":lesli.application.navigation_logout:"
|
21
23
|
navigation_my_profile: ":lesli.application.navigation_my_profile:"
|
@@ -16,6 +16,8 @@
|
|
16
16
|
button_settings: ":lesli.shared.button_settings:"
|
17
17
|
button_show: ":lesli.shared.button_show:"
|
18
18
|
toolbar_search: ":lesli.shared.toolbar_search:"
|
19
|
+
message_operation_success: ":lesli.shared.message_operation_success:"
|
20
|
+
message_operation_error: ":lesli.shared.message_operation_error:"
|
19
21
|
application:
|
20
22
|
navigation_logout: ":lesli.application.navigation_logout:"
|
21
23
|
navigation_my_profile: ":lesli.application.navigation_my_profile:"
|
@@ -16,6 +16,8 @@
|
|
16
16
|
button_settings: ":lesli.shared.button_settings:"
|
17
17
|
button_show: ":lesli.shared.button_show:"
|
18
18
|
toolbar_search: ":lesli.shared.toolbar_search:"
|
19
|
+
message_operation_success: ":lesli.shared.message_operation_success:"
|
20
|
+
message_operation_error: ":lesli.shared.message_operation_error:"
|
19
21
|
application:
|
20
22
|
navigation_logout: ":lesli.application.navigation_logout:"
|
21
23
|
navigation_my_profile: ":lesli.application.navigation_my_profile:"
|
data/config/routes.rb
CHANGED
@@ -34,9 +34,9 @@ class CreateLesliCalendarEvents < ActiveRecord::Migration[6.0]
|
|
34
34
|
create_table :lesli_calendar_events do |t|
|
35
35
|
t.string :title, required: true
|
36
36
|
t.string :description
|
37
|
-
t.date :date
|
38
|
-
t.
|
39
|
-
t.
|
37
|
+
t.date :date # migrate to start column
|
38
|
+
t.datetime :start
|
39
|
+
t.datetime :end
|
40
40
|
t.string :url
|
41
41
|
t.string :location
|
42
42
|
t.string :status # proposal, draft
|
data/db/seed/development.rb
CHANGED
@@ -1,17 +1,66 @@
|
|
1
1
|
=begin
|
2
2
|
|
3
|
-
|
3
|
+
Lesli
|
4
4
|
|
5
|
-
|
6
|
-
industrial property, intellectual property, copyright and relative international laws.
|
7
|
-
All intellectual or industrial property rights of the code, texts, trade mark, design,
|
8
|
-
pictures and any other information belongs to the owner of this platform.
|
5
|
+
Copyright (c) 2023, Lesli Technologies, S. A.
|
9
6
|
|
10
|
-
|
11
|
-
|
7
|
+
This program is free software: you can redistribute it and/or modify
|
8
|
+
it under the terms of the GNU General Public License as published by
|
9
|
+
the Free Software Foundation, either version 3 of the License, or
|
10
|
+
(at your option) any later version.
|
12
11
|
|
13
|
-
|
12
|
+
This program is distributed in the hope that it will be useful,
|
13
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
+
GNU General Public License for more details.
|
14
16
|
|
15
|
-
|
17
|
+
You should have received a copy of the GNU General Public License
|
18
|
+
along with this program. If not, see http://www.gnu.org/licenses/.
|
19
|
+
|
20
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
21
|
+
|
22
|
+
Made with ♥ by https://www.lesli.tech
|
23
|
+
Building a better future, one line of code at a time.
|
24
|
+
|
25
|
+
@contact hello@lesli.tech
|
26
|
+
@website https://www.lesli.tech
|
27
|
+
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
28
|
+
|
29
|
+
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
16
30
|
// ·
|
17
31
|
=end
|
32
|
+
|
33
|
+
|
34
|
+
# ·
|
35
|
+
require "json"
|
36
|
+
|
37
|
+
# ·
|
38
|
+
file = File.open(LesliCalendar::Engine.root.join("db", "seed", "seeds.json")).read
|
39
|
+
seeds = JSON.parse(file)
|
40
|
+
|
41
|
+
# ·
|
42
|
+
current_user = ::Lesli::User.first
|
43
|
+
calendar = LesliCalendar::Calendar.first
|
44
|
+
|
45
|
+
# ·
|
46
|
+
seeds["events"].each_with_index do |event, index|
|
47
|
+
|
48
|
+
# Start events from 10 days ago
|
49
|
+
event_date = (index - 10).days.from_now
|
50
|
+
|
51
|
+
#
|
52
|
+
LesliCalendar::Event.create!({
|
53
|
+
title: event["title"],
|
54
|
+
description: event["description"],
|
55
|
+
date: event_date,
|
56
|
+
start: event_date,
|
57
|
+
end: event_date,
|
58
|
+
url: "",
|
59
|
+
location: event["location"],
|
60
|
+
status: "",
|
61
|
+
public: true,
|
62
|
+
calendar: calendar,
|
63
|
+
# user: current_user
|
64
|
+
})
|
65
|
+
end
|
66
|
+
|
data/db/seed/seeds.json
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
{
|
2
|
+
"events": [{
|
3
|
+
"title": "Birthday party",
|
4
|
+
"description": "Join us to celebrate John's milestone 30th birthday! We'll have a fun-filled evening with music, games, delicious food, and great company. Don't miss out on the birthday cake and the chance to make unforgettable memories. Please RSVP by [RSVP Date] to let us know if you can make it. Looking forward to seeing you there!",
|
5
|
+
"location": "Guatemala"
|
6
|
+
}, {
|
7
|
+
"title": "Wedding Celebration",
|
8
|
+
"description": "Come and join us to celebrate the wedding of Alice and Bob! There will be a beautiful ceremony followed by a grand reception with dinner, dancing, and live music. Don't miss this special event and the opportunity to wish the couple a happy married life. Please RSVP by [RSVP Date].",
|
9
|
+
"location": "Paris, France"
|
10
|
+
}, {
|
11
|
+
"title": "Company Annual Meeting",
|
12
|
+
"description": "Attend the annual meeting of our company where we will discuss our achievements, future goals, and strategies. This is a great opportunity to meet and network with colleagues and industry experts. Refreshments will be provided. Please confirm your attendance by [RSVP Date].",
|
13
|
+
"location": "New York, USA"
|
14
|
+
}, {
|
15
|
+
"title": "Music Concert",
|
16
|
+
"description": "Experience an unforgettable night of live music at our annual concert event! Featuring performances by top artists and bands. There will be food trucks, merchandise stalls, and more. Grab your tickets now and join us for an evening of fantastic music and fun. Gates open at 6 PM.",
|
17
|
+
"location": "Los Angeles, USA"
|
18
|
+
}, {
|
19
|
+
"title": "Art Exhibition",
|
20
|
+
"description": "Join us for an exclusive preview of the new art exhibition at the city gallery. Discover stunning artworks from local and international artists. The event includes a welcome drink and a chance to meet the artists. RSVP by [RSVP Date] to secure your spot.",
|
21
|
+
"location": "London, UK"
|
22
|
+
}, {
|
23
|
+
"title": "Tech Conference",
|
24
|
+
"description": "Don't miss out on the biggest tech conference of the year! Connect with tech enthusiasts, professionals, and innovators. Attend keynote sessions, workshops, and panel discussions on the latest trends and technologies. Register by [RSVP Date] to secure your place.",
|
25
|
+
"location": "San Francisco, USA"
|
26
|
+
}, {
|
27
|
+
"title": "Charity Run",
|
28
|
+
"description": "Participate in our annual charity run to support a great cause! Choose between 5k, 10k, and half-marathon distances. All participants will receive a race pack and medal. Join us for a fun and rewarding day. Sign up by [RSVP Date] to participate.",
|
29
|
+
"location": "Sydney, Australia"
|
30
|
+
}, {
|
31
|
+
"title": "Cooking Workshop",
|
32
|
+
"description": "Join our cooking workshop to learn new recipes and cooking techniques from professional chefs. This hands-on experience will enhance your culinary skills and provide you with delicious dishes to take home. Limited spots available. RSVP by [RSVP Date].",
|
33
|
+
"location": "Rome, Italy"
|
34
|
+
}, {
|
35
|
+
"title": "Book Launch",
|
36
|
+
"description": "Be part of the exciting book launch event for our latest publication! Meet the author, get your copy signed, and enjoy a reading session followed by a Q&A. Refreshments will be served. Confirm your attendance by [RSVP Date] to join us.",
|
37
|
+
"location": "Toronto, Canada"
|
38
|
+
}, {
|
39
|
+
"title": "Science Fair",
|
40
|
+
"description": "Explore the wonders of science at our annual science fair! Engage with interactive exhibits, demonstrations, and experiments. Perfect for families and science enthusiasts of all ages. Entry is free, but please RSVP by [RSVP Date] to help us prepare.",
|
41
|
+
"location": "Berlin, Germany"
|
42
|
+
},{
|
43
|
+
"title": "Film Festival",
|
44
|
+
"description": "Join us for a week-long celebration of cinema at our annual film festival! Enjoy screenings of independent and international films, attend panel discussions, and meet the filmmakers. Don't miss the opening and closing night galas. RSVP by [RSVP Date].",
|
45
|
+
"location": "Cannes, France"
|
46
|
+
},{
|
47
|
+
"title": "Yoga Retreat",
|
48
|
+
"description": "Escape the hustle and bustle of daily life and join us for a rejuvenating yoga retreat. Experience daily yoga sessions, meditation, and wellness workshops in a serene environment. All levels are welcome. Please RSVP by [RSVP Date] to reserve your spot.",
|
49
|
+
"location": "Bali, Indonesia"
|
50
|
+
},{
|
51
|
+
"title": "Food Festival",
|
52
|
+
"description": "Indulge in a culinary adventure at our food festival! Sample dishes from around the world, enjoy live cooking demonstrations, and participate in food tasting sessions. There will be something for every food lover. RSVP by [RSVP Date] to join the feast.",
|
53
|
+
"location": "Barcelona, Spain"
|
54
|
+
},{
|
55
|
+
"title": "Photography Workshop",
|
56
|
+
"description": "Enhance your photography skills with our hands-on workshop led by professional photographers. Learn about composition, lighting, and editing techniques. Perfect for beginners and intermediate photographers. RSVP by [RSVP Date] to secure your spot.",
|
57
|
+
"location": "Tokyo, Japan"
|
58
|
+
},{
|
59
|
+
"title": "Marathon",
|
60
|
+
"description": "Challenge yourself by participating in our annual marathon! Choose from full marathon, half marathon, and 10k races. All participants will receive a race kit and finisher medal. Sign up by [RSVP Date] to join this exciting event.",
|
61
|
+
"location": "Boston, USA"
|
62
|
+
},{
|
63
|
+
"title": "Gardening Workshop",
|
64
|
+
"description": "Learn the secrets of successful gardening at our hands-on workshop. Topics include plant selection, soil preparation, and pest management. Perfect for novice and experienced gardeners alike. RSVP by [RSVP Date] to secure your place.",
|
65
|
+
"location": "Vancouver, Canada"
|
66
|
+
},{
|
67
|
+
"title": "Fashion Show",
|
68
|
+
"description": "Experience the latest trends and styles at our annual fashion show! See the newest collections from top designers and enjoy a night of glamour and entertainment. VIP packages available. RSVP by [RSVP Date] to attend this stylish event.",
|
69
|
+
"location": "Milan, Italy"
|
70
|
+
},{
|
71
|
+
"title": "Business Networking Event",
|
72
|
+
"description": "Expand your professional network at our business networking event. Meet industry leaders, exchange ideas, and build valuable connections. Refreshments will be served. RSVP by [RSVP Date] to confirm your attendance.",
|
73
|
+
"location": "Singapore"
|
74
|
+
},{
|
75
|
+
"title": "Science Fiction Convention",
|
76
|
+
"description": "Join fellow sci-fi enthusiasts at our annual science fiction convention. Enjoy panels, workshops, and meet-and-greet sessions with authors, actors, and creators. Don't miss the costume contest and merchandise stalls. RSVP by [RSVP Date].",
|
77
|
+
"location": "Las Vegas, USA"
|
78
|
+
},{
|
79
|
+
"title": "Charity Gala",
|
80
|
+
"description": "Attend our elegant charity gala to support a worthy cause. Enjoy a night of fine dining, live entertainment, and silent auctions. All proceeds go to our charitable foundation. RSVP by [RSVP Date] to reserve your seat.",
|
81
|
+
"location": "London, UK"
|
82
|
+
}]
|
83
|
+
}
|
data/db/seeds.rb
CHANGED
@@ -21,7 +21,7 @@ For more information read the license file including with this software.
|
|
21
21
|
# you must use the initializer method in the Engine account model
|
22
22
|
if Rails.env.development?
|
23
23
|
L2.msg(
|
24
|
-
"
|
24
|
+
"LesliCalendar",
|
25
25
|
"Version: #{LesliCalendar::VERSION}",
|
26
26
|
"Build: #{LesliCalendar::BUILD}")
|
27
27
|
load LesliCalendar::Engine.root.join("db", "seed", "#{ Rails.env.downcase }.rb")
|
@@ -0,0 +1,101 @@
|
|
1
|
+
/*
|
2
|
+
|
3
|
+
Lesli
|
4
|
+
|
5
|
+
Copyright (c) 2023, Lesli Technologies, S. A.
|
6
|
+
|
7
|
+
This program is free software: you can redistribute it and/or modify
|
8
|
+
it under the terms of the GNU General Public License as published by
|
9
|
+
the Free Software Foundation, either version 3 of the License, or
|
10
|
+
(at your option) any later version.
|
11
|
+
|
12
|
+
This program is distributed in the hope that it will be useful,
|
13
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
+
GNU General Public License for more details.
|
16
|
+
|
17
|
+
You should have received a copy of the GNU General Public License
|
18
|
+
along with this program. If not, see http://www.gnu.org/licenses/.
|
19
|
+
|
20
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
21
|
+
|
22
|
+
Made with ♥ by https://www.lesli.tech
|
23
|
+
Building a better future, one line of code at a time.
|
24
|
+
|
25
|
+
@contact hello@lesli.tech
|
26
|
+
@website https://www.lesli.tech
|
27
|
+
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
28
|
+
|
29
|
+
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
30
|
+
// ·
|
31
|
+
*/
|
32
|
+
|
33
|
+
|
34
|
+
// ·
|
35
|
+
@import "Lesli/scss/templates/component";
|
36
|
+
|
37
|
+
|
38
|
+
// ·
|
39
|
+
$driver-color: #3689e6;
|
40
|
+
$focus-color: #28bca3;
|
41
|
+
$support-color: #a56de2;
|
42
|
+
|
43
|
+
|
44
|
+
// ·
|
45
|
+
.lesli-calendar-agenda {
|
46
|
+
background-color: white;
|
47
|
+
|
48
|
+
h3 {
|
49
|
+
color: lesli-css-color(silver, 900);
|
50
|
+
padding: 14px 0;
|
51
|
+
}
|
52
|
+
|
53
|
+
.event {
|
54
|
+
border-bottom: 1px solid lesli-css-color(silver, 300);
|
55
|
+
min-height: 100px;
|
56
|
+
|
57
|
+
.date {
|
58
|
+
flex: 0 0 70px;
|
59
|
+
text-align: center;
|
60
|
+
color: lesli-css-color(silver, 900);
|
61
|
+
|
62
|
+
.day-number {
|
63
|
+
font-weight: 700;
|
64
|
+
font-size: 1.2rem;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
.description {
|
69
|
+
line-height: 1.2;
|
70
|
+
font-size: 0.9rem;
|
71
|
+
|
72
|
+
p:nth-child(odd) {
|
73
|
+
margin: 0;
|
74
|
+
font-weight: 700;
|
75
|
+
font-size: 0.9rem;
|
76
|
+
}
|
77
|
+
|
78
|
+
p:nth-child(even):not(:last-child) {
|
79
|
+
margin-bottom: 8px;
|
80
|
+
}
|
81
|
+
|
82
|
+
.lesli-calendar,
|
83
|
+
.lesli-support {
|
84
|
+
padding: 3px 0 3px 18px;
|
85
|
+
border-left: 3px solid lesli-css-color(silver);
|
86
|
+
}
|
87
|
+
|
88
|
+
.lesli-calendar {
|
89
|
+
border-left-color: $driver-color;
|
90
|
+
}
|
91
|
+
|
92
|
+
.lesli-support {
|
93
|
+
border-left-color: $support-color;
|
94
|
+
}
|
95
|
+
|
96
|
+
.cloud-focus-tasks {
|
97
|
+
border-left-color: $focus-color;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
data/lib/scss/application.scss
CHANGED
@@ -30,5 +30,16 @@ Building a better future, one line of code at a time.
|
|
30
30
|
*/
|
31
31
|
|
32
32
|
body.lesli-calendar {
|
33
|
+
@import "./agenda.scss";
|
33
34
|
@import "./calendar.scss";
|
35
|
+
@import "./dashboard.scss";
|
36
|
+
}
|
37
|
+
|
38
|
+
body.lesli-calendar-calendar {
|
39
|
+
@import "./calendar.scss";
|
40
|
+
@import "./agenda.scss";
|
41
|
+
}
|
42
|
+
|
43
|
+
body.lesli-calendar-agenda {
|
44
|
+
@import "./agenda.scss";
|
34
45
|
}
|