Commit eb868e71 authored by Nigel McNie's avatar Nigel McNie
Browse files

Merge branch '0.9_STABLE' of git+ssh://git.catalyst.net.nz/git/public/mahara into 0.9_STABLE

parents 098e0e7d cf4c4195
......@@ -6,6 +6,10 @@ phase. To install, please follow the instructions here:
http://www.mahara.org/wiki/En/Sysadmin_Guide/Installing_Mahara
If you already have a Mahara you wish to upgrade, follow the instructions here:
http://www.mahara.org/wiki/En/Sysadmin_Guide/Upgrading_Mahara
Lots of chat is happening right now in #mahara on freenode. If you have
questions, suggestions or ideas, please join us!
......
mahara (0.9.0~rc2~dev) unstable; urgency=low
mahara (0.9.1~testing) unstable; urgency=low
* Dev version
-- Nigel McNie <nigel@catalyst.net.nz> Fri, 07 Dec 2007 17:39:42 +1300
-- Nigel McNie <nigel@catalyst.net.nz> Tue, 11 Dec 2007 15:22:26 +1300
mahara (0.9.0-1) unstable; urgency=low
* Initial upload to unstable (closes: #447203)
* New upstream release
-- Nigel McNie <nigel@catalyst.net.nz> Tue, 11 Dec 2007 15:06:32 +1300
mahara (0.9.0~rc1-1) unstable; urgency=low
......
......@@ -28,6 +28,6 @@ defined('INTERNAL') || die();
$config = new StdClass;
$config->version = 2007051801;
$config->release = '0.4.0';
$config->release = '0.4.1';
?>
......@@ -430,6 +430,7 @@ class ArtefactTypeEmail extends ArtefactTypeProfileField {
'artefact' => $this->id,
)
);
update_record('usr', (object)array('email' => $this->title, 'id' => $this->owner));
}
}
}
......
......@@ -237,16 +237,34 @@ function settings_submit_delete(Pieform $form, $values) {
$icons = join(',', array_map('intval', $icons));
if ($icons) {
db_begin();
delete_records_select('view_artefact', "artefact IN ($icons)");
delete_records_select('artefact', "
artefacttype = 'profileicon' AND
owner = ? AND
id IN($icons)", array($USER->id));
// Remove all of the images
// Make sure a default is still set if possible. This behaviour will
// change later, see bug #1774
if (in_array($USER->get('profileicon'), explode(',', $icons))) {
if ($ids = get_records_select_array('artefact', "owner = ? AND artefacttype = 'profileicon'", array($USER->get('id')), '', 'id')) {
$USER->profileicon = $ids[0]->id;
}
else {
$USER->profileicon = null;
}
}
db_commit();
// Now all the database manipulation has happened successfully, remove
// all of the images
foreach (explode(',', $icons) as $icon) {
$USER->quota_remove(filesize(get_config('dataroot') . 'artefact/internal/profileicons/originals/' . ($icon % 256) . '/' . $icon));
$USER->commit();
delete_image('artefact/internal/profileicons', $icon);
}
$SESSION->add_ok_msg(get_string('profileiconsdeletedsuccessfully', 'artefact.internal'));
}
else {
......
......@@ -303,7 +303,7 @@ class ArtefactTypePersonalinformation extends ArtefactTypeResume {
$fields = array();
foreach (array_keys(ArtefactTypePersonalInformation::get_composite_fields()) as $field) {
$value = $this->get_composite($field);
if ($field == 'gender' && !empty($field)) {
if ($field == 'gender' && !empty($value)) {
$value = get_string($value, 'artefact.resume');
}
$fields[get_string($field, 'artefact.resume')] = $value;
......
......@@ -824,12 +824,10 @@ function ViewManager() {
placementFunction = partial(placementFunction, node, self.blockPlaceholder);
if (self.movingBlockType) {
dropFunction = function(draggable, node, placeAfter) {
log('after?', placeAfter);
var whereTo = self.getBlockinstanceCoordinates(node);
if (placeAfter) {
whereTo['order'] += 1;
}
log(whereTo);
var pd = {
'id': $('viewid').value,
......
......@@ -200,6 +200,10 @@ function handle_activity($activitytype, $data, $cron=false) {
throw new InvalidArgumentException("Couldn't find view with id " . $data->view);
}
$userid = $view->owner;
// Don't send a message if the view owner submitted the feedback
if ($data->author == $userid) {
$userid = null;
}
$data->subject .= ' ' .$view->title;
if (empty($data->url)) {
// @todo this might change later
......
......@@ -257,7 +257,9 @@ if (ul) {
}
});
}
EOF;
if (empty($element['selectone'])) {
$pagination_js .=<<<EOF
/**
* Manages the problem of changing pages in the artefact chooser losing what
* things were selected/not selected
......@@ -454,6 +456,7 @@ function ArtefactChooserData() {
new ArtefactChooserData();
EOF;
}
return $pagination_js;
}
......
......@@ -554,6 +554,7 @@ function core_install_lastcoredata_defaults() {
if (is_mysql()) { // gratuitous mysql workaround
$newid = insert_record('usr', $user, 'id', true);
set_field('usr', 'id', 0, 'id', $newid);
execute_sql('ALTER TABLE {usr} AUTO_INCREMENT=1');
}
else {
insert_record('usr', $user);
......
......@@ -28,7 +28,7 @@ defined('INTERNAL') || die();
$config = new StdClass;
$config->version = 2007120700;
$config->release = '0.9.0rc2dev';
$config->release = '0.9.1testing';
$config->minupgradefrom = 2007080700;
$config->minupgraderelease = '0.8.0 (release tag 0.8.0_RELEASE)';
$config->disablelogin = false;
......
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Install_Mahara</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">Install_Mahara</td></tr>
</thead><tbody>
<tr>
<td>open</td>
<td>/admin/</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//input[@value='I agree']</td>
<td></td>
</tr>
<tr>
<td>waitForText</td>
<td>//td[@id='coredata']</td>
<td>Successfully installed core data</td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Successfully installed Mahara</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Continue</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Welcome to Mahara</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>login_login_username</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>login_login_username</td>
<td>admin</td>
</tr>
<tr>
<td>type</td>
<td>login_login_password</td>
<td>mahara</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>login_submit</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Change password</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Primary email</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>change_password_password1</td>
<td>password1</td>
</tr>
<tr>
<td>type</td>
<td>change_password_password2</td>
<td>password2</td>
</tr>
<tr>
<td>type</td>
<td>change_password_email</td>
<td>dev@mahara.org</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>change_password_submit</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>The passwords do not match</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>change_password_password2</td>
<td>password1</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>change_password_submit</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Your new password has been saved</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>You are logged in as Admin User (admin)</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
......@@ -6,9 +6,13 @@ using selenium [1].
The test suites are arranged into directories. Each directory has an
'index.html' file that describes the test suite. There are some common tests in
'shared', and the index.html in this directory is automatically generated from
generate-testsuite.sh to include the installer test and then all of the test
suites.
'shared', and the TestSuite.html in this directory is automatically generated
from generate-testsuite.sh to include the installer test and then all of the
test suites.
To quickly set up selenium core so you can run the tests, run the
install-selenium-core.sh script present in this directory. This will set up
selenium core at http://your-mahara-install-path/selenium-core/TestRunner.html.
Writing your own Test Suite
---------------------------
......@@ -50,8 +54,6 @@ TODO
* Make a test suite that runs basic-install then runs some of the major test
suites.
* Handle file uploads.
* A script to set up selenium core and the appropriate symlink so the tests
can be run
[1] http://www.openqa.org/selenium/
......@@ -12,9 +12,6 @@
<tr><td><a href="groups/../shared/Login_Admin.html">Log in as Administrator</a></td></tr>
<tr><td><a href="groups/./Add_New_Group.html">Add New Group</a></td></tr>
<tr><td><a href="groups/../shared/Logout_User.html">Log Administrator Out</a></td></tr>
<tr><td><a href="views/../shared/Login_Admin.html">Log in as Administrator</a></td></tr>
<tr><td><a href="views/./Create_New_View_1.html">Create a New View</a></td></tr>
<tr><td><a href="views/../shared/Logout_User.html">Log Administrator Out</a></td></tr>
<tr><td><a href="profile/../shared/Login_Admin.html">Log in as Administrator</a></td></tr>
<tr><td><a href="profile/./Edit_Goals.html">Edit Goals</a></td></tr>
<tr><td><a href="profile/./Edit_My_Skills.html">Edit My Skills</a></td></tr>
......@@ -23,6 +20,19 @@
<tr><td><a href="profile/./Edit_Resume.html">Edit Resume</a></td></tr>
<tr><td><a href="profile/./Profile_Icon.html">Profile Icon</a></td></tr>
<tr><td><a href="profile/../shared/Logout_User.html">Log Administrator Out</a></td></tr>
<tr><td><a href="sanity/./Login_Logout.html">Log In/Out</a></td></tr>
<tr><td><a href="sanity/../shared/Login_Admin.html">Log in as Administrator</a></td></tr>
<tr><td><a href="sanity/./Random_Clicking.html">Random Clicking</a></td></tr>
<tr><td><a href="sanity/../shared/Logout_User.html">Log Administrator Out</a></td></tr>
<tr><td><a href="sideblocks/../shared/Login_Admin.html">Log in as Administrator</a></td></tr>
<tr><td><a href="sideblocks/./Create_Menuitem.html">Create Menuitem</a></td></tr>
<tr><td><a href="sideblocks/./Verify_Sideblocks.html">Verify Sideblocks</a></td></tr>
<tr><td><a href="sideblocks/./Remove_Menuitem.html">Remove Menuitem</a></td></tr>
<tr><td><a href="sideblocks/../shared/Logout_User.html">Log Administrator Out</a></td></tr>
<tr><td><a href="views/../shared/Login_Admin.html">Log in as Administrator</a></td></tr>
<tr><td><a href="views/./Create_New_View_1.html">Create a New View</a></td></tr>
<tr><td><a href="views/./Delete_View.html">Delete View</a></td></tr>
<tr><td><a href="views/../shared/Logout_User.html">Log Administrator Out</a></td></tr>
</tbody>
</table>
</body>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment