From e76fdcf2a2488b1787c74fe8dccfa38d7ac04c84 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Thu, 3 Jan 2013 17:06:50 +0100 Subject: [PATCH] initial commit --- .gitignore | 39 ++ LICENSE | 661 ++++++++++++++++++ NOTICE | 19 + catalogue/__init__.py | 0 catalogue/admin.py | 7 + catalogue/migrations/0001_initial.py | 74 ++ .../0002_auto__add_field_section_slug.py | 53 ++ ...__chg_field_lesson_student_package__chg.py | 81 +++ catalogue/migrations/__init__.py | 0 catalogue/models.py | 40 ++ catalogue/static/catalogue/css/carousel.css | 66 ++ catalogue/static/catalogue/css/carousel.scss | 81 +++ .../static/catalogue/img/carousel-left.png | Bin 0 -> 2139 bytes .../static/catalogue/img/carousel-right.png | Bin 0 -> 1963 bytes .../catalogue/latest_blog_posts.html | 5 + .../templates/catalogue/lesson_detail.html | 7 + .../templates/catalogue/section_detail.html | 11 + .../templates/catalogue/section_list.html | 15 + .../catalogue/snippets/carousel.html | 17 + .../catalogue/snippets/chosen_topics.html | 6 + .../catalogue/snippets/section_box.html | 19 + .../catalogue/snippets/section_buttons.html | 8 + catalogue/templatetags/__init__.py | 0 catalogue/templatetags/catalogue_tags.py | 57 ++ catalogue/tests.py | 16 + catalogue/urls.py | 12 + catalogue/views.py | 1 + curriculum/__init__.py | 0 curriculum/admin.py | 23 + curriculum/migrations/0001_initial.py | 95 +++ curriculum/migrations/__init__.py | 0 curriculum/models.py | 55 ++ .../curriculum/competence_detail.html | 13 + .../templates/curriculum/competence_list.html | 9 + curriculum/tests.py | 16 + curriculum/urls.py | 7 + curriculum/views.py | 19 + edumed/__init__.py | 0 edumed/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 677 bytes edumed/locale/pl/LC_MESSAGES/django.po | 28 + edumed/settings.d/10-paths.py | 3 + edumed/settings.d/20-basic.py | 33 + edumed/settings.d/30-apps.py | 23 + edumed/settings.d/30-locale.py | 30 + edumed/settings.d/40-auth.py | 5 + edumed/settings.d/40-context.py | 12 + edumed/settings.d/40-logging.py | 28 + edumed/settings.d/40-middleware.py | 22 + edumed/settings.d/50-contrib.py | 2 + edumed/settings.d/50-static.py | 37 + edumed/settings.d/60-custom.py | 0 edumed/settings.py | 14 + edumed/static/css/base.css | 125 ++++ edumed/static/css/base.scss | 153 ++++ edumed/static/css/main.css | 116 +++ edumed/static/css/main.scss | 147 ++++ edumed/static/css/promobox.css | 0 edumed/static/css/promobox.scss | 6 + edumed/static/img/header-bar.png | Bin 0 -> 168 bytes edumed/static/img/icons/activity.png | Bin 0 -> 505 bytes edumed/static/img/icons/announce.png | Bin 0 -> 500 bytes edumed/static/img/icons/knowledge.png | Bin 0 -> 376 bytes edumed/static/img/icons/lesson-plan.png | Bin 0 -> 456 bytes edumed/static/img/icons/reference.png | Bin 0 -> 400 bytes edumed/static/img/icons/reference_active.png | Bin 0 -> 406 bytes edumed/static/img/logo.png | Bin 0 -> 3020 bytes edumed/static/img/logo_fnp.png | Bin 0 -> 1136 bytes edumed/static/img/logosy/mkidn.png | Bin 0 -> 7385 bytes edumed/static/img/logosy/nina.png | Bin 0 -> 5093 bytes edumed/static/img/menu/katalog.png | Bin 0 -> 821 bytes edumed/static/img/menu/katalog_active.png | Bin 0 -> 823 bytes edumed/static/img/menu/kontakt.png | Bin 0 -> 436 bytes edumed/static/img/menu/kontakt_active.png | Bin 0 -> 433 bytes edumed/static/img/menu/lekcje.png | Bin 0 -> 744 bytes edumed/static/img/menu/lekcje_active.png | Bin 0 -> 746 bytes edumed/static/img/menu/o-nas.png | Bin 0 -> 628 bytes edumed/static/img/menu/o-nas_active.png | Bin 0 -> 631 bytes edumed/static/img/menu/szkolenia.png | Bin 0 -> 723 bytes edumed/static/img/menu/szkolenia_active.png | Bin 0 -> 783 bytes edumed/static/img/menu/wesprzyj.png | Bin 0 -> 740 bytes edumed/static/img/menu/wesprzyj_active.png | Bin 0 -> 746 bytes edumed/static/img/menu/wspolpraca.png | Bin 0 -> 603 bytes edumed/static/img/menu/wspolpraca_active.png | Bin 0 -> 626 bytes edumed/static/test.jpg | Bin 0 -> 73876 bytes edumed/static/tlo.png | Bin 0 -> 135706 bytes edumed/templates/404.html | 14 + edumed/templates/500.html | 5 + edumed/templates/base.html | 104 +++ edumed/templates/flatpages/default.html | 7 + edumed/templates/home.html | 51 ++ edumed/urls.py | 33 + edumed/views.py | 0 edumed/wsgi.py | 28 + fabfile.py | 9 + manage.py | 10 + requirements-dev.txt | 2 + requirements.txt | 14 + 97 files changed, 2593 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 NOTICE create mode 100644 catalogue/__init__.py create mode 100755 catalogue/admin.py create mode 100644 catalogue/migrations/0001_initial.py create mode 100644 catalogue/migrations/0002_auto__add_field_section_slug.py create mode 100644 catalogue/migrations/0003_auto__chg_field_lesson_xml_file__chg_field_lesson_student_package__chg.py create mode 100644 catalogue/migrations/__init__.py create mode 100644 catalogue/models.py create mode 100644 catalogue/static/catalogue/css/carousel.css create mode 100755 catalogue/static/catalogue/css/carousel.scss create mode 100644 catalogue/static/catalogue/img/carousel-left.png create mode 100644 catalogue/static/catalogue/img/carousel-right.png create mode 100755 catalogue/templates/catalogue/latest_blog_posts.html create mode 100755 catalogue/templates/catalogue/lesson_detail.html create mode 100755 catalogue/templates/catalogue/section_detail.html create mode 100755 catalogue/templates/catalogue/section_list.html create mode 100755 catalogue/templates/catalogue/snippets/carousel.html create mode 100755 catalogue/templates/catalogue/snippets/chosen_topics.html create mode 100755 catalogue/templates/catalogue/snippets/section_box.html create mode 100755 catalogue/templates/catalogue/snippets/section_buttons.html create mode 100755 catalogue/templatetags/__init__.py create mode 100755 catalogue/templatetags/catalogue_tags.py create mode 100644 catalogue/tests.py create mode 100755 catalogue/urls.py create mode 100644 catalogue/views.py create mode 100644 curriculum/__init__.py create mode 100755 curriculum/admin.py create mode 100644 curriculum/migrations/0001_initial.py create mode 100644 curriculum/migrations/__init__.py create mode 100644 curriculum/models.py create mode 100755 curriculum/templates/curriculum/competence_detail.html create mode 100755 curriculum/templates/curriculum/competence_list.html create mode 100644 curriculum/tests.py create mode 100755 curriculum/urls.py create mode 100644 curriculum/views.py create mode 100644 edumed/__init__.py create mode 100644 edumed/locale/pl/LC_MESSAGES/django.mo create mode 100644 edumed/locale/pl/LC_MESSAGES/django.po create mode 100644 edumed/settings.d/10-paths.py create mode 100644 edumed/settings.d/20-basic.py create mode 100644 edumed/settings.d/30-apps.py create mode 100644 edumed/settings.d/30-locale.py create mode 100644 edumed/settings.d/40-auth.py create mode 100644 edumed/settings.d/40-context.py create mode 100644 edumed/settings.d/40-logging.py create mode 100644 edumed/settings.d/40-middleware.py create mode 100644 edumed/settings.d/50-contrib.py create mode 100644 edumed/settings.d/50-static.py create mode 100644 edumed/settings.d/60-custom.py create mode 100644 edumed/settings.py create mode 100644 edumed/static/css/base.css create mode 100644 edumed/static/css/base.scss create mode 100644 edumed/static/css/main.css create mode 100755 edumed/static/css/main.scss create mode 100644 edumed/static/css/promobox.css create mode 100755 edumed/static/css/promobox.scss create mode 100644 edumed/static/img/header-bar.png create mode 100644 edumed/static/img/icons/activity.png create mode 100644 edumed/static/img/icons/announce.png create mode 100644 edumed/static/img/icons/knowledge.png create mode 100644 edumed/static/img/icons/lesson-plan.png create mode 100644 edumed/static/img/icons/reference.png create mode 100644 edumed/static/img/icons/reference_active.png create mode 100644 edumed/static/img/logo.png create mode 100644 edumed/static/img/logo_fnp.png create mode 100644 edumed/static/img/logosy/mkidn.png create mode 100644 edumed/static/img/logosy/nina.png create mode 100644 edumed/static/img/menu/katalog.png create mode 100644 edumed/static/img/menu/katalog_active.png create mode 100644 edumed/static/img/menu/kontakt.png create mode 100644 edumed/static/img/menu/kontakt_active.png create mode 100644 edumed/static/img/menu/lekcje.png create mode 100644 edumed/static/img/menu/lekcje_active.png create mode 100644 edumed/static/img/menu/o-nas.png create mode 100644 edumed/static/img/menu/o-nas_active.png create mode 100644 edumed/static/img/menu/szkolenia.png create mode 100644 edumed/static/img/menu/szkolenia_active.png create mode 100644 edumed/static/img/menu/wesprzyj.png create mode 100644 edumed/static/img/menu/wesprzyj_active.png create mode 100644 edumed/static/img/menu/wspolpraca.png create mode 100644 edumed/static/img/menu/wspolpraca_active.png create mode 100644 edumed/static/test.jpg create mode 100644 edumed/static/tlo.png create mode 100644 edumed/templates/404.html create mode 100644 edumed/templates/500.html create mode 100644 edumed/templates/base.html create mode 100755 edumed/templates/flatpages/default.html create mode 100755 edumed/templates/home.html create mode 100644 edumed/urls.py create mode 100755 edumed/views.py create mode 100644 edumed/wsgi.py create mode 100644 fabfile.py create mode 100755 manage.py create mode 100644 requirements-dev.txt create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..554bc70 --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +localsettings.py +dev.sqlite +*.db +*.db-journal +*~ +*.orig +*.log + +# Compress output +/static + +# Python garbage +*.pyc +.coverage +pip-log.txt +nosetests.xml +/build +/dist +*.egg-info + +# Mac OS X garbage +.DS_Store + +# Windows garbage +thumbs.db + +# Eclipse +.project +.settings +.pydevproject +.tmp_* + +# Tags file +TAGS + +media +search_index +.sass-cache + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2def0e8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..104c844 --- /dev/null +++ b/NOTICE @@ -0,0 +1,19 @@ + + FNP EduMed + + Copyright © 2012 Fundacja Nowoczesna Polska + + For full list of contributors see AUTHORS file. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . \ No newline at end of file diff --git a/catalogue/__init__.py b/catalogue/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/catalogue/admin.py b/catalogue/admin.py new file mode 100755 index 0000000..ffad76e --- /dev/null +++ b/catalogue/admin.py @@ -0,0 +1,7 @@ +from django.contrib import admin +from .models import Section, Lesson + +admin.site.register(Section) +admin.site.register(Lesson) + + diff --git a/catalogue/migrations/0001_initial.py b/catalogue/migrations/0001_initial.py new file mode 100644 index 0000000..846c559 --- /dev/null +++ b/catalogue/migrations/0001_initial.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Section' + db.create_table('catalogue_section', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('order', self.gf('django.db.models.fields.IntegerField')()), + )) + db.send_create_signal('catalogue', ['Section']) + + # Adding model 'Lesson' + db.create_table('catalogue_lesson', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('section', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['catalogue.Section'])), + ('level', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['curriculum.Level'])), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('slug', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=50)), + ('depth', self.gf('django.db.models.fields.IntegerField')()), + ('order', self.gf('django.db.models.fields.IntegerField')()), + ('xml_file', self.gf('django.db.models.fields.files.FileField')(max_length=100)), + ('package', self.gf('django.db.models.fields.files.FileField')(max_length=100)), + ('student_package', self.gf('django.db.models.fields.files.FileField')(max_length=100)), + ('html_file', self.gf('django.db.models.fields.files.FileField')(max_length=100)), + )) + db.send_create_signal('catalogue', ['Lesson']) + + + def backwards(self, orm): + # Deleting model 'Section' + db.delete_table('catalogue_section') + + # Deleting model 'Lesson' + db.delete_table('catalogue_lesson') + + + models = { + 'catalogue.lesson': { + 'Meta': {'ordering': "['section', 'level', 'depth', 'order']", 'object_name': 'Lesson'}, + 'depth': ('django.db.models.fields.IntegerField', [], {}), + 'html_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['curriculum.Level']"}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'package': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'section': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Section']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'student_package': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'xml_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}) + }, + 'catalogue.section': { + 'Meta': {'object_name': 'Section'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'curriculum.level': { + 'Meta': {'ordering': "['order']", 'object_name': 'Level'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}) + } + } + + complete_apps = ['catalogue'] \ No newline at end of file diff --git a/catalogue/migrations/0002_auto__add_field_section_slug.py b/catalogue/migrations/0002_auto__add_field_section_slug.py new file mode 100644 index 0000000..4b7ef4c --- /dev/null +++ b/catalogue/migrations/0002_auto__add_field_section_slug.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding field 'Section.slug' + db.add_column('catalogue_section', 'slug', + self.gf('django.db.models.fields.SlugField')(default='x', max_length=50), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'Section.slug' + db.delete_column('catalogue_section', 'slug') + + + models = { + 'catalogue.lesson': { + 'Meta': {'ordering': "['section', 'level', 'depth', 'order']", 'object_name': 'Lesson'}, + 'depth': ('django.db.models.fields.IntegerField', [], {}), + 'html_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['curriculum.Level']"}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'package': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'section': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Section']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'student_package': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'xml_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}) + }, + 'catalogue.section': { + 'Meta': {'object_name': 'Section'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'curriculum.level': { + 'Meta': {'ordering': "['order']", 'object_name': 'Level'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}) + } + } + + complete_apps = ['catalogue'] \ No newline at end of file diff --git a/catalogue/migrations/0003_auto__chg_field_lesson_xml_file__chg_field_lesson_student_package__chg.py b/catalogue/migrations/0003_auto__chg_field_lesson_xml_file__chg_field_lesson_student_package__chg.py new file mode 100644 index 0000000..8be90a8 --- /dev/null +++ b/catalogue/migrations/0003_auto__chg_field_lesson_xml_file__chg_field_lesson_student_package__chg.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Changing field 'Lesson.xml_file' + db.alter_column('catalogue_lesson', 'xml_file', self.gf('django.db.models.fields.files.FileField')(max_length=100, null=True)) + + # Changing field 'Lesson.student_package' + db.alter_column('catalogue_lesson', 'student_package', self.gf('django.db.models.fields.files.FileField')(max_length=100, null=True)) + + # Changing field 'Lesson.package' + db.alter_column('catalogue_lesson', 'package', self.gf('django.db.models.fields.files.FileField')(max_length=100, null=True)) + + # Changing field 'Lesson.html_file' + db.alter_column('catalogue_lesson', 'html_file', self.gf('django.db.models.fields.files.FileField')(max_length=100, null=True)) + # Adding unique constraint on 'Section', fields ['title'] + db.create_unique('catalogue_section', ['title']) + + # Adding unique constraint on 'Section', fields ['slug'] + db.create_unique('catalogue_section', ['slug']) + + + def backwards(self, orm): + # Removing unique constraint on 'Section', fields ['slug'] + db.delete_unique('catalogue_section', ['slug']) + + # Removing unique constraint on 'Section', fields ['title'] + db.delete_unique('catalogue_section', ['title']) + + + # User chose to not deal with backwards NULL issues for 'Lesson.xml_file' + raise RuntimeError("Cannot reverse this migration. 'Lesson.xml_file' and its values cannot be restored.") + + # User chose to not deal with backwards NULL issues for 'Lesson.student_package' + raise RuntimeError("Cannot reverse this migration. 'Lesson.student_package' and its values cannot be restored.") + + # User chose to not deal with backwards NULL issues for 'Lesson.package' + raise RuntimeError("Cannot reverse this migration. 'Lesson.package' and its values cannot be restored.") + + # User chose to not deal with backwards NULL issues for 'Lesson.html_file' + raise RuntimeError("Cannot reverse this migration. 'Lesson.html_file' and its values cannot be restored.") + + models = { + 'catalogue.lesson': { + 'Meta': {'ordering': "['section', 'level', 'depth', 'order']", 'object_name': 'Lesson'}, + 'depth': ('django.db.models.fields.IntegerField', [], {}), + 'html_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['curriculum.Level']"}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'package': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'section': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Section']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'student_package': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'xml_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}) + }, + 'catalogue.section': { + 'Meta': {'object_name': 'Section'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'title': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'curriculum.level': { + 'Meta': {'ordering': "['order']", 'object_name': 'Level'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}) + } + } + + complete_apps = ['catalogue'] \ No newline at end of file diff --git a/catalogue/migrations/__init__.py b/catalogue/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/catalogue/models.py b/catalogue/models.py new file mode 100644 index 0000000..ea5dff2 --- /dev/null +++ b/catalogue/models.py @@ -0,0 +1,40 @@ +from django.db import models +from curriculum.models import Level + +class Section(models.Model): + title = models.CharField(max_length=255, unique=True) + slug = models.SlugField(unique=True) + order = models.IntegerField() + + class Meta: + ordering = ['order'] + + def __unicode__(self): + return self.title + +class Lesson(models.Model): + section = models.ForeignKey(Section) + level = models.ForeignKey(Level) + title = models.CharField(max_length=255) + slug = models.SlugField(unique=True) + depth = models.IntegerField() + order = models.IntegerField() + + xml_file = models.FileField(upload_to="catalogue/lesson/xml", + null=True, blank=True) # FIXME: slug in paths + package = models.FileField(upload_to="catalogue/lesson/package", + null=True, blank=True) + student_package = models.FileField(upload_to="catalogue/lesson/student", + null=True, blank=True) + html_file = models.FileField(upload_to="catalogue/lesson/html", + null=True, blank=True) + + class Meta: + ordering = ['section', 'level', 'depth', 'order'] + + def __unicode__(self): + return self.title + + @models.permalink + def get_absolute_url(self): + return ('catalogue_lesson', [self.slug]) diff --git a/catalogue/static/catalogue/css/carousel.css b/catalogue/static/catalogue/css/carousel.css new file mode 100644 index 0000000..7b47a0d --- /dev/null +++ b/catalogue/static/catalogue/css/carousel.css @@ -0,0 +1,66 @@ +#catalogue-carousel { + float: left; + position: relative; + width: 43.75em; + height: 14.688em; + overflow: hidden; + border-radius: 0.938em; } + #catalogue-carousel #catalogue-carousel-links { + width: 28.75em; + height: 14.688em; + list-style: none; + margin: 0; + padding: 0; } + #catalogue-carousel #catalogue-carousel-links li { + display: block; + position: absolute; + top: 0; + left: 0; + background: url(/static/test.jpg); + /* set real background image */ } + #catalogue-carousel #catalogue-carousel-links li a { + display: block; + width: 28.75em; + height: 14.688em; + background-image: url(/static/catalogue/img/carousel-left.png); + background-position: 100% 0; + background-repeat: no-repeat; + background-size: auto 14.688em; + /* left part of mask as background */ } + #catalogue-carousel #catalogue-carousel-switcher { + margin: 0; + padding: 3.125em 0 0 3.625em; + width: 11.375em; + height: 11.563em; + position: absolute; + right: 0; + top: 0; + list-style: none; + border-radius: 0 0.938em 0.938em 0; + background-color: #16a487; + background-image: url(/static/catalogue/img/carousel-right.png); + background-position: 0 0; + background-repeat: no-repeat; + background-size: auto 14.688em; + /* right part of mask as background */ } + #catalogue-carousel #catalogue-carousel-switcher li { + margin-bottom: .9em; + /* TODO: active sprites */ } + #catalogue-carousel #catalogue-carousel-switcher li a { + text-transform: uppercase; + color: #363a3e; + font-size: .9em; + font-weight: bold; } + #catalogue-carousel #catalogue-carousel-switcher li a.active { + color: white; } + #catalogue-carousel #catalogue-carousel-switcher li a:before { + vertical-align: top; + margin-right: 1.5em; } + #catalogue-carousel #catalogue-carousel-switcher li .knowledge:before { + content: url(/static/img/icons/knowledge.png); } + #catalogue-carousel #catalogue-carousel-switcher li .activity:before { + content: url(/static/img/icons/activity.png); } + #catalogue-carousel #catalogue-carousel-switcher li .lesson-plan:before { + content: url(/static/img/icons/lesson-plan.png); } + #catalogue-carousel #catalogue-carousel-switcher li .reference:before { + content: url(/static/img/icons/reference.png); } diff --git a/catalogue/static/catalogue/css/carousel.scss b/catalogue/static/catalogue/css/carousel.scss new file mode 100755 index 0000000..245b691 --- /dev/null +++ b/catalogue/static/catalogue/css/carousel.scss @@ -0,0 +1,81 @@ +$px: .0625em; + +#catalogue-carousel { + float: left; + position: relative; + width: 700*$px; + height: 235*$px; + overflow: hidden; + border-radius: 15*$px; + + #catalogue-carousel-links { + width: 460*$px; + height: 235*$px; + list-style: none; + margin: 0; + padding: 0; + + li { + display: block; + position: absolute; + top: 0; + left: 0; + background: url(/static/test.jpg); /* set real background image */ + + a { + display: block; + width: 460*$px; + height: 235*$px; + background-image: url(/static/catalogue/img/carousel-left.png); + background-position: 100% 0; + background-repeat: no-repeat; + background-size: auto 235*$px; + + /* left part of mask as background */ + } + } + } + #catalogue-carousel-switcher { + margin: 0; + padding: 50*$px 0 0 58*$px; + width: 240*$px - 58*$px; + height: 235*$px - 50*$px; + position: absolute; + right: 0; + top: 0; + list-style: none; + border-radius: 0 15*$px 15*$px 0; + background-color: #16a487; + background-image: url(/static/catalogue/img/carousel-right.png); + background-position: 0 0; + background-repeat: no-repeat; + background-size: auto 235*$px; + + /* right part of mask as background */ + + li { + margin-bottom: .9em; + + a { + text-transform: uppercase; + color: #363a3e; + font-size: .9em; + font-weight: bold; + } + a.active { + color: white; + } + a:before { + vertical-align: top; + margin-right: 1.5em; + } + .knowledge:before {content: url(/static/img/icons/knowledge.png);} + .activity:before {content: url(/static/img/icons/activity.png);} + .lesson-plan:before {content: url(/static/img/icons/lesson-plan.png);} + .reference:before {content: url(/static/img/icons/reference.png);} + /* TODO: active sprites */ + } + } + + +} \ No newline at end of file diff --git a/catalogue/static/catalogue/img/carousel-left.png b/catalogue/static/catalogue/img/carousel-left.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6090bd6a38d9b2b521e2c0f88ea9f697e7acfe GIT binary patch literal 2139 zcmV-h2&DIkP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00+ZKL_t(|+U=cPh*eb>hM%=( z)I=v6XBxG#ES0F#$sf#&D9XC2D76SHDf7aMH0vfJ6se2A5G>es`FsT|&?x!gd9Pq6g<65)R&TZ5fk2RM9Th$o1 zwgWp9j2ovDz~dSvf1J(&egOukF==ZK0WYXAerqNHUxo5|f-uI`R{JqQqjXA~jsvSS zO8z(v2fhKi)R?q2eZYGfC4a32jwu+oz65qE82?OoH6S|px`XgAU_UTOjY(T`79T{?Z9|7#+?a2 zrN)$>3Gb!JC#~jfj5#?I{!oqaTQd>(TEX}S;k}g3#ndQy+7W7u$C?h{cQwYf<_M+p zz10|xHBIXYC*-?!0NWIdza8;}MydQv_$S~DHO8F@uTx|E)?7}h^=Z_YbZxdbjgn^& zep;jCkJE7b_T8<|WILiT##n2n0-w=Okx26L)SnHf7DJmG- z6MjXF@mo`KPdK62wSyYBVktBj+m2YSQS!&B6aPBlsH1dpiQ21Zd99fuBFCkQN+Myi zi7J`eF~jZ!*J zCxDeY`1-9GMrjwdfoe?Jn!^ONflp}GOwhr%{2;ssI7c;c;mlWK{9yWBC!E9z#`c8Q zX?Fb9Tvjehv4d$7k!=db4`-f&@q_6Ukw0VY;Pp2MYfrczYo>_E35}9}5ZZOO2Q9ky;3OC zj!+7IFavZRzU$d@9(cDYi4*+JGN`^G^4>u^BUy3U?uj4a`z1{Awho^R9brj0USQ>AIs* zDA5=rBJGqmT_0EJV`4F8S~XB&0<)yr2gI=BP&e>vwU3LznA>W3P|>%0YXf#u!)e4t zH>Q^w&#f*xm}Rv-u*iFD_S@5q*_e6tJh-U)`JT3?8>=zXsk5hBR4~ixeS#wHGT#mS zOr1+oi)hTf=#?zIGu`ij(e*x8(Tus03L4!pf?3k26cp+DNZOcP}uq(a)WCV|tqb zr3he_H|vQ_j$>3;Pq)a%+|$e_H#xPX?w)Q@jhRl9*XiaJ%<^U*z~nGS-FEIWNR4p^ z-9c)MJJa0-oZswY<;|Fxz`3nBP~N~)yiPZoDA}Iw?pBO1c{65CtDxk@m|E89#$wFm zRzk@Wn1@?^K$C+Qb=eP$s4?l9oy9>-;I_0;x&-_PH6~q|?Y$5>m=#$a*aRG-ruKC6 zY|PzR9^3?KOVfM0c{OGR8SlLiDwyS2zW@_pj4IlDAx2~7XALDdV{Cij8{opMUrT7l zTmg&;;e~_-W@#uEn}A}}L+PuLA!5xEBVm>iU8A(U=PZOdG2Nu9I^%0OTv zIohW?X#tdW;7#Bva#Tr^p|k<712>VgGEIiEfs9r}1qnt(I)Hb8YsqPuCP0~B-;%q? zaU~6gazC&+?@$_MjEIZ^)&VzAkV@(VGDJjHP+FZ(7$`LxBO-%=+kxk)VuSKRg0Vf6 z3BUqMmk%63fy-1dl^<{4b{7E?iKLAE<2&qlGYaSdt^=+IE}^vVQ*>9=`3E0vOHfq% R>G}Ww002ovPDHLkV1h}}+wlMZ literal 0 HcmV?d00001 diff --git a/catalogue/static/catalogue/img/carousel-right.png b/catalogue/static/catalogue/img/carousel-right.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8949bc67ea10300d81c6a56f353d169b7ca240 GIT binary patch literal 1963 zcmV;c2UPfpP)R9e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00$FEL_t(|+U?zMNL^(d!0~&I zZZ{O1)}cbzb#)z4x5nY#`oq?%(q~=l6S_-vhoF%=28n{O;$TEBBtG z=(?^uBwd=Wk1huMu1?SReAo2&a1Y*Kv7l(9tyNdTGYL ze8}uS$`B^B8eH$Fadpns4c)1Z^_N5rv*_}A+D_g6sd#c_DL39<7BNh~y)=L2_3IZ) zy=$xc6FrDfVS<|0Q+eak+8_T-9!vIEsiH)2&P_E`v|l)F)$v4_81EN-9oOrJ``)+m zps2%ybj?|Iwcg=gnlH5a*l3?hK~3v9aQT~Te<+y2;`l1kN$JaNJ-?4t6qI2?y5`Ke za(?&X`r00r`=AP=>H0{)&)=uBj)E;rpz8N#cck|>Qii$q&&Z{&>G5)2`=NNb_J@Ku zvYKmOiSZP-)ji95Q}AJa8Nc@%FIUh!l|s7a+S_z4ThsNeG%*`iO@F7$jwqlf zM$`4d-HkPQcI^*#Vj4&L@7lRP)QRzCHPE;M|>pbKhZAfXE? z3?y{Hgn@=Gm@v@Lg@P|QbU{oEM07!ffrzf{VW6UGdl;zbZp2sH_;1&zECy0%OV26Sx+g8^OcVX&afJq#9fdE<))U9J;@30PFj&!LjW1esnNAF5beV?1j4rb< z*wJMc20OZ}@I{Xx}n8V11Zp>k1LpN4@r9(HSiIEZAn8L`2ZqzWcq8l}gtmsC= zS6XxtjEo4!`khGW5RUoFqOu_za~RnWj_V8QG9esS7?}``_i7;0ARPB) zQe;6m?l7_-oY1A1WI#BfFft&V=ymWizb-o7Mqv!rd(Y)(Qy2*mPU?ETA|sqs7?BZ9 z_6pF#BAoO!!$n0n=`f-qY{}*KMMT(=Fd`zH^yT*-{$z-TaI#^PM?az=Y}ws%L_^rp z8&8RZu%%%{LfGoN{t0s?Z29dFMM2o|FrpyL?q4Onvd>~j&g-`%~^J}-r-)FFQkdt^t9@&{5b2w z=Zl(XVoa8EZmOZ8{laMqW3Ymn*7NSomIqza +{% for post in posts %} +
  • {{ post.title }}
  • +{% endfor %} + \ No newline at end of file diff --git a/catalogue/templates/catalogue/lesson_detail.html b/catalogue/templates/catalogue/lesson_detail.html new file mode 100755 index 0000000..537fe03 --- /dev/null +++ b/catalogue/templates/catalogue/lesson_detail.html @@ -0,0 +1,7 @@ +{% extends "base.html" %} + +{% block title %}{{ object }}{% endblock %} + +{% block body %} +

    {{ object }}

    +{% endblock %} diff --git a/catalogue/templates/catalogue/section_detail.html b/catalogue/templates/catalogue/section_detail.html new file mode 100755 index 0000000..01889ee --- /dev/null +++ b/catalogue/templates/catalogue/section_detail.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} +{% load catalogue_tags %} + +{% block title %}{{ object }}{% endblock %} + +{% block body %} +

    {{ object }}

    + {% section_box object %} + + +{% endblock %} diff --git a/catalogue/templates/catalogue/section_list.html b/catalogue/templates/catalogue/section_list.html new file mode 100755 index 0000000..f05c666 --- /dev/null +++ b/catalogue/templates/catalogue/section_list.html @@ -0,0 +1,15 @@ +{% extends "base.html" %} +{% load catalogue_tags %} + +{% block title %}Lekcje{% endblock %} + +{% block body %} +

    Lekcje

    + + {% for object in object_list %} +

    {{ object }}

    + + {% section_box object %} + {% endfor %} + +{% endblock %} diff --git a/catalogue/templates/catalogue/snippets/carousel.html b/catalogue/templates/catalogue/snippets/carousel.html new file mode 100755 index 0000000..2c0106d --- /dev/null +++ b/catalogue/templates/catalogue/snippets/carousel.html @@ -0,0 +1,17 @@ + + diff --git a/catalogue/templates/catalogue/snippets/chosen_topics.html b/catalogue/templates/catalogue/snippets/chosen_topics.html new file mode 100755 index 0000000..725ba91 --- /dev/null +++ b/catalogue/templates/catalogue/snippets/chosen_topics.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/catalogue/templates/catalogue/snippets/section_box.html b/catalogue/templates/catalogue/snippets/section_box.html new file mode 100755 index 0000000..2d02b86 --- /dev/null +++ b/catalogue/templates/catalogue/snippets/section_box.html @@ -0,0 +1,19 @@ +
      +{% for level, depths in lessons.items %} +
    • +
        + {% for depth, lesson_list in depths.items %} +
      • +
          + {% for lesson in lesson_list %} +
        • + {{ lesson }} +
        • + {% endfor %} +
        +
      • + {% endfor %} +
      +
    • +{% endfor %} +
    \ No newline at end of file diff --git a/catalogue/templates/catalogue/snippets/section_buttons.html b/catalogue/templates/catalogue/snippets/section_buttons.html new file mode 100755 index 0000000..6964726 --- /dev/null +++ b/catalogue/templates/catalogue/snippets/section_buttons.html @@ -0,0 +1,8 @@ +{% load url from future %} + +
      +{% for object in object_list %} + {% url "catalogue_lessons" as lessons_url %} +
    • {{ object }}
    • +{% endfor %} +
    \ No newline at end of file diff --git a/catalogue/templatetags/__init__.py b/catalogue/templatetags/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/catalogue/templatetags/catalogue_tags.py b/catalogue/templatetags/catalogue_tags.py new file mode 100755 index 0000000..23a4066 --- /dev/null +++ b/catalogue/templatetags/catalogue_tags.py @@ -0,0 +1,57 @@ +from django import template +from django.utils.datastructures import SortedDict +from ..models import Section + +register = template.Library() + + +@register.inclusion_tag("catalogue/snippets/carousel.html") +def catalogue_carousel(): + return { + } + +@register.inclusion_tag("catalogue/snippets/section_buttons.html") +def catalogue_section_buttons(): + return { + "object_list": Section.objects.all() + } + +@register.inclusion_tag("catalogue/snippets/chosen_topics.html") +def catalogue_chosen_topics(): + return { + } + +@register.inclusion_tag("catalogue/snippets/section_box.html") +def section_box(section): + lessons = SortedDict() + for lesson in section.lesson_set.all(): + if lesson.level not in lessons: + lessons[lesson.level] = SortedDict() + if lesson.depth not in lessons[lesson.level]: + lessons[lesson.level][lesson.depth] = [] + lessons[lesson.level][lesson.depth].append(lesson) + return { + "lessons": lessons, + } + + +# FIXME: Move to fnpdjango +import feedparser +import datetime +@register.inclusion_tag('catalogue/latest_blog_posts.html') +def latest_blog_posts(feed_url, posts_to_show=5): + try: + feed = feedparser.parse(str(feed_url)) + posts = [] + for i in range(posts_to_show): + pub_date = feed['entries'][i].updated_parsed + published = datetime.date(pub_date[0], pub_date[1], pub_date[2] ) + posts.append({ + 'title': feed['entries'][i].title, + 'summary': feed['entries'][i].summary, + 'link': feed['entries'][i].link, + 'date': published, + }) + return {'posts': posts} + except: + return {'posts': []} diff --git a/catalogue/tests.py b/catalogue/tests.py new file mode 100644 index 0000000..501deb7 --- /dev/null +++ b/catalogue/tests.py @@ -0,0 +1,16 @@ +""" +This file demonstrates writing tests using the unittest module. These will pass +when you run "manage.py test". + +Replace this with more appropriate tests for your application. +""" + +from django.test import TestCase + + +class SimpleTest(TestCase): + def test_basic_addition(self): + """ + Tests that 1 + 1 always equals 2. + """ + self.assertEqual(1 + 1, 2) diff --git a/catalogue/urls.py b/catalogue/urls.py new file mode 100755 index 0000000..649691d --- /dev/null +++ b/catalogue/urls.py @@ -0,0 +1,12 @@ +from django.conf.urls import patterns, include, url +from django.views.generic import DetailView, ListView +from .models import Section, Lesson + +urlpatterns = patterns('', + url(r'^$', + ListView.as_view(model=Section), + name="catalogue_lessons"), + url(r'^(?P[^/]+)/$', + DetailView.as_view(model=Lesson), + name="catalogue_lesson"), +) diff --git a/catalogue/views.py b/catalogue/views.py new file mode 100644 index 0000000..60f00ef --- /dev/null +++ b/catalogue/views.py @@ -0,0 +1 @@ +# Create your views here. diff --git a/curriculum/__init__.py b/curriculum/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/curriculum/admin.py b/curriculum/admin.py new file mode 100755 index 0000000..8d30cf2 --- /dev/null +++ b/curriculum/admin.py @@ -0,0 +1,23 @@ +from django.contrib import admin +from .models import Competence, CompetenceLevel, Level, Section + +class CompetenceLevelInline(admin.TabularInline): + model = CompetenceLevel + +class CompetenceAdmin(admin.ModelAdmin): + model = Competence + list_display = ['name', 'section', 'slug', 'order'] + inlines = [CompetenceLevelInline] + +class LevelAdmin(admin.ModelAdmin): + model = Level + list_display = ['name', 'slug', 'order'] + +class SectionAdmin(admin.ModelAdmin): + model = Section + list_display = ['name', 'slug', 'order'] + + +admin.site.register(Level, LevelAdmin) +admin.site.register(Section, SectionAdmin) +admin.site.register(Competence, CompetenceAdmin) diff --git a/curriculum/migrations/0001_initial.py b/curriculum/migrations/0001_initial.py new file mode 100644 index 0000000..6ac7f4f --- /dev/null +++ b/curriculum/migrations/0001_initial.py @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Section' + db.create_table('curriculum_section', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50)), + ('order', self.gf('django.db.models.fields.IntegerField')()), + )) + db.send_create_signal('curriculum', ['Section']) + + # Adding model 'Competence' + db.create_table('curriculum_competence', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('section', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['curriculum.Section'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50)), + ('order', self.gf('django.db.models.fields.IntegerField')()), + )) + db.send_create_signal('curriculum', ['Competence']) + + # Adding model 'Level' + db.create_table('curriculum_level', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50)), + ('order', self.gf('django.db.models.fields.IntegerField')()), + )) + db.send_create_signal('curriculum', ['Level']) + + # Adding model 'CompetenceLevel' + db.create_table('curriculum_competencelevel', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('competence', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['curriculum.Competence'])), + ('level', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['curriculum.Level'])), + ('description', self.gf('django.db.models.fields.TextField')()), + )) + db.send_create_signal('curriculum', ['CompetenceLevel']) + + + def backwards(self, orm): + # Deleting model 'Section' + db.delete_table('curriculum_section') + + # Deleting model 'Competence' + db.delete_table('curriculum_competence') + + # Deleting model 'Level' + db.delete_table('curriculum_level') + + # Deleting model 'CompetenceLevel' + db.delete_table('curriculum_competencelevel') + + + models = { + 'curriculum.competence': { + 'Meta': {'ordering': "['order']", 'object_name': 'Competence'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'section': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['curriculum.Section']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}) + }, + 'curriculum.competencelevel': { + 'Meta': {'ordering': "['competence', 'level']", 'object_name': 'CompetenceLevel'}, + 'competence': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['curriculum.Competence']"}), + 'description': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'level': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['curriculum.Level']"}) + }, + 'curriculum.level': { + 'Meta': {'ordering': "['order']", 'object_name': 'Level'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}) + }, + 'curriculum.section': { + 'Meta': {'ordering': "['order']", 'object_name': 'Section'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}) + } + } + + complete_apps = ['curriculum'] \ No newline at end of file diff --git a/curriculum/migrations/__init__.py b/curriculum/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/curriculum/models.py b/curriculum/models.py new file mode 100644 index 0000000..399536b --- /dev/null +++ b/curriculum/models.py @@ -0,0 +1,55 @@ +from django.db import models +from django.utils.translation import ugettext_lazy as _ + +class Section(models.Model): + name = models.CharField(_('name'), max_length=255) + slug = models.SlugField(_('slug')) + order = models.IntegerField(_('order')) + + class Meta: + ordering = ['order'] + verbose_name = _('section') + verbose_name_plural = _('sections') + + def __unicode__(self): + return self.name + +class Competence(models.Model): + section = models.ForeignKey(Section) + name = models.CharField(_('name'), max_length=255) + slug = models.SlugField(_('slug')) + order = models.IntegerField(_('order')) + + class Meta: + ordering = ['order'] + verbose_name = _('competence') + verbose_name_plural = _('competences') + + def __unicode__(self): + return self.name + +class Level(models.Model): + name = models.CharField(_('name'), max_length=255) + slug = models.SlugField(_('slug')) + order = models.IntegerField(_('order')) + + class Meta: + ordering = ['order'] + verbose_name = _('educational level') + verbose_name_plural = _('educational levels') + + def __unicode__(self): + return self.name + +class CompetenceLevel(models.Model): + competence = models.ForeignKey(Competence) + level = models.ForeignKey(Level) + description = models.TextField(_('description')) + + class Meta: + ordering = ['competence', 'level'] + verbose_name = _('competence on level') + verbose_name_plural = _('competences on levels') + + def __unicode__(self): + return "%s/%s" % (self.competence, self.level) diff --git a/curriculum/templates/curriculum/competence_detail.html b/curriculum/templates/curriculum/competence_detail.html new file mode 100755 index 0000000..0791c65 --- /dev/null +++ b/curriculum/templates/curriculum/competence_detail.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} + +{% block title %}{{ object }}{% endblock %} + +{% block body %} +

    {{ object }}

    + +{% for cl in object.competencelevel_set.all %} +

    {{ cl }}

    + {{ cl.description }} +{% endfor %} + +{% endblock %} \ No newline at end of file diff --git a/curriculum/templates/curriculum/competence_list.html b/curriculum/templates/curriculum/competence_list.html new file mode 100755 index 0000000..7e50338 --- /dev/null +++ b/curriculum/templates/curriculum/competence_list.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block title %}Katalog kompetencji{% endblock %} + +{% block body %} +

    Katalog kompetencji

    + + +{% endblock %} \ No newline at end of file diff --git a/curriculum/tests.py b/curriculum/tests.py new file mode 100644 index 0000000..501deb7 --- /dev/null +++ b/curriculum/tests.py @@ -0,0 +1,16 @@ +""" +This file demonstrates writing tests using the unittest module. These will pass +when you run "manage.py test". + +Replace this with more appropriate tests for your application. +""" + +from django.test import TestCase + + +class SimpleTest(TestCase): + def test_basic_addition(self): + """ + Tests that 1 + 1 always equals 2. + """ + self.assertEqual(1 + 1, 2) diff --git a/curriculum/urls.py b/curriculum/urls.py new file mode 100755 index 0000000..0fa940a --- /dev/null +++ b/curriculum/urls.py @@ -0,0 +1,7 @@ +from django.conf.urls import patterns, include, url +from .views import CompetenceDetailView, CompetencesView + +urlpatterns = patterns('', + url(r'^$', CompetencesView.as_view(), name='curriculum'), + url(r'^(?P[^/]+)/$', CompetenceDetailView.as_view(), name='curriculum_competence'), +) diff --git a/curriculum/views.py b/curriculum/views.py new file mode 100644 index 0000000..4239f11 --- /dev/null +++ b/curriculum/views.py @@ -0,0 +1,19 @@ +from .models import Competence, Section, Level + + +from django.views.generic import DetailView, ListView + +class CompetenceDetailView(DetailView): + model = Competence + +class CompetencesView(ListView): + model = Competence + + def get_context_data(self, **kwargs): + print 'kwargs', kwargs + context = super(CompetencesView, self).get_context_data(**kwargs) + + queryset = self.get_queryset() + + return context + diff --git a/edumed/__init__.py b/edumed/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/edumed/locale/pl/LC_MESSAGES/django.mo b/edumed/locale/pl/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..bd158445e84edb351902de677fca2161ccd473a2 GIT binary patch literal 677 zcmZvY&u-H|5XQ~Fiw_)-xN(>Zr4_8}4Xp@nTpB`JML4aMy1l{>Z(YakuC==+t<@9n zz>%lm2@v8ncoxQvP&hEsPdod~H>;ib{pkKzhvFXbgxDb-5E0SFN8%xY#0#P#e%x`K zZ*)E;KHPPjZ8~c@N$#S3i>|APF%uw_g$q^7)JZM{RIPNQYFG*_pj4{JWkz)ksS-v$ zvmmZ>V?8IiqlabBD=e&LV|Gxgp7oo8%(I`!cR_Op{ zn2G{M4K50VfyPu(W$Dd3;XtaTnm05JR;n}wdP-+rRqneH%B-dZuteZh0MYRH=&YS* z5Jd-N-rCk4nqxYdj@QF;&v!>kS|RB#Hx&(K#kJk8O3dXR%r8+JVZ*cJkoDKT_RkkW zv$343lr|ke|5I+=xU4mn>`>_|6M(F`s|jE3!72?mWf*dJ13pmsDfjoo9&BuM=^)%` z)6G`)2i%9-+fHvi{ucFc>gjE{&Z*T(BFJ1oBe4_>tr`ESh5h+miv^gbF3>b9mogTA KeZhb1p7RHnDZn8B literal 0 HcmV?d00001 diff --git a/edumed/locale/pl/LC_MESSAGES/django.po b/edumed/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 0000000..ffd5d7b --- /dev/null +++ b/edumed/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,28 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-11-19 15:57+0100\n" +"PO-Revision-Date: 2012-11-19 15:58+0100\n" +"Last-Translator: Radek Czajka \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" + +#: templates/404.html:4 +#: templates/404.html.py:8 +msgid "Page not found" +msgstr "Strona nie znaleziona" + +#: templates/404.html:11 +msgid "The page you were looking for doesn't exist." +msgstr "Strona której szukasz nie została znaleziona." + diff --git a/edumed/settings.d/10-paths.py b/edumed/settings.d/10-paths.py new file mode 100644 index 0000000..b3ef304 --- /dev/null +++ b/edumed/settings.d/10-paths.py @@ -0,0 +1,3 @@ +from os import path + +PROJECT_DIR = path.dirname(path.abspath(path.dirname(__file__))) diff --git a/edumed/settings.d/20-basic.py b/edumed/settings.d/20-basic.py new file mode 100644 index 0000000..3c900c8 --- /dev/null +++ b/edumed/settings.d/20-basic.py @@ -0,0 +1,33 @@ +DEBUG = False +TEMPLATE_DEBUG = DEBUG + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. + 'NAME': path.join(PROJECT_DIR, 'dev.db'), # Or path to database file if using sqlite3. + 'USER': '', # Not used with sqlite3. + 'PASSWORD': '', # Not used with sqlite3. + 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. + 'PORT': '', # Set to empty string for default. Not used with sqlite3. + } +} + +SITE_ID = 1 + +# List of callables that know how to import templates from various sources. +TEMPLATE_LOADERS = ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +# 'django.template.loaders.eggs.Loader', +) + +ROOT_URLCONF = 'edumed.urls' + +# Python dotted path to the WSGI application used by Django's runserver. +WSGI_APPLICATION = 'edumed.wsgi.application' + +TEMPLATE_DIRS = ( + # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". + # Always use forward slashes, even on Windows. + # Don't forget to use absolute paths, not relative paths. +) diff --git a/edumed/settings.d/30-apps.py b/edumed/settings.d/30-apps.py new file mode 100644 index 0000000..c3d067f --- /dev/null +++ b/edumed/settings.d/30-apps.py @@ -0,0 +1,23 @@ +INSTALLED_APPS = ( + 'edumed', + 'curriculum', + 'catalogue', + + 'fnpdjango', + 'south', + 'pipeline', + # Disable, if not using Piwik. + 'piwik.django', + # Disable, if not using CAS. + 'django_cas', + + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'django.contrib.admin', + 'django.contrib.admindocs', + 'django.contrib.flatpages', +) diff --git a/edumed/settings.d/30-locale.py b/edumed/settings.d/30-locale.py new file mode 100644 index 0000000..d77583d --- /dev/null +++ b/edumed/settings.d/30-locale.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +LANGUAGES = ( + ('pl', u'polski'), +# ('en', u'English'), +) + +# Local time zone for this installation. Choices can be found here: +# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name +# although not all choices may be available on all operating systems. +# On Unix systems, a value of None will cause Django to use the same +# timezone as the operating system. +# If running in a Windows environment this must be set to the same as your +# system time zone. +TIME_ZONE = None + +# Language code for this installation. All choices can be found here: +# http://www.i18nguy.com/unicode/language-identifiers.html +LANGUAGE_CODE = 'pl' + +# If you set this to False, Django will make some optimizations so as not +# to load the internationalization machinery. +USE_I18N = True + +# If you set this to False, Django will not format dates, numbers and +# calendars according to the current locale. +USE_L10N = True + +# If you set this to False, Django will not use timezone-aware datetimes. +USE_TZ = True diff --git a/edumed/settings.d/40-auth.py b/edumed/settings.d/40-auth.py new file mode 100644 index 0000000..675db9d --- /dev/null +++ b/edumed/settings.d/40-auth.py @@ -0,0 +1,5 @@ +if 'django_cas' in INSTALLED_APPS: + AUTHENTICATION_BACKENDS = ( + 'django.contrib.auth.backends.ModelBackend', + 'django_cas.backends.CASBackend', + ) diff --git a/edumed/settings.d/40-context.py b/edumed/settings.d/40-context.py new file mode 100644 index 0000000..e161e0b --- /dev/null +++ b/edumed/settings.d/40-context.py @@ -0,0 +1,12 @@ +TEMPLATE_CONTEXT_PROCESSORS = tuple(x for x in ( + "django.contrib.auth.context_processors.auth" + if "django.contrib.auth" in INSTALLED_APPS else None, + "django.core.context_processors.debug", + "django.core.context_processors.i18n", + "django.core.context_processors.media", + "django.core.context_processors.static", + "django.core.context_processors.tz", + "django.contrib.messages.context_processors.messages" + if 'django.contrib.messages' in INSTALLED_APPS else None, + "django.core.context_processors.request" +) if x is not None) diff --git a/edumed/settings.d/40-logging.py b/edumed/settings.d/40-logging.py new file mode 100644 index 0000000..3d91c9c --- /dev/null +++ b/edumed/settings.d/40-logging.py @@ -0,0 +1,28 @@ +# A sample logging configuration. The only tangible logging +# performed by this configuration is to send an email to +# the site admins on every HTTP 500 error when DEBUG=False. +# See http://docs.djangoproject.com/en/dev/topics/logging for +# more details on how to customize your logging configuration. +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse' + } + }, + 'handlers': { + 'mail_admins': { + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.AdminEmailHandler' + } + }, + 'loggers': { + 'django.request': { + 'handlers': ['mail_admins'], + 'level': 'ERROR', + 'propagate': True, + }, + } +} diff --git a/edumed/settings.d/40-middleware.py b/edumed/settings.d/40-middleware.py new file mode 100644 index 0000000..b211d42 --- /dev/null +++ b/edumed/settings.d/40-middleware.py @@ -0,0 +1,22 @@ +MIDDLEWARE_CLASSES = tuple(x for x in ( + 'django.contrib.sessions.middleware.SessionMiddleware' + if "django.contrib.sessions" in INSTALLED_APPS else None, + #'django.middleware.locale.LocaleMiddleware', + 'fnpdjango.middleware.URLLocaleMiddleware', + + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware' + if "django.contrib.auth" in INSTALLED_APPS else None, + 'django_cas.middleware.CASMiddleware' + if "django_cas" in INSTALLED_APPS else None, + 'django.contrib.messages.middleware.MessageMiddleware' + if "django.contrib.messages" in INSTALLED_APPS else None, + 'piwik.django.middleware.PiwikMiddleware' + if "piwik.django" in INSTALLED_APPS else None, + # Uncomment the next line for simple clickjacking protection: + # 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'pagination.middleware.PaginationMiddleware' + if "pagination" in INSTALLED_APPS else None, + 'fnpdjango.middleware.SetRemoteAddrFromXRealIP' +) if x is not None) diff --git a/edumed/settings.d/50-contrib.py b/edumed/settings.d/50-contrib.py new file mode 100644 index 0000000..2210cf1 --- /dev/null +++ b/edumed/settings.d/50-contrib.py @@ -0,0 +1,2 @@ +CAS_SERVER_URL = 'http://logowanie.nowoczesnapolska.org.pl/cas/' +CAS_VERSION = '1' diff --git a/edumed/settings.d/50-static.py b/edumed/settings.d/50-static.py new file mode 100644 index 0000000..5be1fac --- /dev/null +++ b/edumed/settings.d/50-static.py @@ -0,0 +1,37 @@ +MEDIA_ROOT = path.join(PROJECT_DIR, 'media/') +MEDIA_URL = '/media/' +STATIC_ROOT = path.join(PROJECT_DIR, 'static/') +STATIC_URL = '/static/' + +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', +# 'django.contrib.staticfiles.finders.DefaultStorageFinder', +) + +STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage' +PIPELINE_CSS_COMPRESSOR = None +PIPELINE_JS_COMPRESSOR = None +PIPELINE_CSS = { + 'base': { + 'source_filenames': ( + 'css/base.scss', + 'css/main.scss', + 'catalogue/css/carousel.scss', + ), + 'output_filename': 'compressed/base.css', + }, +} +PIPELINE_JS = { + 'base': { + 'source_filenames': ( + ), + 'output_filename': 'compressed/base.js', + }, +} + +PIPELINE_COMPILERS = ( + 'pipeline.compilers.sass.SASSCompiler', +) + +PIPELINE_STORAGE = 'pipeline.storage.PipelineFinderStorage' diff --git a/edumed/settings.d/60-custom.py b/edumed/settings.d/60-custom.py new file mode 100644 index 0000000..e69de29 diff --git a/edumed/settings.py b/edumed/settings.py new file mode 100644 index 0000000..e9b77f0 --- /dev/null +++ b/edumed/settings.py @@ -0,0 +1,14 @@ +import os.path +import glob + +conffiles = glob.glob(os.path.join( + os.path.dirname(__file__), 'settings.d', '*.py')) +conffiles.sort() +for f in conffiles: + execfile(os.path.abspath(f)) + +try: + execfile(os.path.abspath(os.path.join( + os.path.dirname(__file__), 'localsettings.py'))) +except IOError: + pass diff --git a/edumed/static/css/base.css b/edumed/static/css/base.css new file mode 100644 index 0000000..e29f770 --- /dev/null +++ b/edumed/static/css/base.css @@ -0,0 +1,125 @@ +@import url(http://fonts.googleapis.com/css?family=Dosis:400,700&subset=latin,latin-ext); +a { + text-decoration: none; + color: #ed7831; } + a img { + border: 0; + padding: 0; } + +body { + font-family: Dosis; + margin: 0; + background: white; + color: #363a3e; } + +.clr { + clear: both; } + +#header-wrapper { + background-image: url(../img/header-bar.png); + background-repeat: repeat-x; + background-position: 0 100%; } + +header.main { + margin: 0 auto 1.438em; + width: 58.75em; + padding: 1.813em 0.625em 0; } + header.main #logo { + float: left; + margin-bottom: 1.25em; } + header.main #logo img { + vertical-align: middle; } + header.main #organizer { + float: right; + margin-top: 1.3em; } + header.main nav ul { + padding: 0; + position: absolute; + left: 15em; } + header.main nav li { + list-style: none; + display: inline-block; + text-transform: uppercase; + margin: 0 .5em; + text-align: center; + /*position:relative;*/ } + header.main nav a { + color: #ed7831; + display: block; + vertical-align: bottom; + font-size: .85em; } + header.main nav a:hover { + color: #363a3e; } + header.main nav a:before { + display: block; + margin-bottom: .8em; } + header.main nav .menu-lekcje:before { + content: url(../img/menu/lekcje.png); } + header.main nav .menu-kompetencje:before { + content: url(../img/menu/katalog.png); } + header.main nav .menu-wspolpraca:before { + content: url(../img/menu/wspolpraca.png); } + header.main nav .menu-szkolenia:before { + content: url(../img/menu/szkolenia.png); } + header.main nav .menu-wesprzyj:before { + content: url(../img/menu/wesprzyj.png); } + header.main nav .menu-o-nas:before { + content: url(../img/menu/o-nas.png); } + header.main nav .menu-kontakt:before { + content: url(../img/menu/kontakt.png); } + header.main nav .menu-lekcje:hover:before { + content: url(../img/menu/lekcje_active.png); } + header.main nav .menu-kompetencje:hover:before { + content: url(../img/menu/katalog_active.png); } + header.main nav .menu-wspolpraca:hover:before { + content: url(../img/menu/wspolpraca_active.png); } + header.main nav .menu-szkolenia:hover:before { + content: url(../img/menu/szkolenia_active.png); } + header.main nav .menu-wesprzyj:hover:before { + content: url(../img/menu/wesprzyj_active.png); } + header.main nav .menu-o-nas:hover:before { + content: url(../img/menu/o-nas_active.png); } + header.main nav .menu-kontakt:hover:before { + content: url(../img/menu/kontakt_active.png); } + header.main #tagline { + clear: both; + float: left; + background-color: white; + /* Extend padded background .*/ + padding: 0 0.625em; + margin-left: -0.625em; + font-size: .9em; + color: #363a3e; } + header.main #search { + float: right; + padding: 0 0.625em; + background-color: white; + /* Extend padded background .*/ + padding: 0 0.625em; + margin-right: -0.625em; } + +#content { + width: 58.75em; + padding: 0 0.625em; + margin: auto; + position: relative; } + +footer.main { + clear: both; + border-top: 1px solid #c9ccce; + width: 58.75em; + padding: 0.2em 0.625em; + margin: 2.5em auto 0 auto; + color: #9a9c9e; } + footer.main .footer-item { + float: left; + margin-right: 1.25em; + width: 13.75em; } + footer.main .footer-item p { + font-size: .75em; } + footer.main .footer-item-half { + float: left; + margin-right: 1.25em; + width: 6.25em; } + footer.main .footer-item-half p { + font-size: .75em; } diff --git a/edumed/static/css/base.scss b/edumed/static/css/base.scss new file mode 100644 index 0000000..b059890 --- /dev/null +++ b/edumed/static/css/base.scss @@ -0,0 +1,153 @@ +@import url(http://fonts.googleapis.com/css?family=Dosis:400,700&subset=latin,latin-ext); + +$px: .0625em; +$oranji: #ed7831; +$ciemny: #363a3e; +$zielony: #16a487; + + +a { + text-decoration: none; + color: $oranji; + img { + border: 0; + padding: 0; + } +} + +body { + font-family: Dosis; + margin: 0; + background: white; + color: $ciemny; +} +.clr { + clear: both; +} +#header-wrapper { + background-image: url(../img/header-bar.png); + background-repeat: repeat-x; + background-position: 0 100%; +} +header.main { + margin: 0 auto 23*$px; + width: 940*$px; + padding: 29*$px 10*$px 0; + + #header-top { + } + + #logo { + float: left; + margin-bottom: 20*$px; + img { + vertical-align: middle; + } + } + #organizer { + float: right; + margin-top: 1.3em; + } + + + + nav { + ul { + padding: 0; + position: absolute; + left: 15em; + } + li { + list-style: none; + display: inline-block; + text-transform: uppercase; + margin: 0 .5em; + text-align: center; + /*position:relative;*/ + } + a { + color: $oranji; + display: block; + vertical-align: bottom; + font-size: .85em; + + } + a:hover { + color: $ciemny; + } + a:before { + display: block; + margin-bottom: .8em; + } + .menu-lekcje:before { content: url(../img/menu/lekcje.png);} + .menu-kompetencje:before { content: url(../img/menu/katalog.png); } + .menu-wspolpraca:before { content: url(../img/menu/wspolpraca.png);} + .menu-szkolenia:before { content: url(../img/menu/szkolenia.png); } + .menu-wesprzyj:before { content: url(../img/menu/wesprzyj.png);} + .menu-o-nas:before { content: url(../img/menu/o-nas.png); } + .menu-kontakt:before { content: url(../img/menu/kontakt.png); } + .menu-lekcje:hover:before { content: url(../img/menu/lekcje_active.png);} + .menu-kompetencje:hover:before { content: url(../img/menu/katalog_active.png); } + .menu-wspolpraca:hover:before { content: url(../img/menu/wspolpraca_active.png);} + .menu-szkolenia:hover:before { content: url(../img/menu/szkolenia_active.png); } + .menu-wesprzyj:hover:before { content: url(../img/menu/wesprzyj_active.png);} + .menu-o-nas:hover:before { content: url(../img/menu/o-nas_active.png); } + .menu-kontakt:hover:before { content: url(../img/menu/kontakt_active.png); } + + + } + + #tagline { + clear: both; + float: left; + background-color: white; + /* Extend padded background .*/ + padding: 0 10*$px; + margin-left: -10*$px; + font-size: .9em; + color: $ciemny; + } + #search { + float: right; + padding: 0 10*$px; + background-color: white; + /* Extend padded background .*/ + padding: 0 10*$px; + margin-right: -10*$px; + } +} + + +#content { + width: 940 * $px; + padding: 0 10 * $px; + margin: auto; + position: relative; +} + + +footer.main { + clear: both; + border-top: 1px solid #c9ccce; + width: 940 * $px; + padding: .2em 10 * $px; + margin: 40*$px auto 0 auto; + color: #9a9c9e; + + .footer-item { + float: left; + margin-right: 20 * $px; + width: 220 * $px; + p { + font-size: .75em; + } + } + .footer-item-half { + float: left; + margin-right: 20 * $px; + width: 100 * $px; + p { + font-size: .75em; + } + } +} diff --git a/edumed/static/css/main.css b/edumed/static/css/main.css new file mode 100644 index 0000000..27aa707 --- /dev/null +++ b/edumed/static/css/main.css @@ -0,0 +1,116 @@ +#main-promobox { + /*position: absolute; + top: 0; + right: 10 * $px;*/ + float: right; + border-radius: 0.938em; + background: #f8b323; + padding: 1.5em 1.25em; + width: 11.25em; + height: 11.688em; } + #main-promobox h1 { + color: white; + margin: 0; + text-transform: uppercase; + font-size: .9em; } + #main-promobox h1:before { + content: url(/static/img/icons/announce.png); + margin-right: 1.2em; + vertical-align: top; } + #main-promobox h2 { + color: white; + font-size: .9em; + margin: 1.1em 0 0 0; + font-weight: normal; + text-transform: uppercase; } + #main-promobox p { + color: #363a3e; + font-size: .8em; + line-height: 1.15em; + margin: .3em 0; } + +#main-sections { + clear: both; + float: left; + margin-top: 1.1em; + width: 43.75em; } + #main-sections h1 { + font-size: .9em; + margin: 0 0 0 1.6em; + text-transform: uppercase; } + #main-sections ul { + margin: -0.188em 0 0 -1.25em; + padding: 0; + list-style: none; } + #main-sections ul li { + margin-top: 1.25em; + margin-left: 1.25em; + float: left; + width: 10em; + height: 5.625em; + border-radius: 0.938em; + display: table; } + #main-sections ul li a { + display: table-cell; + padding-left: 1.688em; + vertical-align: middle; + height: 100%; + color: white; + text-transform: uppercase; + font-size: .9em; } + #main-sections ul .box1 { + background-color: #adaeaf; } + #main-sections ul .box2 { + background-color: #f8b323; } + #main-sections ul .box3 { + background-color: #16a487; } + #main-sections ul .box4 { + background-color: #5e6165; } + #main-sections ul .box5 { + background-color: #16a487; } + #main-sections ul .box6 { + background-color: #363a3e; } + #main-sections ul .box7 { + background-color: #adaeaf; } + #main-sections ul .box8 { + background-color: #ed7831; } + +#main-chosen { + float: right; + margin-top: 1.1em; + width: 13.75em; } + #main-chosen h1 { + font-size: .9em; + margin: 0 0 0 1.4em; + text-transform: uppercase; } + #main-chosen ul { + margin: 1.063em 0 0 1.4em; + padding: 0; + list-style-position: inside; } + #main-chosen ul li { + font-size: .9em; + text-transform: uppercase; + line-height: 1.25em; } + #main-chosen ul li a { + color: #363a3e; } + +#main-tools { + clear: both; } + #main-tools .main-tools-box { + float: left; + margin-top: 1.5em; + margin-right: 1.25em; + width: 17.5em; } + #main-tools .main-tools-box h1 { + margin: 0; + font-size: .9em; + text-transform: uppercase; } + #main-tools .main-tools-box ul, #main-tools .main-tools-box ol { + margin: 1.1em 0 0 0; + padding: 0; + list-style-position: inside; + color: #ed7831; + font-size: .9em; + line-height: 1.15em; } + #main-tools .main-tools-box ul li a, #main-tools .main-tools-box ol li a { + color: #ed7831; } diff --git a/edumed/static/css/main.scss b/edumed/static/css/main.scss new file mode 100755 index 0000000..56517d9 --- /dev/null +++ b/edumed/static/css/main.scss @@ -0,0 +1,147 @@ +$px: .0625em; + +#main-promobox { + /*position: absolute; + top: 0; + right: 10 * $px;*/ + float: right; + + border-radius: 15*$px; + + background: #f8b323; + padding: 1.5em 20*$px; + width: 220*$px - 2 * 20*$px; + height: 235*$px - 2 * 1.5em; + + h1 { + color: white; + margin: 0; + text-transform: uppercase; + font-size: .9em; + } + h1:before { + content: url(/static/img/icons/announce.png); + margin-right: 1.2em; + vertical-align: top; + } + h2 { + color: white; + font-size: .9em; + margin: 1.1em 0 0 0; + font-weight: normal; + text-transform: uppercase; + } + p { + color: #363a3e; + font-size: .8em; + line-height: 1.15em; + margin: .3em 0; + } +} + + +#main-sections { + clear: both; + float: left; + margin-top: 1.1em; + width: 700*$px; + + h1 { + font-size: .9em; + margin: 0 0 0 1.6em; + text-transform: uppercase; + } + + ul { + margin: -3*$px 0 0 -20*$px; + padding: 0; + list-style: none; + + li { + margin-top: 20*$px; + margin-left: 20*$px; + float: left; + width: 160*$px; + height: 90*$px; + border-radius: 15*$px; + display: table; + + a { + display: table-cell; + padding-left: 27*$px; + vertical-align: middle; + height: 100%; + color: white; + text-transform: uppercase; + font-size: .9em; + } + } + .box1 {background-color: #adaeaf;} + .box2 {background-color: #f8b323;} + .box3 {background-color: #16a487;} + .box4 {background-color: #5e6165;} + .box5 {background-color: #16a487;} + .box6 {background-color: #363a3e;} + .box7 {background-color: #adaeaf;} + .box8 {background-color: #ed7831;} + } +} + +#main-chosen { + float: right; + margin-top: 1.1em; + width: 220*$px; + + h1 { + font-size: .9em; + margin: 0 0 0 1.4em; + text-transform: uppercase; + } + + ul { + margin: 17*$px 0 0 1.4em;; + padding: 0; + list-style-position:inside; + + li { + font-size: .9em; + text-transform: uppercase; + line-height: 1.25em; + + a { + color: #363a3e; + } + } + } +} + +#main-tools { + clear: both; + .main-tools-box { + float: left; + margin-top: 1.5em; + margin-right: 20*$px; + width: 280*$px; + + h1 { + margin: 0; + font-size: .9em; + text-transform: uppercase; + } + + ul, ol { + margin: 1.1em 0 0 0; + padding: 0; + list-style-position:inside; + color: #ed7831; + font-size: .9em; + line-height: 1.15em; + + li { + a { + color: #ed7831; + } + } + } + } +} diff --git a/edumed/static/css/promobox.css b/edumed/static/css/promobox.css new file mode 100644 index 0000000..e69de29 diff --git a/edumed/static/css/promobox.scss b/edumed/static/css/promobox.scss new file mode 100755 index 0000000..836b9c0 --- /dev/null +++ b/edumed/static/css/promobox.scss @@ -0,0 +1,6 @@ +#main-promobox { + h1 { + color: white; + margin: 0; + } +} \ No newline at end of file diff --git a/edumed/static/img/header-bar.png b/edumed/static/img/header-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..9bef3867fcd2d1c19140976d4f9151bb601f6446 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrE!3HEhySY69Qfx`y?k)^c3@Qx9!R@=tK+**s zk;M!Q+`=Ht$S`Y;1W=H@#M9T6{SFU1pSp@{_>E6MA;}Wgh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%A^}eq#}JO|$rhE*?$om>F*5WoU``IrdiWhE$KdJe=d#Wz Gp$Py}>nREV literal 0 HcmV?d00001 diff --git a/edumed/static/img/icons/activity.png b/edumed/static/img/icons/activity.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9f82969a7df17da4c662a9e3d75f09dc1335b8 GIT binary patch literal 505 zcmV200006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru-2np)H!YB%OdS9K02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Ci1L_t(I%cYdjZG%7zhCfgT zK)MCe4Z;K^6SUbNOi<;GwzI7VP-tPC*ssQ$p+Zx!I%&)+^IgNpGN;I$qc2e8cgxvsdGVPJ9 zGF9@<`LK;n)E)2&m8NWrP000sQ1^@s6t}b<;00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru-2np)8vyK2d&U3&02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00CS{L_t(I%e|DrZG%7%Mc+mg zK(qw}cYrI1T|wv|N(bS_&B<+VaS5b?Km}|nSW0Nw~_1|&y**+v(D#-nND;ByC5z$cIbJ7A+`0;dA_D38Ok zKn+-JTsvae05+Nc4yO&*Fa*<9+PL8agm0LrzF0Q`G*zviSQ}>-to9oqnrP4h?=o$7 zp)Xn>_3N_QxUF=55y5J0-2RW|8vt(jhw@BfaRb2JwVNm}&KX^P*>i#L2Ox=nd~{Hr zO(r*y%7ZR&ST(ax0-$C@#_ogztKbN`6FGJOteQdDyR8JifO}y%UTZCOZ-Zn007^A8 z02`pw#;t<<3WG5|k_bNIa5KI<@Fu_QrSUl1R!ai12`0AE)Mwh0Hm(e` q@GLuRT&@<_F_EdWkruD#-1Y+`IEO<2L_hTa0000FdgVmywy*Tu#4Gmm4S~S>hT|;+&tGo0?a`;9QiNSdyBe zP@Y+mq2TW68xY>eCk|Bfz|+Ms#NzbbDF=BE8SuEqujUKT{h-Lw!S6T$qokr0M%-b98 z@J>)Qi_F~2ktjDSDU(s4Oj@JymG3={D_*njO?|NFnbOP2b7K!3;a*lGKgDb<`#q*= zdEIC3znL4J^zNTzxqF&#*n%yU4C*t#pR%6$<9NTQMsC&uzNr&Vai3v+lCF2aT)$vb z=kB P^ecm>tDnm{r-UW|_YH~< literal 0 HcmV?d00001 diff --git a/edumed/static/img/icons/lesson-plan.png b/edumed/static/img/icons/lesson-plan.png new file mode 100644 index 0000000000000000000000000000000000000000..1402d1769707ffbfadcbfaed6651cadfbda75772 GIT binary patch literal 456 zcmV;(0XP1MP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00A&bL_t(I%dM2nO~fz|g};q* z-$*Wilz=NBbdarpPyyuT<8t#2wt~%8Ksq2)V0W-f0hU4sTqaV8l)u$JDT?f|-^_a+ zd&3BV(XYTeD-p})1h@xUWu2E;BL52bS-|xGWN|RM0FJ%NYGvK7xA3H_Yv$O3(R(0^ zL{hV9go?62|gIC143#|YaA z5A_-kx3bX(qo08WCgBBf6WjgHkE&j4QX8&;pqba0000^-a?;3|KDHDVECKKrt!QY#PkPV0{R zJ4H{Q37JJ7T-H3L!MlLjLsLAOt!2PSf5H`pgIggw~4 z;2TScuTI#t+NlQBi}yGBwN?1W%-Vagn9n0kg6#oQOjA4?LyYjh>V^Xn(z}_Qy;}b? z*sgX;yTQ1tz+>eE$z_3&>QhRYB!ab`*ng`t7T-RDzwV9ef4_rFKGr`o^W$daE?5)I zu=l!7>Rs6#%Ne5bzX-nIUbgc#)0f1RtF{^5TALs(e?Zv6rNK4QTr4MPP2`hh?73%! qTg-n2eq4B@ah6NMyvE|*CUJik-$unti#`FvfWgz%&t;ucLK6U->XAMG literal 0 HcmV?d00001 diff --git a/edumed/static/img/icons/reference_active.png b/edumed/static/img/icons/reference_active.png new file mode 100644 index 0000000000000000000000000000000000000000..fa7663a819fac619ef988e556594ab10fe801e18 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRn!3HE-lJ=GZDYhhUcNd2LAh=-f^2tCE&H|6f zVg?3oVGw3ym^DWND9B#o>FdgVmywy*Lc+0Y%15A(WQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEyv_KTj9O5R21GryT4(tRUbje}eVLnUfPW4rp^lq2@MJG! z)jX)0v#rUOeI>(M?gtNqpO-v{aoD8f>{O<*gwgPSecMbyuh~*R*tYFS6#c+ma)9NJ z$dPvq%eoHUyXnih`O-7tjFcPxo!-rt(oQg*3qMsV~#$GvUIgj1`*`nHI2`s;+ey&>^x9aIJ zYilO??316)#Wi?yEeN}n)3|NHENO;?TW0=j*PUOW_u`m#0rS3qTW7px??2=>XR6ut wr}|eCH;ByU@L0;MDi)&8^qJw!{lEhDvy&Vz`%1Z+0Yiep)78&qol`;+08$~DYybcN literal 0 HcmV?d00001 diff --git a/edumed/static/img/logo.png b/edumed/static/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eab7eede26dedf2d0b0f2bf36c71b90d854ba1af GIT binary patch literal 3020 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 O0000; literal 0 HcmV?d00001 diff --git a/edumed/static/img/logo_fnp.png b/edumed/static/img/logo_fnp.png new file mode 100644 index 0000000000000000000000000000000000000000..768436a141e3369347db9dc700eeceee338fcc1c GIT binary patch literal 1136 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 LNkvXXu0mjfowzCM literal 0 HcmV?d00001 diff --git a/edumed/static/img/logosy/nina.png b/edumed/static/img/logosy/nina.png new file mode 100644 index 0000000000000000000000000000000000000000..ddf1e33e49cbaf3f493f15a0c12eb9a530cf8794 GIT binary patch literal 5093 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%0A<_>SR2sHs zVlM`qE}HnftpdEJ@ocbt?9Ce#4{nT_hKA1GPR5BeFNZ`Hgf zC5{9pgkIQO1%!TKVSyUiTNTnG>Ge%m?+;zI(cG!%Fvs6qt%HseYKsXyeEKX!=?5?C zHUb1PQu+i5VhmFSc*k^FU-pDJE$LZC+JrW_Grz_Tl_o0G3!p(B&XZM`!DWCg$cZYqz9jWLA#OTF!sJ0X`gu^A!{n1cFfmrt#s`96P#*~xc*CC!UbJwZr<8Ze5A_w!;VhInGNXW=f6hg!+bU_y<~9&C<_iM6|A(c zbuwvR#FNk;0V9ndoT>N@98}=wgOUtmpUPj(;`?D~PixlC*P4CCo5l65SAfJVG7Uk< za)V}&p5)tt3}b2rx+?@hd_DncdH*`8C_J2~tvidxKB94~_VP6kA?pvLqTCnT0?-wf zC$-qjk?{bg%e~5J5w}wE!f9wMZoMRgo zvJ|~gYMN#_U-iNRT-Tdv*I_~KOmpHB{C8rz)L#B|?$<{u?5@^&Xt|h~s4nJVdM(@z`9CDusf7Rl literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/katalog.png b/edumed/static/img/menu/katalog.png new file mode 100644 index 0000000000000000000000000000000000000000..c4de4a7701d345463a40730ee9140365acd8ccac GIT binary patch literal 821 zcmV-51Iqk~P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Ny!L_t(Y$IX}DaoRu-#(!c| zfIMn|RA5~NfeI`ti0Qz*-5cgjZ#Wg;RDfIoxPntE2o2l}9V9P%WPNi2nVAgP7ld@$ z@9x`g|0rXCd27Z%4Lkr9P((|PKnJ`5ZP~cPC7;;^zzSFc6Fz4xuqqqZeHz$Xvj(2d zIA6){^30l-vT=(+z}}hy*a@YGWmi5mHycOCX)w>-qEgN^#IHL=o9bn4F z&DFg_00ofi5YtN58hICaZzsOfz!B)H?6mXN)WA5RI7R!|TT@GHr{d!To&=VdosIp7r5ER*8!OH(XDmD}Zg{os{kK9vWYTs=bJADe-DAl-O|j9e9xg zJwycspvt42wZK9bdF8Ad7~4uIy#-ot%}Q#12w{=yQ%c^Qqx_O3*T_L;T3{n?WctL9 zl17W3ep(FhSDfkRnriY$fi+NjYqYpX6^1iuq#I73xQ;hXr#A(>kZM);(6=2J!XnW` z-i2;}w^7tt?#sr_fIB(eYG4|r(rP6>?!@Q4-bg0#&~%%4R`S;TR)yt957@U5%d&A< zVs;BnqAeRY%N51p!Nyw?k1C-sjLXLDdz8CO6&exQCLS6_vcpbFTu|mZ7DMQ@@dy(s zm?#qvUzHmEx(@|Jrom3-^hSYv=q!l?>wE8EGf^w-^u!rguBir>A+3_;a5yv0F4Z8| zN=$beRD9oly#0R$`a~Kmub4=#|AhJ1A8mgCbrCz`@3D&800000NkvXXu0mjfJ4|M@ literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/katalog_active.png b/edumed/static/img/menu/katalog_active.png new file mode 100644 index 0000000000000000000000000000000000000000..5768b3c495cb4ad86a82d30e2125e11a184cb5de GIT binary patch literal 823 zcmV-71IYY|P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00N&$L_t(Y$IX|`k=j5Ig+C|- zpuNrsSIvDzO#p@nRz%<>1Bienf?Y=djsOt>5P-_^T~+3!Ga1;I9^5-M0xeZrxGxB4 z)NkhX>mT*#V8*%ukONOZ2Bg7~6HozLplIsyc+F?;3Sb7j0wX?V1+Z-DvidNvvF;U^ zU2wjX-^GPBZ%tj!I{_Q(QeY>PdRq&x zQaK>vJd5 zCw`VRnz!`Rw1dC&LO<73lLQLPf!tW9#YLWCwQhYp!&quwHp2S1bJq%|hW8EKBSbnsCeearJ^-F%ZMn!21Miemp@WvmNF6<-(zO&L!St1A4_YQtDK`X5E#2Hquu?CkREtBSOyfDr# z)F4<$Om`YoeBXb({eK4fNE$3|m`HB_g!$}`w!di8H&4jMM8E(5002ovPDHLkV1lq$ BWRL&= literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/kontakt.png b/edumed/static/img/menu/kontakt.png new file mode 100644 index 0000000000000000000000000000000000000000..6e9fcef4b491d01767b1ac1968974f01c6509cb3 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Eu!3HE}2mdz#Qfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#4i7t@g4!MleMz8@WQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEv^pql~AEV~EG`qtg!d9x@Pcjo%lOYW>y6jiTzV^!6>gCTLJ?JkA9r&}ud7g*dl(!{FQ za8F1?SU%t5vFlQWXY-cj>3(xs60>yKq$f^Gu1$QW>fL%mGs*VW#h8vee3#}}*Rnj! zj6bWpMw4TG`4ztYpXQTK*iLSjSzBt``LR6c^r^(srqFQqYdz4F=V!|;Wk_dSYdbMs ck8ex;sm|vy`?tgy0|S%6)78&qol`;+0FB|Sk^lez literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/kontakt_active.png b/edumed/static/img/menu/kontakt_active.png new file mode 100644 index 0000000000000000000000000000000000000000..c4802e09567cf2b1787a08c405025010c39d7388 GIT binary patch literal 433 zcmV;i0Z#sjP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{009|EL_t(Y$HkVh4Z<)GMPE)C zAhf9{G5}H*z$0W6n1B%wlQ2Rih{OO$P^D%AXbxmW1Y(~Ft{mlj|JlC#a#mLL3OE8w z<{ej{$;zs}{6YK$k$d7>UT18a~fCxttLn&KHQKD7o~!jdYbZXu@xfZDrGE5EJSD>$){wY5HUq8-*z+= zBDRBM%AJ0Lu(YpCEvzvJt9RrEk9nDi=bphs46XG%iQ#up%ZkBHohR&KeIqya^;&{ZT4Fqfg}7 b#ewDlAok!2H8n*z00000NkvXXu0mjfg)*Qh literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/lekcje.png b/edumed/static/img/menu/lekcje.png new file mode 100644 index 0000000000000000000000000000000000000000..3a8865ae94b378671b8f7305e498505c79dcb309 GIT binary patch literal 744 zcmVP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00K}+L_t(Y$HkV>ZQC#qhJP6v zfCd+kCx|#f+zBdA5PO2eZ+bKO#<#c=*qxyA1knamCa5xi0Bz8|`~)rpDJzYE93a4? z`SEziUw6t7*if4Sz#2dS;10kD;0-_zpw-s(h}ck@lAMZgjka!->oWna0UQWVSqtEY zwyq_&C0AVG8UQ~%mkqU108RiZv1kO)@lo7#9oa|)^K-bPwr-ydwQ&GSPIf%iIg!p( zbS=3i!YBqMxi%YW^H-h(Gi<2M3BZ=ay|(T+gL#+Ph4}A+`S#2InB$b|MgXsVoF`6K zG5zGl^I5C35$kYqfRXl8&iFDYRB> zPyi_D1QD(XI3?;qIT^9Gt{-Y+_*|vjx7$zRYnxQU1y~ zHTQox`RTJ^g?WgzG5Jl#_t~p|3E+t}x}5mJym0?R==dWx1`R~r;*QUZeyOd?v~?My z+VJFIO;?ih3_1TQwo|F@0PL>yT^5;>NNY>3zrw9~J<202y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00L4;L_t(Y$Hi9BZKN;|eMA)C z{pE|5{2w9;2v@v|CU02{7naUKVxZPje%TN%1B6H z{5+nS=QmCeSf)8!e!o<0xGn$rr*yUbp(e;wA_Z~wB!Db1Szy!h`l zvb&nne@k_HAx8HLQAxPgSu=!lQz0EstmfWo0LM(1gR|x)as;1*+Iw8@toasoOibiN z>)8T1fP$Prz~uo>F+C_|BX-t|nJ#bWou}tO0^#T60d9!kygrPxjwRsI_zIlJi!?&} zJrP7PVdy036L8-HLFpu2kjVAQ9EL=B1h9#a>p6zYbonDBr9>`o4T(HR^lP>`iCl^z zY#HvB5o|TNMj;!@SufGI2mWn)@Ht}$qJle1=|1*aKujUO3LBkFU0P000~a1^@s6lq3|;00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru+zbZ}BLb^7m^02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00G=dL_t(Y$Gug-af2`rTs#!O zj2f^zKo!L4z^=g1f%)-^{nHOz0i*)s3hY!MItUFgQ3?4RnTtjOoUwB+gmkxed%9JC z3F~ti0oViB0a&uF4!}ErQYdZ4VgwTaF@Uob+_nzDRw&)x4btaw2|xpgtjuo!)>dT( zfD}r1u2|tnh7|)i3Z)Nh?*`z|=kfsHjm}j7UT0TAReaL25lU}IDn0|)&~oLfX5sPO zu$!OE$|OE1rpDU6aNKd=tI=!ay>DyYipKf zgEWlif~3VKIR)!WGaH1o=)|bF+7;3I%BVW|G;B({DgX)l)l$Zh)rVRro%-U0o@rlF zMQNW)Ln`cRa4D3|Sf!mkTY;sx1&JTeJf-Xt055Fs13=AmE4H*P8=;c$cBxRhBcIBux}>LIL(2T~1O!%dQ=xQi-Jr^PHyR4W zXCoC#- zQVO`D_hU5y@GD+;kD5|d<)c;jU!?va#_5XtTs|^(>;fsCNtbytTjm=gD7t)Um7fs+ O0000` literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/o-nas_active.png b/edumed/static/img/menu/o-nas_active.png new file mode 100644 index 0000000000000000000000000000000000000000..2d8d30fd61b680d5a7e80c540db56dab15208127 GIT binary patch literal 631 zcmV--0*L*IP)P000~a1^@s6lq3|;00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru+zbZ}BMm!=g_-~W02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00G}gL_t(Y$Guh2ZG$ineV`1$ zH(!aw08|Xnbb~NKV1qD0lL<==XQ{v6fGvcaj6-WSHcdw1`A z&jDsEPO=EV4!{<`l5GtD-T>4}3OyAgm;p!uoQ>e74FGZ_MSn9$oMcM?p8z5w^DBV0 zQJDttq@);Zu@(~X9jj{ z%#t@q$9O)Hw74Ya$okTGgOC=T7!?<@B3fS1IPdX literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/szkolenia.png b/edumed/static/img/menu/szkolenia.png new file mode 100644 index 0000000000000000000000000000000000000000..da0a1d57d9ebcdffb1f1890d19aa87905bfc0c29 GIT binary patch literal 723 zcmV;^0xbQBP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00KKnL_t(o!_`;IaoaEuebl%B zX3zjrL5K=MR$#dTixt?q;b!ZG8=VSFcc2agR{*60Hh>9B@MV$NAO=l<%6PID3_)P` zaX)XD1y+bt(gLUf+z4%tIXX62CpE3NxeC?-@KSy@fOGD}tCfaZ3d4}Apa_!c9zYMk zP-0D&aF0{625_QBDYPA99=N8pp$jsiYzyF95c^jEN1^RGV%(pt07L=o+2PtL*$8b7 zQ`8f<_oM;v;FL4~4*nj2Em^Ldqe)2UTS933VW;E{fSoZO0y$AQL3$=y+c2!fg81zK zJhQD4zz=fwNM|bV0dldIgV6SIaS}%2ZQ0fUU_Y0fPRU0C;$@a4KjH!Y<%7_+`=~PL zi}!4+&mtnH!lrpTYAsV9(|Xz!OWhX-#8!N4^Ko1MU50 z#$v&=0{~xg8k1A<7a1FcwqH||&;+haHO}2_a;o5klZjKZOfX&s1oV;&fEtrw$$3fu z(X%QttTQH0L>()e8h~|5jtk~Pp49v7W)vAHQlt~w4y%Sz3PtxXjHe8xyad}=Or4Sq zoBhTmiZ}RV`7Z&~neSEs;PJehId>PilV64`!Fb#LV>V>Ww`1hfUK&6+piYb_n}8=| z_=B<<02|T!8B&_aGmBe#k(x9#)jR~l#RT9;{{dr)zBe;g)$QzD`g{NY002ovPDHLk FV1m)RE$#pS literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/szkolenia_active.png b/edumed/static/img/menu/szkolenia_active.png new file mode 100644 index 0000000000000000000000000000000000000000..8d7999273a9277b48f34908ea6b9ad8b0c140575 GIT binary patch literal 783 zcmV+q1MvKbP)&gHC02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00MVOL_t(o!_`+kkJCU9eaWS` z#*%Tlm65ifBhmfc}tP@(aRMl;k?-uB3~vqgloDTlks{Rj`zX4w_js zTAhv8J`^#MWqGqZ^L9SoOn@FDq}mFpehH~&U3Co6Psa3qeJlV@;$s6Sx*i<$G(4p+ zth*{0cuDmZzzRSP;M^KrJ%)RPRAT@e`kYv!%Q_F7(L199lNx0+0MEVH-vPL_Mi({4 z-QE;HEr12vJQh-A*65rmS`oO1Bm?kHNR92nsyklCtVtokm?5+E3MH_Lz6J~ zTo-DbyF2ev1vi{bgj8{W@z^7vn_vLcm~xh!n*b0iRz*4MjKRIYFPoD0@`m}4C-u~y z5kkA6KTw3o+#0>^HIx$i`M)q8GL-TXoYuuuNR_eKuWX}uh$G8?31Hmuw_X5vJTDve zUDlilpNPB(r}8G8G)lzXVZZz7m@i7i2i940YxH&SKcm0_wPH+}c|0*`BA;LnkQcs3 ziMS_Yr}R9d=ahkZV~zgOR_{qj!W{OyB1*((x^3zi{siDv6YoDHzX4-b=YhD?oqqrT N002ovPDHLkV1hw(SHl1R literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/wesprzyj.png b/edumed/static/img/menu/wesprzyj.png new file mode 100644 index 0000000000000000000000000000000000000000..1c3b4c8cf5641e391bb73f6d613c54b997516cd6 GIT binary patch literal 740 zcmVe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00K-&L_t(o!_Al7joLsIg+CAl zSegRDc3@W!)4`?!paS5{Z)D%*El>fZf@}w{6^uK;DZr9T$jfzf<@jd|BeGYru*J;v z@ww;z%!D2*vm^!_{q}CG`^J-OI`Dtw;UnUSHXE__4E$ElOJL5EZ4BU_#=5JL%U1y$ zmsxW0^zi|ljdjHskY$$4fgeCI3-Hkqkb167fqj`J2V>oC#5*>?>sW@Hb{zRpv3lN? zSrQrR)}H%U@>@*GEJ=G9`l1#uv?T7aGD}tx+B#9!#=7&so~`TwILv^{vl7NwcP_Ie zSEX_<$=s*iy^iV>s6v1#vt(XoN#p@KS0Lw7>)ZTAz%LbzH)CBf1zvzf$F=hWn*ulB zCaerr9CaUefW4^ya%0_hfSIwb071Z7#`P`L^aEc4J^Gk5xlLnx*5w2j6792773N4Z-k9 z-S2AW64tb-KTmrHj$I{m_5izE#mKd;rwvU53^j*Ba_B?+6rpB`woukm(4cfx1A?(WHxTgWM4ega&k=FEp<)Z*gh6WkJjdfL-B`-iU zpv7fF!=nHPJuwKY)j%oyD;p1u{{wj8Ijx15H&&{daF50(9y7wFZM>9PySZ~7uDjxT zbkaRQ*k;5@qiJJL9KkwWT^W3Jc-NWkUcgI{NOQ`{dnU2}dTL(r32f>SZUU?cW`6)L W1KFaG;Rb~O0000e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00L4;L_t(o!_8OGjp8s6eIN?( zw|_23E&#~|TgHMw!z}|Nl_BT zo;=UI8ILEp0jcx?z$b2_cGmpBlQ0c@7ZElDo`_k(*du^H?0p5Gz>|?e_?NTh%;fT& z2rs14r$`$Y07qv{n?h15T>$t1(9SX}S^y{`$Cd!zq|!TQ%{Jj5YXC2)9`>zoL6PlS-F2JoIhMg0rRuP$!1AqR z*EW)D3E&FgN?r+89QM2zA$wxq8fVQ<0GK&zIsoSpA~9qIfCEb|;c4~&;Owkfj+iJs zdoMJnx6_dG@Mx9j@y337q>%I4Iq1a!t(H{2_}GSWr;FX1V-jdXubn3$?xlTT!B-m3 z$?klzIXrw|&)eQOg|+nc7l|6ceyk$R9`NpldF0&JQ%};`wL!s=Y zz)5{DDeQVp2YQs~2t1x5l%zh8r9nM zo&9jXE50Tt-2)C=C!92Vq@Fmk?R0%*h}Gd;XS#a{uSg<(m(|?p#Qy84xxyE~G$P!{ cFeV%R0mic2A>Gs#fB*mh07*qoM6N<$f@vT@LI3~& literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/wspolpraca.png b/edumed/static/img/menu/wspolpraca.png new file mode 100644 index 0000000000000000000000000000000000000000..830bcc1f857c8e92a2c00a85f20e54b3d32f7942 GIT binary patch literal 603 zcmV-h0;K(kP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00F~EL_t(Y$JLg>al$YVMW0=P zXH)>B1G|Di2c&}F3IaFZAUEBB3V;eiD!^1AcK|8CGnA0aDx)X{gy9hO0k0ZX78@XZx4R@xi` z0TW;b3{dPIt893+OE%w(x$oqnF1eP07_sdzlo#m`s6mc zkrT%w?GXTRE9ika-BCXji~kmR(>N)kS6`{|-u< zrxv%^&ut68Y|6DOwf6#A#ZHOXv?(_NkUNi-_ki@6(%5V)Ar-cR#B|CxX$>7kt(@;{$z!N@{v>fy1 p(z~x2^CrOPrZKPKlKiW|`5S>w_G1kSfyV#<002ovPDHLkV1l}t{#O71 literal 0 HcmV?d00001 diff --git a/edumed/static/img/menu/wspolpraca_active.png b/edumed/static/img/menu/wspolpraca_active.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b3740b22b124682e81beefcf1709d131aff76a GIT binary patch literal 626 zcmV-&0*(ENP)#`gdK02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00G)bL_t(Y$JLfGQo=wKhQDBA z!wf^YjX0A7#K{4K&Qdx%NoS{=Ks|wQ0`LUl35=!14mrTifX%9ngX0BkUYs=si3^3k zCS>>R&o}SAynO)$Q(@cy4uNB!UD(cm6c}2g=XjV3;}&o#+EHOU1+J~p0`P@3z=roX& z%p9S;RS^=w3*h`G*b>M~YxG40?Fg7US=-yHH`R%g&b~EzQl;kJU!T%?Q$5PrZQ!Wh zR1fd3PxB>^$+9e!Xg}AR>J2!M^Dlu4>@f8_+o4xFtu=9PRTe`;|40Bpti$tScUZ~y=R M07*qoM6N<$f{qIZrvLx| literal 0 HcmV?d00001 diff --git a/edumed/static/test.jpg b/edumed/static/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7fe148c19104c33bba6ff3e9c2778d24565cfbd9 GIT binary patch literal 73876 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 literal 0 HcmV?d00001 diff --git a/edumed/static/tlo.png b/edumed/static/tlo.png new file mode 100644 index 0000000000000000000000000000000000000000..d9cee103b3734c877541d92342e71904dc8a4620 GIT binary patch literal 135706 zcmeFZ^;?x&7d5<*M!Gvy1nF+15s>bdZbZ6Ex|Nm?kZzD}5s;Sd?(VL4?Q_oaUhkjq z{qXH`;bGUk?|ZJf<{Wd3u?bU@mqJ4!Mu9*eXz!%Ol_3x~GYAAR00{v+(&2P`3;u^- zBr7Ejd4m4;y(RxEcm(;Qw3Z_T@*D^H0|QA-BLoj3I=y=@fjEzff`AOhpIeKYj)6 ze*LdS;6I0LQ~nVrl@Kw3gZDQi?Rvp5-295{oa~F?uft?Ja&}sOCsEhSs~CAbkHSUK zFGHsfX=`y#8qR79jcR&VQ&*36<(r$EW|&z2-jqVlK4AUtjyobOyZC=M{a@{<|Gg$I ziG@Y%zlYafq7MAumm~lGFaLid_rEH zB=WvyesAUJDZW#z_C-t8PWfI}yNtOjPjPs)UMD()HqwZ$)$ zlH`9cWIT&7`Q*!NfLOsy=Bqn>&w;e@?{EA+NEO*o<|a|Yd8?ax{A`I{e2RV@Si#w& z#Txcczzf72UVlv*$NzJ+c&sKtZ8AB_g<*AFnDbq3f$C1bx{%lzK1ASF;Aw@pSvk!;zR=j!P~EhR#l*;?eX^i+$v zOvy5qV4g(%&n>$w%s)l`x5mWdyH5{@mdnNA@!rED$MmxAC1H0XHbU-SOXfR8$x!4a zdbgyov;VhvQgupNaDp*85SfLYPNw{*GUg!{9vqdo1FHB;|6K+mVe*dueGbluEEe@$ zM)8aG=wMd($kb6foX3CH70cNSb>RH>SMq|-zE0Wuo$;`H8YUy~2EP;DCR3D13h2w&f3{^T+J&T5Vrw@SFHv z+!p^eXbA`R<1_e&|2fjThHWdd^QxC1)SloV>tBz|u$ONmv^n&?9{G2CkQ3A~SyvQj zvZ31?$O!BG`bCpcTpSK!QM=A7Vn-haHG}kjFVp%Whb9ci6I2S9Qjt@H1sHl z`d-kBii%D>XmcPn?9ZPp$bh@;`EBuZ&6&4@mlRu@=%$92x>(g}Pip^L?U+A0#BZDn znENF49MFj`URrRe>9j1#Vm&iZ!+n;Gvn))F)%w8-pE&MYeBn`+lE$xlNAYnc`Y~

    sQyJfsK{V~jqxT3E*rKd?3?J+4R{!&RE;}`t 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°*oIHpbsc<48c-*;f4B5FD;QFc_w0{BnT$m(S_ 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�WaDXYu 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�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 bt#R{% trans "Page not found" %} + +

    + {% trans "The page you were looking for doesn't exist." %} +

    + +{% endblock %} diff --git a/edumed/templates/500.html b/edumed/templates/500.html new file mode 100644 index 0000000..be751c1 --- /dev/null +++ b/edumed/templates/500.html @@ -0,0 +1,5 @@ +

    Wystąpił błąd serwera.

    + +

    Coś poszło nie tak. Administratorzy zostali już powiadomieni.

    + +

    Przepraszamy!

    diff --git a/edumed/templates/base.html b/edumed/templates/base.html new file mode 100644 index 0000000..c767430 --- /dev/null +++ b/edumed/templates/base.html @@ -0,0 +1,104 @@ + +{% load url from future %} +{% load i18n static %} +{% load fnp_common fnp_share fnp_lang macros %} +{% load compressed static %} + +{% macro title %}{% block title %}{% endblock %}{% endmacro %} +{% macro site_name %}Edukacja medialna{% endmacro %} + + + + {% block full_title %}{% usemacro title %} :: {% usemacro site_name %}{% endblock %} + + {% compressed_css 'base' %} + + + + + + + + + + + + +
    +
    + + + +
    Scenariusze zajęć, ćwiczenia, materiały
    + +
    +
    +
    + +
    {% block body %}{% endblock %}
    + +
    + {# chunks? #} + + + + + +
    +
    + + {% compressed_js 'base' %} + {{ piwik_tag|safe }} + + diff --git a/edumed/templates/flatpages/default.html b/edumed/templates/flatpages/default.html new file mode 100755 index 0000000..b9ce096 --- /dev/null +++ b/edumed/templates/flatpages/default.html @@ -0,0 +1,7 @@ +{% extends "base.html" %} + +{% block title %}{{ flatpage.title }}{% endblock %} + +{% block body %} +{{ flatpage.content }} +{% endblock %} \ No newline at end of file diff --git a/edumed/templates/home.html b/edumed/templates/home.html new file mode 100755 index 0000000..669a365 --- /dev/null +++ b/edumed/templates/home.html @@ -0,0 +1,51 @@ +{% extends "base.html" %} +{% load catalogue_tags %} + +{% block full_title %}Edukacja medialna{% endblock %} + +{% block body %} + +{% catalogue_carousel %} + +
    +

    Co nowego?

    + +

    Tytuł informacji pierwszej

    + +

    Boks na informacje powinien pomieścić do dwóch krótkich zdań ułożonych +w trzech, a może…

    + +

    Tytuł informacji drugiej

    + +

    Boks na informacje powinien pomieścić do dwóch krótkich zdań ułożonych +w trzech wierszach?

    +{#% chunk "promobox" %#} +
    + +
    +

    Działy:

    +{% catalogue_section_buttons %} +
    + +
    +

    Wybrane tematy na:

    +{% catalogue_chosen_topics %} +
    + +
    + +
    +

    Aktualności

    +{% latest_blog_posts "http://nowoczesnapolska.org.pl/feed" 5 %} +
    + +
    +

    Narzędzia

    +
    + +
    +
    + + + +{% endblock %} \ No newline at end of file diff --git a/edumed/urls.py b/edumed/urls.py new file mode 100644 index 0000000..77b9872 --- /dev/null +++ b/edumed/urls.py @@ -0,0 +1,33 @@ +from django.conf.urls import patterns, include, url +from django.conf import settings +from django.views.generic import TemplateView + + +urlpatterns = patterns('', + # Examples: + # url(r'^$', 'edumed.views.home', name='home'), + url(r'^$', TemplateView.as_view(template_name="home.html"), name="home"), + url(r'^kompetencje/', include('curriculum.urls')), + url(r'^lekcje/', include('catalogue.urls')), +# url(r'^i/', include('django.contrib.flatpages.urls')), + url(r'^i/(?P.*)$', 'django.contrib.flatpages.views.flatpage', + name="info"), +) + + +# Admin stuff, if necessary. +if 'django.contrib.admin' in settings.INSTALLED_APPS: + from django.contrib import admin + admin.autodiscover() + + urlpatterns += patterns('', + url(r'^admin/doc/', include('django.contrib.admindocs.urls')), + url(r'^admin/', include(admin.site.urls)), + ) + +# Auth stuff, if necessary +if 'django_cas' in settings.INSTALLED_APPS: + urlpatterns += patterns('', + (r'^accounts/login/$', 'django_cas.views.login'), + (r'^accounts/logout/$', 'django_cas.views.logout'), + ) diff --git a/edumed/views.py b/edumed/views.py new file mode 100755 index 0000000..e69de29 diff --git a/edumed/wsgi.py b/edumed/wsgi.py new file mode 100644 index 0000000..9fb1efd --- /dev/null +++ b/edumed/wsgi.py @@ -0,0 +1,28 @@ +""" +WSGI config for edumed project. + +This module contains the WSGI application used by Django's development server +and any production WSGI deployments. It should expose a module-level variable +named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover +this application via the ``WSGI_APPLICATION`` setting. + +Usually you will have the standard Django WSGI application here, but it also +might make sense to replace the whole Django WSGI application with a custom one +that later delegates to the Django one. For example, you could introduce WSGI +middleware here, or combine a Django application with an application of another +framework. + +""" +import os + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "edumed.settings") + +# This application object is used by any WSGI server configured to use this +# file. This includes Django's development server, if the WSGI_APPLICATION +# setting points here. +from django.core.wsgi import get_wsgi_application +application = get_wsgi_application() + +# Apply WSGI middleware here. +# from helloworld.wsgi import HelloWorldApplication +# application = HelloWorldApplication(application) diff --git a/fabfile.py b/fabfile.py new file mode 100644 index 0000000..30d866b --- /dev/null +++ b/fabfile.py @@ -0,0 +1,9 @@ +from fnpdjango.deploy import * + +env.project_name = 'edumed' +env.hosts = ['giewont.icm.edu.pl'] +env.user = 'edumed' +env.app_path = '/srv/edukacjamedialna.edu.pl' +env.services = [ + DebianGunicorn('edumed'), +] diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..59bd033 --- /dev/null +++ b/manage.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "edumed.settings") + + from django.core.management import execute_from_command_line + + execute_from_command_line(sys.argv) diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..8ab0635 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,2 @@ +fabric>=1.5,<1.6 +ipython diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..98e87d4 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,14 @@ +-i http://pypi.nowoczesnapolska.org.pl/simple + +Django>=1.4,<1.5 +South>=0.7.4 +django-pipeline>=1.2,<1.3 +piwik +#pyScss +#git+git://github.com/Kronuz/pyScss.git@d8f4da23a3c87696a75b3830ed4ab49b75550a93#egg=pyScss +#TODO: pyScss support, for now just install sass + +django_cas>=2.1,<2.2 +fnpdjango<0.2 + +Feedparser \ No newline at end of file -- 2.20.1